小红的数组修改
题号:NC262119
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红拿到了一个长度为n的数组,她准备进行一次修改,可以将数组中任意一个数修改为不大于 p 的正整数(修改后的数必须和原数不同),并使得所有数之和为x 的倍数。
小红想知道,一共有多少种不同的修改方案?

输入描述:

第一行输入三个正整数n,p,x
第二行输入n个正整数a_i,代表小红拿到的数组。

输出描述:

一个整数,代表合法的方案数数量。
示例1

输入

复制
4 3 2
2 5 3 4

输出

复制
4

说明

四个方案如下:
第二个数改成1。
第二个数改成3。
第三个数改成1。
第四个数改成2。