#include #define rep(i,n) for(int i = 0; i < (n); i++) using namespace std; typedef long long ll; int main(){ cin.tie(0); ios::sync_with_stdio(0); int N; cin >> N; vector> G(N); rep(_,N-1) { int a,b; cin >> a >> b; a--; b--; G[a].push_back(b); G[b].push_back(a); } vector sz(N, 1); function get_sz = [&](int v, int p) -> void { for(int to : G[v]) { if(to != p) { get_sz(to, v); sz[v] += sz[to]; } } }; get_sz(0, -1); ll ans = 0; function dfs = [&](int v, int p) -> void { for(int to : G[v]) { if(to != p) { ans += 2LL * sz[to] * (N - sz[to]); dfs(to, v); } } }; dfs(0, -1); cout << ans + 1LL * N * N << endl; }