イベント会場では合計 $n$ 個のブラインドボックスが順次陳列され、それぞれの背後には隠された数字 $a_1, a_2, \dots, a_n$ があります。
抽選において、現在台の上に前 $k$ 個のブラインドボックスが展示されている場合、参加者はその中から偶数個のブラインドボックスを選び(元の数列における添字を $1 \le i_1 < i_2 < \dots < i_{2t} \le k$ とする)、それらを元の順序に従って $t$ 組のペア $(a_{i_1}, a_{i_2}), (a_{i_3}, a_{i_4}), \dots, (a_{i_{2t-1}}, a_{i_{2t}})$ に分けることができます。選ばれた任意のペアについて、背後の隠された数字をそれぞれ $x$ と $y$ とすると、賞品を交換するための条件は、$x$ と $y$ のビット単位の排他的論理和(XOR)の結果が、小Tが事前に設定した幸運閾値 $m$ 未満であることです。この条件を満たす各ペアは有効なペアとみなされ、1つの賞品と交換できます。
熱心な参加者であるあなたもこの抽選を体験しましたが、残念ながら選んだブラインドボックスはどれも交換条件を満たしませんでした。運の悪いあなたを慰めるため、小Sはあなたに挑戦を持ちかけました。もし彼女が出した問題に正しく答えることができれば、彼女はあなたに特別な10周年記念大賞を直接プレゼントします。
小Sの問題は以下の通りです:各 $k \in [1, n]$ について、台の上にちょうど前 $k$ 個のブラインドボックスが展示されているときに交換可能な賞品の最大総数が、前 $k-1$ 個のブラインドボックスのみが展示されているときの最大数よりも厳密に大きいかどうかを判定してください。
入力
入力の1行目には2つの正整数 $n, m$ ($1 \le n \le 5 \times 10^6, 2 \le m \le 10^8$) が含まれており、それぞれブラインドボックスの総数と小Tが事前に設定した幸運閾値を示します。
入力の2行目には $n$ 個の正整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^8$) が含まれており、それぞれ各ブラインドボックスの背後の隠された数字を示します。
出力
長さ $n$ の文字列を1行で出力してください。各 $k \in [1, n]$ について、前 $k$ 個のブラインドボックスを展示したときに交換可能な賞品の最大数が、前 $k-1$ 個のブラインドボックスのみを展示したときの最大数よりも厳密に大きい場合は文字列の $k$ 番目の文字を Y とし、そうでない場合は N とします。
提示
本題は入力量が大きいため、高速な入力方法を使用することを推奨します。
入出力例
入力 1
5 4 1 2 5 4 3
出力 1
NYNYN