给定两个长度为 $n$ 的序列 $a$ 和 $b$,按以下方式生成一个二分图: 该二分图的节点分为两部分:左侧和右侧。两侧各有 $n$ 个节点。当且仅当 $a_i \oplus b_j \geq k$ 时,左侧的第 $i$ 个节点与右侧的第 $j$ 个节点之间存在一条边,其中 $\oplus$ 表示按位异或运算符。 对于范围 $[1, n]$ 内的每个 $x$,输出该二分图中大小为 $x$ 的匹配数量,结果对 $998244353$ 取模。
输入格式
第一行包含两个非负整数 $n, k$ ($1 \leq n \leq 200, 0 \leq k < 2^{60}$)。 第二行包含 $n$ 个非负整数,表示序列 $a$ ($0 \leq a_i < 2^{60}$)。 第三行包含 $n$ 个非负整数,表示序列 $b$ ($0 \leq b_i < 2^{60}$)。
输出格式
输出 $n$ 个非负整数,其中第 $i$ 个整数表示图中大小为 $i$ 的匹配数量,结果对 $998244353$ 取模。
样例
样例输入 1
9 5 1 7 2 8 4 9 2 5 10 1 3 2 4 5 8 8 8 9
样例输出 1
51 1034 10768 62195 200965 348924 294444 97344 7200