#include <bits/stdc++.h>
#define ll int64_t
#define ld long double
using namespace std;
//
const int maxn =1e6+5;
const int mod = 1e9+7; // 998244353,1610612741
const ll inf = 1e18;
const ld pi = atan(1.0L)*4;
int n,curc,curp,chd[maxn],cid[maxn],par[maxn],sz[maxn],pos[maxn],a[maxn],mn[maxn],mx[maxn],h[maxn],l[maxn],r[maxn];
vector<int> g[maxn];
pair<int,int> st[20][maxn];
void build(){
int k=__lg(n);
for (int i=1;i<=n;i++) st[0][i]={a[i],a[i]};
for (int j=1;j<=k;j++){
for (int i=1;i+(1<<j)-1<=n;i++)
st[j][i]={min(st[j-1][i].first,st[j-1][i+(1<<(j-1))].first),
max(st[j-1][i].second,st[j-1][i+(1<<(j-1))].second)};
}
}
pair<int,int> get(int l,int r){
int k=__lg(r-l+1);
return {min(st[k][l].first,st[k][r-(1<<k)+1].first),
max(st[k][l].second,st[k][r-(1<<k)+1].second)};
}
void dfs(int u,int p=-1) {
sz[u]=1;
for (auto v:g[u]){
if (v!=p) {
par[v]=u;
h[v]=h[u]+1;
dfs(v,u);
sz[u]+=sz[v];
}
}
}
void hld(int u,int p=-1) {
if (!chd[curc]) chd[curc]=u;
cid[u]=curc;
pos[u]=curp;
a[curp++]=u;
int mx=0;
for (auto v:g[u]) {
if (v!=p&&sz[mx]<sz[v]) mx=v;
}
if (mx) hld(mx,u);
for (auto v:g[u]) {
if (v!=p&&v!=mx) curc++,hld(v,u);
}
}
int lca(int u,int v) {
while (cid[u]^cid[v]) {
if (cid[u]>cid[v]) u=par[chd[cid[u]]];
else v=par[chd[cid[v]]];
}
return (h[u]<h[v]?u:v);
}
pair<int,int> query(int u,int v){
int p =lca(u,v);
pair<int,int> res={mod,0};
while (cid[u]!=cid[p]) {
auto x=get(pos[chd[cid[u]]],pos[u]);
res={min(res.first,x.first),max(res.second,x.second)};
u=par[chd[cid[u]]];
}
while (cid[v]!=cid[p]) {
auto x=get(pos[chd[cid[v]]],pos[v]);
res={min(res.first,x.first),max(res.second,x.second)};
v=par[chd[cid[v]]];
}
if (h[u]<h[v]) {
auto x=get(pos[u],pos[v]);
res={min(res.first,x.first),max(res.second,x.second)};
}
else {
auto x=get(pos[v],pos[u]);
res={min(res.first,x.first),max(res.second,x.second)};
}
return res;
}
pair<int,int> t[20][maxn];
void build2(){
int k=__lg(n);
for (int i=1;i<=n;i++) t[0][i]={mn[i],mx[i]};
for (int j=1;j<=k;j++){
for (int i=1;i+(1<<j)-1<=n;i++)
t[j][i].first=min(t[j-1][i].first,t[j-1][i+(1<<(j-1))].first),
t[j][i].second=max(t[j-1][i].second,t[j-1][i+(1<<(j-1))].second);
}
}
pair<int,int> get2(int l,int r){
int k=__lg(r-l+1);
return {min(t[k][l].first,t[k][r-(1<<k)+1].first),
max(t[k][l].second,t[k][r-(1<<k)+1].second)};
}
struct nai{
int l,r,val,tp,id;
};
int bit[maxn*2];
nai A[maxn*2];
void update(int i) {
for (;i<=n+6942;i+=i&-i) bit[i]++;
}
int query(int i){
int res=0;
for (;i>0;i-=i&-i) res+=bit[i];
return res;
}
int main() {
// freopen("../input.inp","r",stdin);
// freopen("output.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >>n;
for (int i=1;i<n;i++) {
int u,v;
cin >>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
curc=curp=1;
dfs(1);hld(1);
build();
for (int i=1;i<n;i++) {
auto p=query(i,i+1);
mn[i]=p.first,mx[i]=p.second;
}
ll res=n;
build2();
for (int i=1;i<n;i++) {
if (mn[i]<i) {
r[i]=i;
continue;
}
int L=i,R=n;
while (L<=R) {
int mid =(L+R)/2;
if (get2(i,mid).first>=i) L=mid+1;
else R=mid-1;
}
r[i]=L;
}
for (int i=2;i<=n;i++) {
if (mx[i-1]>i) {
l[i]=i;
continue;
}
int L=1,R=i-1;
while (L<=R){
int mid =(L+R)/2;
if (get2(mid,i-1).second<=i) R=mid-1;
else L=mid+1;
}
l[i]=R;
}
for (int i=1;i<=n;i++) {
A[i].val=l[i];
A[i].l=A[i].r=i;
A[i].tp=-1;
}
int q=0;
for (int i=1;i<n;i++) {
if (r[i]+1>=i) {
q++;
A[q+n].l=i+1;
A[q+n].r=r[i];
A[q+n].val=i-1;
}
}
sort(A+1,A+1+q+n,[&](nai x,nai y) {return x.val>y.val||(x.val==y.val&&x.tp>y.tp);});
for (int i=1;i<=n+q;i++) {
if (A[i].tp==-1) update(A[i].l);
else res+=1ll*A[i].r-A[i].l+1-query(A[i].r)+query(A[i].l-1);
}
cout<<res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgaW50NjRfdAojZGVmaW5lIGxkIGxvbmcgZG91YmxlCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vIApjb25zdCBpbnQgbWF4biA9MWU2KzU7CmNvbnN0IGludCBtb2QgPSAxZTkrNzsgLy8gOTk4MjQ0MzUzLDE2MTA2MTI3NDEKY29uc3QgbGwgaW5mID0gMWUxODsKY29uc3QgbGQgcGkgPSBhdGFuKDEuMEwpKjQ7CmludCBuLGN1cmMsY3VycCxjaGRbbWF4bl0sY2lkW21heG5dLHBhclttYXhuXSxzelttYXhuXSxwb3NbbWF4bl0sYVttYXhuXSxtblttYXhuXSxteFttYXhuXSxoW21heG5dLGxbbWF4bl0sclttYXhuXTsKdmVjdG9yPGludD4gZ1ttYXhuXTsKcGFpcjxpbnQsaW50PiBzdFsyMF1bbWF4bl07CnZvaWQgYnVpbGQoKXsKICAgaW50IGs9X19sZyhuKTsKICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSBzdFswXVtpXT17YVtpXSxhW2ldfTsKICAgZm9yIChpbnQgaj0xO2o8PWs7aisrKXsKICAgICAgZm9yIChpbnQgaT0xO2krKDE8PGopLTE8PW47aSsrKSAgCiAgICAgIAlzdFtqXVtpXT17bWluKHN0W2otMV1baV0uZmlyc3Qsc3Rbai0xXVtpKygxPDwoai0xKSldLmZpcnN0KSwKCQkJCQkJIG1heChzdFtqLTFdW2ldLnNlY29uZCxzdFtqLTFdW2krKDE8PChqLTEpKV0uc2Vjb25kKX07CiAgIH0KfQpwYWlyPGludCxpbnQ+IGdldChpbnQgbCxpbnQgcil7CiAgIGludCBrPV9fbGcoci1sKzEpOwogICByZXR1cm4ge21pbihzdFtrXVtsXS5maXJzdCxzdFtrXVtyLSgxPDxrKSsxXS5maXJzdCksCiAgIAkJICBtYXgoc3Rba11bbF0uc2Vjb25kLHN0W2tdW3ItKDE8PGspKzFdLnNlY29uZCl9Owp9CnZvaWQgZGZzKGludCB1LGludCBwPS0xKSB7Cglzelt1XT0xOwoJZm9yIChhdXRvIHY6Z1t1XSl7CgkJaWYgKHYhPXApIHsKCQkJcGFyW3ZdPXU7CgkJCWhbdl09aFt1XSsxOwoJCQlkZnModix1KTsKCQkJc3pbdV0rPXN6W3ZdOwoJCX0KCX0gCn0Kdm9pZCBobGQoaW50IHUsaW50IHA9LTEpIHsKCWlmICghY2hkW2N1cmNdKSBjaGRbY3VyY109dTsKCWNpZFt1XT1jdXJjOwoJcG9zW3VdPWN1cnA7CglhW2N1cnArK109dTsKCWludCBteD0wOwoJZm9yIChhdXRvIHY6Z1t1XSkgewoJCWlmICh2IT1wJiZzeltteF08c3pbdl0pIG14PXY7Cgl9CglpZiAobXgpIGhsZChteCx1KTsKCWZvciAoYXV0byB2OmdbdV0pIHsKCQlpZiAodiE9cCYmdiE9bXgpIGN1cmMrKyxobGQodix1KTsKCX0KfQppbnQgbGNhKGludCB1LGludCB2KSB7CiAgICB3aGlsZSAoY2lkW3VdXmNpZFt2XSkgewogICAgICAgIGlmIChjaWRbdV0+Y2lkW3ZdKSB1PXBhcltjaGRbY2lkW3VdXV07CiAgICAgICAgZWxzZSB2PXBhcltjaGRbY2lkW3ZdXV07CiAgICB9CiAgICByZXR1cm4gKGhbdV08aFt2XT91OnYpOwp9CnBhaXI8aW50LGludD4gcXVlcnkoaW50IHUsaW50IHYpewoJaW50IHAgPWxjYSh1LHYpOwoJcGFpcjxpbnQsaW50PiByZXM9e21vZCwwfTsKCXdoaWxlIChjaWRbdV0hPWNpZFtwXSkgewoJCWF1dG8geD1nZXQocG9zW2NoZFtjaWRbdV1dXSxwb3NbdV0pOwoJCXJlcz17bWluKHJlcy5maXJzdCx4LmZpcnN0KSxtYXgocmVzLnNlY29uZCx4LnNlY29uZCl9OwoJCXU9cGFyW2NoZFtjaWRbdV1dXTsKCX0KCXdoaWxlIChjaWRbdl0hPWNpZFtwXSkgewoJCWF1dG8geD1nZXQocG9zW2NoZFtjaWRbdl1dXSxwb3Nbdl0pOwoJCXJlcz17bWluKHJlcy5maXJzdCx4LmZpcnN0KSxtYXgocmVzLnNlY29uZCx4LnNlY29uZCl9OwoJCXY9cGFyW2NoZFtjaWRbdl1dXTsKCX0KCWlmIChoW3VdPGhbdl0pIHsKCQlhdXRvIHg9Z2V0KHBvc1t1XSxwb3Nbdl0pOwoJCXJlcz17bWluKHJlcy5maXJzdCx4LmZpcnN0KSxtYXgocmVzLnNlY29uZCx4LnNlY29uZCl9OwoJfQoJZWxzZSB7CgkJYXV0byB4PWdldChwb3Nbdl0scG9zW3VdKTsKCQlyZXM9e21pbihyZXMuZmlyc3QseC5maXJzdCksbWF4KHJlcy5zZWNvbmQseC5zZWNvbmQpfTsKCX0KCXJldHVybiByZXM7Cn0KcGFpcjxpbnQsaW50PiB0WzIwXVttYXhuXTsKdm9pZCBidWlsZDIoKXsKICAgaW50IGs9X19sZyhuKTsKICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSB0WzBdW2ldPXttbltpXSxteFtpXX07CiAgIGZvciAoaW50IGo9MTtqPD1rO2orKyl7CiAgICAgIGZvciAoaW50IGk9MTtpKygxPDxqKS0xPD1uO2krKykgIAogICAgICAJdFtqXVtpXS5maXJzdD1taW4odFtqLTFdW2ldLmZpcnN0LHRbai0xXVtpKygxPDwoai0xKSldLmZpcnN0KSwKCQkJdFtqXVtpXS5zZWNvbmQ9bWF4KHRbai0xXVtpXS5zZWNvbmQsdFtqLTFdW2krKDE8PChqLTEpKV0uc2Vjb25kKTsKICAgfQp9CnBhaXI8aW50LGludD4gZ2V0MihpbnQgbCxpbnQgcil7CiAgIGludCBrPV9fbGcoci1sKzEpOwogICByZXR1cm4ge21pbih0W2tdW2xdLmZpcnN0LHRba11bci0oMTw8aykrMV0uZmlyc3QpLAogICAJCSAgbWF4KHRba11bbF0uc2Vjb25kLHRba11bci0oMTw8aykrMV0uc2Vjb25kKX07Cn0Kc3RydWN0IG5haXsKCWludCBsLHIsdmFsLHRwLGlkOwp9OwppbnQgYml0W21heG4qMl07Cm5haSBBW21heG4qMl07CnZvaWQgdXBkYXRlKGludCBpKSB7Cglmb3IgKDtpPD1uKzY5NDI7aSs9aSYtaSkgYml0W2ldKys7Cn0KaW50IHF1ZXJ5KGludCBpKXsKCWludCByZXM9MDsKCWZvciAoO2k+MDtpLT1pJi1pKSByZXMrPWJpdFtpXTsKCXJldHVybiByZXM7Cn0KaW50IG1haW4oKSB7Ci8vICAgZnJlb3BlbigiLi4vaW5wdXQuaW5wIiwiciIsc3RkaW4pOwovLyAgIGZyZW9wZW4oIm91dHB1dC5vdXQiLCJ3IixzdGRvdXQpOwogICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgIGNpbi50aWUobnVsbHB0cik7CiAgIGNpbiA+Pm47CiAgIGZvciAoaW50IGk9MTtpPG47aSsrKSB7CiAgIAlpbnQgdSx2OwogICAJY2luID4+dT4+djsKICAgCWdbdV0ucHVzaF9iYWNrKHYpOwogIAkJZ1t2XS5wdXNoX2JhY2sodSk7CiAgIH0KICAgY3VyYz1jdXJwPTE7CiAgIGRmcygxKTtobGQoMSk7CiAgIGJ1aWxkKCk7CiAgIGZvciAoaW50IGk9MTtpPG47aSsrKSB7CiAgIAlhdXRvIHA9cXVlcnkoaSxpKzEpOwogICAJbW5baV09cC5maXJzdCxteFtpXT1wLnNlY29uZDsKICAgfQogICBsbCByZXM9bjsKICAgYnVpbGQyKCk7CiAgIGZvciAoaW50IGk9MTtpPG47aSsrKSB7CiAgIAlpZiAobW5baV08aSkgewogICAJCXJbaV09aTsKICAgCQljb250aW51ZTsKICAgCX0KICAgCWludCBMPWksUj1uOwogICAJd2hpbGUgKEw8PVIpIHsKICAgCQlpbnQgbWlkID0oTCtSKS8yOwogICAJCWlmIChnZXQyKGksbWlkKS5maXJzdD49aSkgTD1taWQrMTsKICAgCQllbHNlIFI9bWlkLTE7CiAgIAl9CiAgIAlyW2ldPUw7CiAgIH0KICAgZm9yIChpbnQgaT0yO2k8PW47aSsrKSB7CiAgIAlpZiAobXhbaS0xXT5pKSB7CiAgIAkJbFtpXT1pOwogICAJCWNvbnRpbnVlOwogICAJfQogICAJaW50IEw9MSxSPWktMTsKICAgCXdoaWxlIChMPD1SKXsKICAgCQlpbnQgbWlkID0oTCtSKS8yOwogICAJCWlmIChnZXQyKG1pZCxpLTEpLnNlY29uZDw9aSkgUj1taWQtMTsKICAgCQllbHNlIEw9bWlkKzE7CiAgIAl9CiAgIAlsW2ldPVI7CiAgIH0KICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSB7CgkJQVtpXS52YWw9bFtpXTsKICAgCUFbaV0ubD1BW2ldLnI9aTsKICAgCUFbaV0udHA9LTE7CiAgIH0KICAgaW50IHE9MDsKICAJZm9yIChpbnQgaT0xO2k8bjtpKyspIHsKICAgCWlmIChyW2ldKzE+PWkpIHsKICAgCQlxKys7CiAgIAkJQVtxK25dLmw9aSsxOwogICAJCUFbcStuXS5yPXJbaV07CiAgIAkJQVtxK25dLnZhbD1pLTE7CiAgIAl9CiAgIH0KICAgc29ydChBKzEsQSsxK3ErbixbJl0obmFpIHgsbmFpIHkpIHtyZXR1cm4geC52YWw+eS52YWx8fCh4LnZhbD09eS52YWwmJngudHA+eS50cCk7fSk7CiAgIGZvciAoaW50IGk9MTtpPD1uK3E7aSsrKSB7CiAgIAlpZiAoQVtpXS50cD09LTEpIHVwZGF0ZShBW2ldLmwpOwogICAJZWxzZSByZXMrPTFsbCpBW2ldLnItQVtpXS5sKzEtcXVlcnkoQVtpXS5yKStxdWVyeShBW2ldLmwtMSk7CiAgIH0KICAgY291dDw8cmVzOwogICByZXR1cm4gMDsKfQ==