TopCoder

Caido
主唱太拼命了

User's AC Ratio

95.2% (40/42)

Submission's AC Ratio

56.8% (71/125)

Tags

Description

A 子的飲料店最近有新的促銷活動,只要能連續正確回答以下的謎題 $T$ 次,就能獲得打折優惠券。

有兩個正整數 $n,k$,是否存在 $n$ 個非負整數 $a_1,a_2,\ldots,a_n$ 滿足以下條件:

  • $a_i+a_{i+1}>0,\forall 1\le i<n$ 且 $a_1+a_n\gt 0$
  • $a_1^ {a_2}+a_2^ {a_3}+\cdots+a_{n-1}^ {a_n}+a_n^ {a_1}=k$

如果只能正確回答是或否,只能獲得一張「特調米漿半價優惠券」。如果當答案是存在時,你都能找到滿足條件的 $a_1,a_2,\ldots,a_n$ ,那就能獲得一張「特調米漿免費優惠券」。

小翊數學不好,但他很想要蹭一波 A 子的飲料店的活動,於是他拉著很會構造的你一起來挑戰這道謎題。

看在小翊和 A 子(?)的份上,你決定接受挑戰。

Input Format

輸入第一行有一個正整數 $T$,代表有 $T$ 道謎題。

每一筆子測試資料輸入一行,這行有兩個正整數 $n,k$,代表謎題的 $n,k$。

  • $1\le T\le 4000$
  • $2\le n\le 10^ 5$
  • $n$ 的總和不超過 $10^ 5$
  • $1\le k\le 10^ {18}$

Output Format

對於每一道謎題:

如果不存在滿足條件的 $a_1,a_2,\ldots,a_n$,則輸出一行 NO

否則先輸出一行 YES,然後在下一行輸出 $n$ 個非負整數 $a_1,a_2,\ldots,a_n$,代表你的答案。

另外,你的答案必須滿足 $0\le a_i\le 10^ {18}$。

如果你的輸出格式正確,YES/NO 回答也都正確,但是至少一組 YES 的構造不正確,你仍可以獲得 50 分,也就是一半的分數。

注意:如果你回答的 YES/NO 都正確,但是 YES 忘記給出 $n$ 個數字,或是給出的數字不在輸出限制範圍內,會因為輸出格式錯誤而無法拿到分數。

Sample Input 1

6
2 1
3 4
5 5
5 10
5 38
100 1

Sample Output 1

YES
1 0
YES
1 2 1
YES
1 1 1 1 1
YES
2 1 2 1 2
YES
2 3 2 3 2
NO

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0 範例測資。 0
2 0~13 無特別限制。 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 2
1 1000 262144 65536 2
2 1000 262144 65536 2
3 1000 262144 65536 2
4 1000 262144 65536 2
5 1000 262144 65536 2
6 1000 262144 65536 2
7 1000 262144 65536 2
8 1000 262144 65536 2
9 1000 262144 65536 2
10 1000 262144 65536 2
11 1000 262144 65536 2
12 1000 262144 65536 2
13 1000 262144 65536 2