#include <bits/stdc++.h>
using namespace std;
vector<int> g[200005];
int dep[200005], sz[200005];
void dfs(int now, int pre) {
  sz[now] = 1;
  for (auto i : g[now]) {
    if (i != pre) {
      dep[i] = dep[now] + 1;
      dfs(i, now);
      sz[now] += sz[i];
    }
  }
}
int main() {
  int n;
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  while (cin >> n) {
    memset(dep, 0, sizeof(dep));
    ;
    memset(sz, 0, sizeof(sz));
    ;
    for (int i = 0; i < n; i++) g[i].clear();
    for (int i = 0; i < n - 1; i++) {
      int add1, add2;
      cin >> add1 >> add2;
      add1--, add2--;
      g[add1].push_back(add2);
      g[add2].push_back(add1);
    }
    dfs(0, -1);
    long long ans = 0;
    long long odd = 0;
    for (int i = 1; i < n; i++) {
      ans += sz[i] * (long long)(n - sz[i]);
      if (dep[i] & 1) {
        odd++;
      }
    }
    ans += odd * (n - odd);
    cout << ans / 2 << endl;
  }
}
