func main() var n: int :: cui@inputInt() var m: int :: cui@inputInt() var x: int :: cui@inputInt() var y: int :: cui@inputInt() var z: int :: cui@inputInt() var a: []int :: #[n]int for i(0, n - 1) do a[i] :: cui@inputInt() end for var b: []int :: #[0]int var remSum: int :: 0 var remNum: int :: 0 for i(0, n - 1) if(y < a[i] & a[i] < x) do b :~ [a[i]] elif(a[i] >= x) do remSum :+ a[i] do remNum :+ 1 end if end for do b.sort() var num: int :: ^b ; dp[i][j] = val ; i: 残したツイート数 ; j: 合計いいね ; val: 通り数 var dp: [][]int :: #[num + 1, num * 50 + 1]int do dp[0][0] :: 1 for k(0, num - 1) for i(k, 0, -1) for j(num * 50, 0, -1) if(dp[i][j] <> 0) do dp[i + 1][j + b[k]] :+ dp[i][j] end if end for end for end for var ans: int :: 0 for i(1, [num, m - remNum].min()) for j(0, num * 50) if((i + remNum) * z = j + remSum) do ans :+ dp[i][j] end if end for end for if(remNum > m) do cui@print("Handicapped\n") else do cui@print("\{ans}\n") end if end func