SP18458 VFRIEND2 - Very Friends 2
题目描述
你正在为小狗们设计一个新的社交网络平台。哇哦!虽然小狗们可以选择的互动方式不多,但它们可以通过吠叫的次数来表达希望拥有的朋友数。例如,一只小狗希望有 8 个朋友,它就会吠叫 8 次;如果它不想要朋友,就会保持安静。
在经过一年时间收集这些吠叫声后,你终于准备好为每只小狗分配理想的朋友列表。然而,你不确定这种分配是否可行。因此,你决定编写一个程序,对于给定的每只小狗的愿望列表 **w $ _{i} $** ,如果能为每只小狗 **i** 分配正好 **w $ _{i} $** 个朋友,则输出 **HAPPY**;否则,输出 **SAD**。
注意:在这种社交关系中,成为朋友是一个自反的关系。
输入格式
第一行包含一个整数 **T**,表示需要处理的测试用例数量。
由于输入输出的限制,愿望的具体序列不会直接给出。每个测试用例由一行中 5 个整数 **N**、**a**、**b**、**c**、**m** 构成,这些整数的范围在 **\[0, 10^7\]**(其中 **m** 在 **\[1, 10^7\]** 范围内)。这些整数用于生成以下序列:
```
x0 = 0
xi+1 = (a*xi + b) % m
```
愿望序列 **w $ _{i} $** 由公式 **w $ _{i} $** = **x $ _{i} $** + **c** 给出。
输出格式
对于每个测试用例,输出一行结果——如果能满足每只小狗的愿望就输出 **HAPPY**,否则输出 **SAD**。
说明/提示
- $1 \leq T \leq 1000$
- $0 \leq N, a, b, c \leq 10^7$
- $1 \leq m \leq 10^7$
**本翻译由 AI 自动生成**