import sys tokens = sys.stdin.readline().strip().split() n = int(tokens[0]) m = int(tokens[1]) g = range(n) hist = [] def root(x): global g rootIndex = x while g[rootIndex] != rootIndex: rootIndex = g[rootIndex] g[x] = rootIndex return rootIndex for line in sys.stdin: tokens = line.strip().split() if tokens[0] == '1': a = int(tokens[1]) - 1 b = int(tokens[2]) - 1 rb = root(b) ra = root(a) hist.append(rb) g[rb] = ra elif tokens[0] == '2': count = int(tokens[1]) while count > 0: r = hist.pop() g[r] = r count -= 1 elif tokens[0] == '3': a = int(tokens[1]) - 1 b = int(tokens[2]) - 1 print 1 if root(a) == root(b) else 0