#CF1928E. 模序列

模序列

模序列

  • 时间限制:3 秒
  • 内存限制:256 MiB

题目描述

给定四个整数 n,x,y,Sn,x,y,S。

长度为 nn 的非负整数序列 aa 称为一个“模序列”,当且仅当:

  • a1=xa_1=x;
  • 对每个 2≤i≤n2\le i\le n,aia_i 等于 ai−1+ya_{i-1}+y 或 ai−1 mod ya_{i-1}\bmod y。

这里 u mod yu\bmod y 表示 uu 除以 yy 的余数。

请判断是否存在元素和恰好为 SS 的模序列。若存在,输出任意一个满足条件的序列。

输入格式

第一行包含一个整数 tt,表示测试用例数。

接下来 tt 行,每行包含四个整数 n,x,y,Sn,x,y,S,描述一个测试用例。

输出格式

对于每个测试用例,若无解,输出一行 No。

若有解,先输出一行 Yes,再输出一行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,表示任意一个合法序列。

Yes 和 No 的大小写任意。不同测试用例的答案依次输出,不得添加其他内容。

样例输入 1

3
5 8 3 28
3 5 3 6
9 1 5 79

样例输出 1

YES
8 11 2 2 5
NO
NO

样例解释

第一个测试用例中,序列 [8,11,2,2,5][8,11,2,2,5] 合法且元素和为 2828。

数据范围

对所有数据:

  • 1≤t≤2⋅1041\le t\le 2\cdot10^4;
  • 1≤n≤2⋅1051\le n\le2\cdot10^5,0≤x≤2⋅1050\le x\le2\cdot10^5,1≤y≤2⋅1051\le y\le2\cdot10^5,0≤S≤2⋅1050\le S\le2\cdot10^5;
  • 所有测试用例的 nn 之和不超过 2⋅1052\cdot10^5;
  • 所有测试用例的 SS 之和不超过 2⋅1052\cdot10^5。

本题采用独立测试点计分。

子任务编号 分值 特殊限制
1 20 t≤8t\le8,n≤18n\le18,S≤500S\le500,且单个输入文件中 ∑n≤80\sum n\le80、∑S≤2000\sum S\le2000
2 40 t≤8t\le8,n≤60n\le60,S≤800S\le800,且单个输入文件中 ∑n≤240\sum n\le240、∑S≤3200\sum S\le3200
3 无特殊限制