CF1916G Optimizations From Chelsu
Description
You are given a tree with $ n $ vertices, whose vertices are numbered from $ 1 $ to $ n $ . Each edge is labeled with some integer $ w_i $ .
Define $ len(u, v) $ as the number of edges in the simple path between vertices $ u $ and $ v $ , and $ gcd(u, v) $ as the Greatest Common Divisor of all numbers written on the edges of the simple path between vertices $ u $ and $ v $ . For example, $ len(u, u) = 0 $ and $ gcd(u, u) = 0 $ for any $ 1 \leq u \leq n $ .
You need to find the maximum value of $ len(u, v) \cdot gcd(u, v) $ over all pairs of vertices in the tree.
Input Format
Each test consists of multiple test cases. The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10^4 $ ) — the number of test cases. This is followed by their description.
The first line of each test case contains the number $ n $ ( $ 2 \leq n \leq 10^5 $ ) — the number of vertices in the tree.
The next $ n-1 $ lines specify the edges in the format $ u $ , $ v $ , $ w $ ( $ 1 \leq u, v \leq n $ , $ 1 \leq w \leq 10^{12} $ ).
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^5 $ .
Output Format
For each test case, output a single number equal to the maximum value of $ len(u, v) \cdot gcd(u, v) $ over all pairs of vertices in the tree.