{"raw_statement":[{"iden":"statement","content":"现有一个包含 $n$ 块挡板的旧弹球机。\n\n游戏在二维平面内进行，其中每块挡板与坐标轴所夹锐角总为 $45^\\circ$，长度为 $1$ 个单位。挡板用其中心坐标 $(x_i,y_i)$ 和字符 / 或 \\ 来表示。小球在碰到挡板后，其运动方向将会旋转 $90^\\circ$。注意，挡板的两面都可使小球的运动方向发生偏转。\n\n不难发现，当小球处于弹球机中时，它只有两种结局：\n\n- 沿着某一方向一直运动下去而不碰到挡板\n- 处于若干个挡板的循环之中\n\n在翻新弹球机的过程中，有四种颜色的染料可供选择。现要将弹球机中的每个挡板进行染色，使得**每一个**循环内经过每一种颜色的次数相同且为偶数。\n\n请给出一种符合题意的染色方式，或证明这样的染色方式不存在。如果不存在，输出 `-1`。"},{"iden":"input","content":"第一行一个正整数 $n$，表示挡板的数量。\n\n接下来的 $n$ 行，每行两个正整数 $x_i,y_i$ 和一个字符 $c_i$（/ 或 \\），表示一个挡板。数据保证，挡板的位置不会相互重合。"},{"iden":"output","content":"如果不存在符合题意的染色方式，输出 `-1`。\n\n否则输出 $n$ 个整数 $1 \\sim 4$，表示 $n$ 个挡板所选择的染料颜色。如果有多种符合题意的方式，输出任意一种。"},{"iden":"note","content":"**【样例 2 图解】**\n\n![](https://cdn.luogu.com.cn/upload/image_hosting/ksajf2n4.png)\n\n**【数据规模与约定】**\n\n**本题采用捆绑测试。**\n\n- Subtask 1（20 pts）：$1 \\le n \\le 40$。\n- Subtask 2（20 pts）：最多存在一个循环。\n- Subtask 3（70 pts）：无特殊限制。\n\n对于 $100\\%$ 的数据，$1 \\le n \\le 5 \\times 10^5$，$0 \\le |x_i|,|y_i| \\le 10^9$。\n\n**【说明】**\n\n本题采用自行编写的 [Special Judge](https://www.luogu.com.cn/paste/g6cdziry)。如果对此有疑问或想要 hack，请[私信编写者](https://www.luogu.com.cn/chat?uid=137367)或[发帖](https://www.luogu.com.cn/discuss/lists?forumname=P8326)。\n\n**【来源】[COCI 2021-2022#5](https://hsin.hr/coci/archive/2021_2022/contest5_tasks.pdf) Task 3 Fliper。**"}],"translated_statement":null,"sample_group":[["4\n1 1 \\\n3 1 /\n3 2 \\\n1 2 /","-1"],["9\n1 2 \\\n1 3 /\n2 1 \\\n2 2 \\\n2 3 \\\n3 1 /\n3 2 \\\n4 2 /\n4 3 \\","1 3 2 4 1 3 2 4 1"],["12\n1 2 \\\n1 3 /\n2 1 \\\n2 2 \\\n2 3 \\\n2 4 /\n3 1 /\n3 2 \\\n3 3 \\\n3 4 \\\n4 2 /\n4 3 \\","1 3 2 4 2 4 1 3 1 3 2 4"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}