小 W 決定來一次畢業旅行,他來到了 T 市。T 市有 $n$ 個景點,他想要從酒店出發,恰好經過每個景點一次之後回到酒店。
但是小 W 不想讓自己太累。具體來說,在 從一個景點移動到另外一個景點的時候,小 W 會感受到勞累。每個景點有一個 整數 權值 $v_i$。如果從第 $i$ 個景點走到第 $j$ 個景點,則小 W 的勞累值是 $v_i \times v_j$,整個旅途的勞累值是移動時所有勞累值的最大值。
小 W 不想讓自己太累,於是他想要找到一個旅行方案,使得旅途中的勞累值低於一個 非負整數 $w$。他覺得這個問題對你來說太簡單了,所以他想詢問總共有多少種不同的旅行方案滿足條件,答案對 $998244353$ 取模。
輸入格式
第一行兩個數 $n, w$,分別表示景點個數以及勞累值的限制。
第二行 $n$ 個整數 $v_i$,分別表示每個景點的權值。
輸出格式
一行一個整數,表示答案。
範例
範例 1 輸入
3 3 1 2 3
範例 1 輸出
2
範例 2 輸入
6 5 1 1 4 5 1 4
範例 2 輸出
144
範例 3 輸入
16 20 -1 9 -9 9 -1 3 -9 2 -8 4 -1 4 0 8 5 3
範例 3 輸出
802901549
子任務
對於所有資料,$0 \le w, |v_i| \le 10^9$,$1 \le n \le 200000$。
$\textbf{subtask 1 (10 pts) }$:$n \le 200$,$v_i \ge 0$
$\textbf{subtask 2 (10 pts) }$:$n \le 2000$,$v_i \ge 0$
$\textbf{subtask 3 (10 pts) }$:$n \le 50000$,$v_i \ge 0$
$\textbf{subtask 4 (10 pts) }$:$n \le 200000$,$v_i \ge 0$
$\textbf{subtask 5 (10 pts) }$:$n \le 200$
$\textbf{subtask 6 (10 pts) }$:$n \le 2000$
$\textbf{subtask 7 (20 pts) }$:$n \le 50000$
$\textbf{subtask 8 (20 pts) }$:$n \le 200000$