• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • آزمون عملی سوم فاینال سی و سومین دوره المپیاد کامپیوتر ایران

امتیاز یک دنباله برابر تعداد جفت خانه‌های مجاوری است که مجموع آن‌ها برابر \(k\) می‌شود. به عنوان مثال اگر \(k=3\) باشد، امتیاز دنباله \(⟨1,2,3,0,2⟩\) برابر \(2\) است.

به شما عدد صحیح نامنفی \(k\) و یک دنباله \(n\) تایی از اعداد داده می‌شود. شما باید تعداد جایگشت‌های از این دنباله که امتیازشان برابر \(i\) می‌شود را به ازای هر \(i\) از \(0\) تا \(n - 1\) بدست آورید. چون اعداد جواب ممکن است بزرگ شود کافی است که باقی‌مانده تقسیم هر عدد را بر \(998244353\) چاپ کنید.

توجه کنید که اعداد مساوی قابل تمایز هستند.

ورودی

در خط اول ورودی، دو عدد صحیح \(n\) و \(k\) به ترتیب می آیند. \[1 \leq n \leq 5000, \quad 0 \leq k \leq 10^9\]

در خط دوم ورودی، \(n\) عدد صحیح می آیند که نشان دهنده دنباله ورودی است (اعداد دنباله نامنفی و کمتر از \(10^9\) هستند).

خروجی

در تنها خط خروجی \(n\) عدد چاپ کنید که به ترتیب برابر با تعداد جایگشت‌های دنباله با امتیاز \(0, 1, \cdots , n - 1\) باقی‌مانده بر \(998244353\) است.

زیرمسئله‌ها

زیرمسئله نمره محدودیت
۱ ۴ \(n \leq 10\)
۳ ۱۲ تعداد اعداد متمایز حداکثر دو است.
۴ ۱۷ تعداد اعداد متمایز حداکثر سه است.
۵ ۲۳ \(n \leq 500\)
۶ ۴۴ بدون محدودیت اضافی

مثال‌ها

ورودی نمونه ۱

5 3
1 2 1 2 1

خروجی نمونه ۱

0 24 36 48 12
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.