Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓
Statistics

Xét hai biến nguyên dương $a$ và $b$. Chúng ta định nghĩa một thao tác "rút gọn": $D(a, b)$ nghĩa là thay đổi giá trị của biến $a$ thành $\frac{a}{\gcd(a,b)}$, trong khi giá trị của $b$ giữ nguyên. Ở đây $\gcd(a, b)$ biểu thị ước chung lớn nhất của $a$ và $b$. Ví dụ, nếu $a = 6$ và $b = 10$, thì sau khi gọi $D(a, b)$ một lần, giá trị của $a$ trở thành $3$, trong khi $b$ vẫn là $10$.

Xét một cây có trọng số đỉnh đều là các số nguyên dương, trong đó trọng số đỉnh của nút $i$ là $c_i$. Chúng ta định nghĩa một thao tác "rút gọn trên đường đi" trên cây: $T_{u,v}(a)$. Ở đây $u$ và $v$ là hai nút trong cây, và $a$ là một biến nguyên dương. Giả sử đường đi đơn từ $u$ đến $v$ trong cây lần lượt đi qua các nút $x_1, x_2, \dots, x_k$ (trong đó $k \ge 1$, $x_1 = u$ và $x_k = v$). Thao tác $T_{u,v}(a)$ nghĩa là lần lượt thực hiện thao tác $D(a, c_{x_i})$ theo thứ tự từ $i = 1$ đến $k$, tức là rút gọn tuần tự giá trị của biến $a$ theo thứ tự trọng số đỉnh trên đường đi.

Xét một cây $R$ ban đầu chỉ chứa một nút duy nhất (được đánh số $1$, có trọng số đỉnh là $c_1$). Để phát triển nó thành một cây gồm $n$ nút, bạn cần thực hiện $n - 1$ thao tác phát triển. Ở thao tác thứ $i$, ba số nguyên $a_i, u_i, v_i$ được cho, trong đó $u_i$ và $v_i$ được đảm bảo là các nút hiện có trong cây, và $a_i$ là một biến nguyên dương. Trước tiên bạn cần thực hiện thao tác rút gọn trên đường đi $T_{u_i,v_i}(a_i)$, sau đó thêm một nút mới vào cây: nút mới này có số hiệu là $i + 1$, trọng số đỉnh $c_{i+1}$ của nó là giá trị của $a_i$ sau khi rút gọn trên đường đi, và nút này được nối với nút $v_i$.

Cuối cùng, hãy in ra trọng số đỉnh của mỗi nút làm câu trả lời.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên dương $n$ và $c_1$ ($1 \le n \le 2 \times 10^5$, $1 \le c_1 \le 10^6$), biểu thị việc cần phát triển một cây gồm $n$ nút, trong đó trọng số ban đầu của nút đầu tiên là $c_1$.

Từ dòng thứ hai đến dòng thứ $n$, dòng thứ $i$ chứa ba số nguyên dương $a_i, u_i, v_i$ ($1 \le u_i, v_i < i$, $1 \le a_i \le 10^6$), biểu thị việc phát triển nút thứ $i$, nút này được nối với nút $v_i$, và trọng số $c_i$ của nó là kết quả sau khi thực hiện thao tác $T_{u_i,v_i}(a_i)$ trên $a_i$.

Kết quả

In ra một dòng gồm $n$ số nguyên dương, cách nhau bởi dấu cách, biểu thị các trọng số $c_1, c_2, \dots, c_n$.

Ví dụ

Dữ liệu vào 1

5 10
6 1 1
2 2 2
35 1 2
84 3 4

Kết quả 1

10 3 2 7 2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.