#P10962. [2015杭电多校]Group

[2015杭电多校]Group

Group

Problem Description

soda has a computer network consisting of n nodes numbered 1 through n. There are links in the network that connect pairs of nodes. A pair of nodes may have multiple links between them, but no node has a link to itself. A link can only transmit in a single direction. For two nodes xx and yy, if both xx and yy can transmit to each other (perhaps through some intermediate nodes), then xx and yy are in the same group. soda wants to increase the number of groups in the network by deleting a link. You need to tell him which link can be deleted.

Input

There are multiple test cases. The first line of input contains an integer TT, indicating the number of test cases. For each test case: The first contains two integer nn and mm (1n105,1m2×105)(1 \le n \le 10^5, 1 \le m \le 2 \times 10^5), the number of nodes and the number links. Next mm lines contain two integers each, uiu_i and viv_i (1ui,vin,uivi)(1 \le u_i,v_i \le n, u_i \ne v_i), indicating there is a link between nodes uiu_i and viv_i and the direction is from uiu_i to viv_i.

Output

For each test case, output binary string of length mm. The ii-th character is '1' if soda can delete ii-th link to increase the number of groups, otherwise the ii-th character is '0'.

Sample Input

1
3 4
1 2
2 3
3 1
2 1

Sample Output

1110

Hint

If you need a larger stack size, please use #pragma comment(linker, "/STACK:102400000,102400000") and submit your solution using C++.

Author

zimpha@zju

Source

2015 Multi-University Training Contest 6