Farmer John 有一个长为 的位串(),初始时全部为零。
他将首先按顺序对字符串执行 次更新()。每次更新会翻转从 到 的每个字符。具体地说,翻转一个字符会将其从 变为 ,或反之。
然后,他会进行 次查询()。对于每个查询,他要求你输出由从 到 的子串中的字符组成的长为 的字典序最大子序列。如果你的答案是一个位串 ,则输出 (即将其解释为二进制数时的值)模 的余数。
一个字符串的子序列是可以从中通过删除一些或不删除字符而不改变余下字符的顺序得到的字符串。
我们知道,字符串 的字典序大于长度相等的字符串 ,当且仅当在第一个 的位置 上(如果存在),我们有 。