output_description: Print N integers. The i-th of them should represent the number of the cities
  connected to the i-th city by both roads and railways.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N K L
      p_1 q_1
      :
      p_K q_K
      r_1 s_1
      :
      r_L s_L
attempt: from collections import defaultdict as dd
  import queue
  
  N, K, L = map(int, input().split())
  PQ = [tuple(map(int, input().split())) for _ in range(K)]
  RS = [tuple(map(int, input().split())) for _ in range(L)]
  
  road = [[] for _ in range(N)]
  railroad = [[] for _ in range(N)]
  for p, q in PQ:
      road[p - 1].append(q - 1)
      road[q - 1].append(p - 1)
  for r, s in RS:
      railroad[r - 1].append(s - 1)
      railroad[s - 1].append(r - 1)
  
  uf_road = [0] * N
  uf_railroad = [0] * N
  idx_road = 1
  idx_railroad = 1
  # 連結判定
  for i in range(N):
      if uf_road[i] == 0:
          q = queue.Queue()
          q.put(i)
          while not q.empty():
              now_node = q.get()
              print(now_node)
              uf_road[now_node] = idx_road
              for target in road[now_node]:
                  road[target].remove(now_node)
                  q.put(target)
              road[now_node] = []
          idx_road += 1
      if uf_railroad[i] == 0:
          q = queue.Queue()
          q.put(i)
          while not q.empty():
              now_node = q.get()
              uf_railroad[now_node] = idx_railroad
              for target in railroad[now_node]:
                  railroad[target].remove(now_node)
                  q.put(target)
              railroad[now_node] = []
          idx_railroad += 1
  dic = dd(int)
  # print(uf_road)
  # print(uf_railroad)
  for i, j in zip(uf_road, uf_railroad):
      dic[(i, j)] += 1
  res = [dic[(i, j)] for i, j in zip(uf_road, uf_railroad)]
  print(*res)
  
problem_description: Statement
  
  There are N cities. There are also K roads and L railways, extending between
  the cities. The i-th road bidirectionally connects the p_i-th and q_i-th
  cities, and the i-th railway bidirectionally connects the r_i-th and s_i-th
  cities. No two roads connect the same pair of cities. Similarly, no two
  railways connect the same pair of cities.
  
  We will say city A and B are _connected by roads_ if city B is reachable from
  city A by traversing some number of roads. Here, any city is considered to be
  connected to itself by roads. We will also define _connectivity by railways_
  similarly.
  
  For each city, find the number of the cities connected to that city by both
  roads and railways.
samples: [{"input": "4 3 1\n    1 2\n    2 3\n    3 4\n    2 3", "output": "1 2 2 1\n    \n\nAll the four cities are connected to each other by roads.\n\nBy railways, only the second and third cities are connected. Thus, the answers\nfor the cities are 1, 2, 2 and 1, respectively.\n\n* * *"}, {"input": "4 2 2\n    1 2\n    2 3\n    1 4\n    2 3", "output": "1 2 2 1\n    \n\n* * *"}, {"input": "7 4 4\n    1 2\n    2 3\n    2 5\n    6 7\n    3 5\n    4 5\n    3 4\n    6 7", "output": "1 1 2 1 2 2 2"}]