Bob 是年度摩托车赛组织委员会的成员。他的工作是为比赛地图进行标记。地图上的所有道路都是双向的,并连接两个地点。地图上的每个地点都必须被标记为 普通 (regular) 或 服务 (service),使得任何一个地点与其拥有相同标记的邻居数量不超过 $max$。我们定义 $degree$ 为连接到单个地点的最大道路数(即图的最大度)。那么 $max = \lfloor degree / 2 \rfloor$。你的任务是帮助 Bob。
输入格式
输入第一行包含一个整数 $n$ ($0 < n < 1001$),表示地图上的地点数量。
每个地点用 $0$ 到 $n - 1$ 之间的自然数唯一标识。接下来有 $n$ 行,每行包含一个地点的描述。第 $i$ 行($i = 0, \dots, n-1$)描述地点 $i$,格式如下:
number_of_neighbors: neighbor_1 neighbor_2 ... neighbor_m
输出格式
输出必须包含标记后的地图。格式与输入相同,但在描述每个地点的行首需要加上该地点的标记:0 表示普通地点,1 表示服务地点。
第一行输出地点的数量 $n$。
接下来的 $n$ 行,第 $i$ 行($i = 0, \dots, n-1$)描述地点 $i$,格式如下:
label number_of_neighbors: neighbor_1 neighbor_2 ... neighbor_m
样例
输入样例 1
3 2: 1 2 2: 0 2 2: 0 1
输出样例 1
3 1 2: 1 2 0 2: 0 2 0 2: 0 1
说明
样例描述了一个包含 3 个地点的地图,这些地点两两相连。输入的第一行包含地点的数量。接下来的行包含地点的描述。例如,行 2: 1 2 代表标识为 $0$ 的地点,它有 $2$ 个邻居,标识分别为 $1$ 和 $2$。在输出中,行 1 2: 1 2 代表地点 $0$ 的标记为 $1$。