CF771C Bear and Tree Jumps

Description

A tree is an undirected connected graph without cycles. The distance between two vertices is the number of edges in a simple path between them. Limak is a little polar bear. He lives in a tree that consists of $ n $ vertices, numbered $ 1 $ through $ n $ . Limak recently learned how to jump. He can jump from a vertex to any vertex within distance at most $ k $ . For a pair of vertices $ (s,t) $ we define $ f(s,t) $ as the minimum number of jumps Limak needs to get from $ s $ to $ t $ . Your task is to find the sum of $ f(s,t) $ over all pairs of vertices $ (s,t) $ such that $ s<t $ .

Input Format

N/A

Output Format

N/A

Explanation/Hint

In the first sample, the given tree has $ 6 $ vertices and it's displayed on the drawing below. Limak can jump to any vertex within distance at most $ 2 $ . For example, from the vertex $ 5 $ he can jump to any of vertices: $ 1 $ , $ 2 $ and $ 4 $ (well, he can also jump to the vertex $ 5 $ itself). ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF771C/8994ac77b38d70eaef5cd0952cd4c3fda510d514.png)There are ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF771C/cde4e5f0e6e4654d394ac6cfffb62423a3518573.png) pairs of vertices $ (s,t) $ such that $ s<t $ . For $ 5 $ of those pairs Limak would need two jumps: $ (1,6),(3,4),(3,5),(3,6),(5,6) $ . For other $ 10 $ pairs one jump is enough. So, the answer is $ 5·2+10·1=20 $ . In the third sample, Limak can jump between every two vertices directly. There are $ 3 $ pairs of vertices $ (s<t) $ , so the answer is $ 3·1=3 $ .