#include <bits/stdc++.h>
#define ll long long
#define go ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
using namespace std;
int const N = 2e5 + 10;
void dfs(int s, vector<int> adj[], int color[], int c)
{
color[s] = c;
for (int i : adj[s])
{
if (color[i] == 0)
{
dfs(i, adj, color, c);
}
}
}
void solve()
{
int n, m, q;
cin >> n >> m >> q;
vector<int> adj[n + 1];
int color[n + 1];
for (int i = 0; i <= n; i++)
{
color[i] = 0;
}
for (int i = 0; i < m; i++)
{
int u, v;
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
char ans[q];
for (int i = 1; i <= n; i++)
{
if (color[i] == 0)
{
dfs(i, adj, color, i);
}
}
for (int i = 0; i < q; i++)
{
int u, v;
cin >> u >> v;
ans[i] = (color[u] == color[v]) + '0';
}
for (char c : ans)
{
cout << c;
}
}
int main()
{
int t = 1;
cin >> t;
// go;
while (t--)
{
solve();
cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZ28gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCksIGNvdXQudGllKDApCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY29uc3QgTiA9IDJlNSArIDEwOwp2b2lkIGRmcyhpbnQgcywgdmVjdG9yPGludD4gYWRqW10sIGludCBjb2xvcltdLCBpbnQgYykKewogICAgY29sb3Jbc10gPSBjOwogICAgZm9yIChpbnQgaSA6IGFkaltzXSkKICAgIHsKICAgICAgICBpZiAoY29sb3JbaV0gPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGRmcyhpLCBhZGosIGNvbG9yLCBjKTsKICAgICAgICB9CiAgICB9Cn0Kdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuLCBtLCBxOwogICAgY2luID4+IG4gPj4gbSA+PiBxOwogICAgdmVjdG9yPGludD4gYWRqW24gKyAxXTsKICAgIGludCBjb2xvcltuICsgMV07CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgY29sb3JbaV0gPSAwOwogICAgfQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspCiAgICB7CiAgICAgICAgaW50IHUsIHY7CiAgICAgICAgY2luID4+IHUgPj4gdjsKICAgICAgICBhZGpbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGFkalt2XS5wdXNoX2JhY2sodSk7CiAgICB9CiAgICBjaGFyIGFuc1txXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBpZiAoY29sb3JbaV0gPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGRmcyhpLCBhZGosIGNvbG9yLCBpKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IgKGludCBpID0gMDsgaSA8IHE7IGkrKykKICAgIHsKICAgICAgICBpbnQgdSwgdjsKICAgICAgICBjaW4gPj4gdSA+PiB2OwogICAgICAgIGFuc1tpXSA9IChjb2xvclt1XSA9PSBjb2xvclt2XSkgKyAnMCc7CiAgICB9CiAgICBmb3IgKGNoYXIgYyA6IGFucykKICAgIHsKICAgICAgICBjb3V0IDw8IGM7CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgaW50IHQgPSAxOwogICAgY2luID4+IHQ7CiAgICAvLyBnbzsKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==