import times, strutils, sequtils, math, algorithm, tables, sets, lists, intsets import critbits, future, strformat, deques,heapqueue template `max=`(x,y) = x = max(x,y) template `min=`(x,y) = x = min(x,y) template `mod=`(x,y) = x = x mod y template scan2 = (scan(), scan()) template scan3 = (scan(), scan()) let read* = iterator: string {.closure.} = while true: (for s in stdin.readLine.split: yield s) proc scan(): int = read().parseInt proc scanf(): float = read().parseFloat proc toInt(c:char): int = return int(c) - int('0') proc solve()= var n = scan() es = newseqwith(n,newseq[int]()) ccnt = newseqwith(n,newseq[int]()) depth = newseqwith(n,0) fp = newseqwith(n,false) ans = newseqwith(n,0) for i in 0..0: var (dpt,idx) = q.pop() cnt = ccnt[s][idx] nxt = es[s][idx] score+=1+lastdepth dfs2(nxt,tnum+1) lastdepth = dpt tnum+=cnt discard dfs(0) #echo ccnt #echo depth fp.fill(false) dfs2(0,0) echo score #echo ans solve()