#include <bits/stdc++.h>

typedef long long ll;

using namespace std;

int main() {
	char c;
	ll kc = 1;
	int n, q, t, u, v;
	cin >> n >> q;
	int komponente[n];
	memset(komponente, 0, sizeof(komponente));
	while(q--) {
		cin >> t >> u >> v;
		if(t == 1) {
			cin >> c;
			if(komponente[u] == 0 && komponente[v] == 0) {
				komponente[u] = (komponente[v] = kc);
				kc++;
			} else if(komponente[u] == 0 && komponente[v] != 0) {
				komponente[u] = komponente[v];
			} else if(komponente[v] == 0 && komponente[u] != 0) {
				komponente[v] = komponente[u];
			} else {
				if(komponente[v] != komponente[u]) {
					int a = komponente[v];
					int b = komponente[u];
					kc++;
					for(int i = 0; i < n; i++) {
						if(komponente[i] == a || komponente[i] == b) {
							komponente[i] = kc;	
						}
					}
				}
			}
		} else {
			if(komponente[u] == komponente[v] && komponente[u] != 0) {
				cout << "1\n";
			} else cout << "0\n";
		}
	}
	return 0;
}