import sequtils,times,lists template times*(n:int,body) = (for _ in 0.." .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord # 31634 let n = scan() var E : array[100010,SinglyLinkedList[int]] var preHasCutDP : array[100010,int] var preHasNotCutDP : array[100010,int] stopwatch: (n-1).times: let u = scan() - 1 let v = scan() - 1 E[u].prepend(v) E[v].prepend(u) for i in 0..