渐渐地,Magic Land 上的人们对那座岛屿上的各种现象有了深入的了解。
为了分析一种奇特的称为梦想封印(Fantasy Seal)的特技,需要引入如下的概念:
每一位魔法的使用者都有一个「魔法脉络」,它决定了可以使用的魔法的种类。
一般地,一个「魔法脉络」可以看作一个无向图,有 个结点及 条边,将结点编号为 ,其中有一个结点是特殊的,称为核心(Kernel),记作 号结点。每一条边有一个固有(即生成之后再也不会发生变化的)权值, 是一个不超过 的自然数。
每一次魔法驱动,可看作是由核心(Kernel)出发的一条有限长的道路(Walk),可以经过一条边多次,所驱动的魔法类型由以下方式给出:
将经过的每一条边的权值异或(xor)起来,得到 。
如果 是 ,则驱动失败,否则将驱动编号为 的魔法(每一个正整数编号对应了唯一一个魔法)。
需要注意的是,如果经过了一条边多次,则每一次都要计入 中。
这样,魔法脉络决定了可使用魔法的类型,当然,由于魔法与其编号之间的关系尚未得到很好的认知,此时人们仅仅关注可使用魔法的种类数。
梦想封印可以看作是对「魔法脉络」的破坏:
该特技作用的结果是,「魔法脉络」中的一些边逐次地消失。
我们记总共消失了 条边,按顺序依次为 。
给定了以上信息,你要计算的是梦想封印作用过程中的效果,这可以用 个自然数来描述:
为初始时可以使用魔法的数量。
为 被破坏(即边被删去)后可以使用魔法的数量。
为 及 均被破坏后可使用魔法的数量。
为 全部被破坏后可以使用魔法的数量。