input: from typing import List
  from itertools import pairwise
  def manage_queries(queries: List[List[int]]) -> List[bool]:
      """
      Imagine an infinite number line starting at 0 and extending towards the positive direction.
  
      You are given a 2D list of queries, which includes two different types of commands:
  
      1.For a type 1 query, queries[i] = [1, x]. Position an obstacle at distance x from the origin. It's guaranteed there's no obstacle at x when the query is made.
      2.For a type 2 query, queries[i] = [2, x, sz]. Verify whether a block of size sz can be placed anywhere within the interval [0, x] without intersecting any obstacle. The block can touch obstacles but not intersect. Note that you do not actually place the block. Queries are independent of each other.
      Return a boolean list results, where results[i] is true if the block in the ith query of type 2 can be placed as described, and false otherwise.
  
      Examples:
      >>> queries = [[1,2],[2,3,3],[2,3,1],[2,2,2]]
      [false,true,true]
      >>> queries = [[1,7],[2,7,6],[1,2],[2,7,5],[2,7,6]]
      [true,true,false]
  
      Constraints:
      1 <= queries.length <= 150000
      2 <= queries[i].length <= 3
      1 <= queries[i][0] <= 2
      1 <= x, sz <= min(50000, 3 * queries.length)
      The input is designed such that for type 1 queries, no obstacle exists at distance x when the query is issued.
      The input is designed such that there is at least one type 2 query.
      """
output:     obstacles = set()
      results = []
  
      for query in queries:
          if query[0] == 1:
              obstacles.add(query[1])
          elif query[0] == 2:
              x, sz = query[1], query[2]
              can_place = True
  
              for start in range(max(0, x - sz + 1), x + 1):
                  if all(pos not in obstacles for pos in range(start, start + sz)):
                      results.append(True)
                      break
              else:
                  results.append(False)
  
      return results