{"raw_statement":[{"iden":"statement","content":"给你一个长度为 $n$ 的 $\\texttt{01}$ 序列，下标为 $1,2,\\dots,n$。最初每个字符都代表了一个长度为 $1$ 的字符串。在一次连接中，需要选择两个字符串 $a$ 和 $b$，将它们删除后，换为字符串 $ab$，即在写下 $a$ 中的所有字符后写下字符串 $b$ 的所有字符。\n\n这 $n$ 个初始字符串需要用 $n-1$ 次连接操作连成一个字符串。第 $i$ 次选择的字符串用一个下标对 $(a_i,b_i)$ 描述，表示要连接的字符串是包含下标为 $a_i$ 的字符的和包含下标为 $b_i$ 的字符的。保证下标为 $a_i$ 和 $b_i$ 的字符不在同一字符串中。\n\n一些字符串 $w$ 的回文值被定义为 $w$ 中不同回文子串的个数。我们定义回文串为从左到右读和从右到左读相同的字符串。一个字符串的子串被定义为可以从字符串开头和（或）结尾开始删去一个或多个字符得到的字符串。\n\n对于每次连接操作，输出每次连成的字符串的回文值。"},{"iden":"input","content":"第一行包含一个整数 $n$，表示字符个数。\n\n第二行一个长度为 $n$ 的 $01$ 字符串，表示初始字符串。\n\n接下来 $n-1$ 行，每行两个整数 $a_i$，$b_i$，表示第 $i$ 次连接操作。"},{"iden":"output","content":"输出 $n-1$ 行，表示每次连接操作得到的字符串的回文值。"},{"iden":"note","content":"### 样例解释3：\n在每个连接之后新创建的字符串是： $\\tt 00, 10,00, 100, 1000,001000 $ 和 $\\tt 00100010$。\n\n它们各自的回文值在样例输出中给出。例如 $\\tt 00100010$ 的回文值是 $8$，因为字符串包含$8$回文子字符串： $\\tt 0, 00, 000, 10001,0100010, 1010$ 和 $00100$。\n\n\n### 数据范围：\n\n对于 $9\\%$ 的数据：$1\\le n\\le100$\n\n对于 $18\\%$ 的数据：$1\\le n\\le1000$\n\n对于 $27\\%$ 的数据：$a_i = 1, b_i = i + 1$\n\n对于 $100\\%$ 的数据：$1\\le n\\le10^5$，$1\\le a_i, b_i\\le n$\n\n本题分值与 [COCI 2021-2022#6](https://hsin.hr/coci/contest6_tasks.pdf) 分值相同，满分 $110$ 分"}],"translated_statement":null,"sample_group":[["3\n010\n1 2\n2 3","2\n3"],["5\n00111\n4 1\n1 5\n2 1\n3 1","2\n3\n4\n5\n"],["8\n10010000\n7 5\n4 2\n3 6\n1 3\n6 8\n5 3\n1 2","2\n2\n2\n3\n4\n6\n8\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}