Example

Input

5
1 2
1 3
1 4
1 5


Output

6
#include<bits/stdc++.h>
using namespace std;
const int N=100005;
typedef long long int LL;


vector<int >ve[N];
map< LL , int >ma;
LL a[N];
LL b=10e2+7;
LL ans;
void dfs(int u)
{
    a[u]=1;
    for(int i=0;i<ve[u].size();i++)
    {
        int v=ve[u][i];
        dfs(v);
        a[u]+=a[v]*b;
    }
    ans+=ma[a[u]];
    ma[a[u]]++;
    return ;
}

int main()
{
    int n;
        cin>>n;
        int u,v;
        for(int i=0;i<n-1;i++)
        {
            cin>>u>>v;
            ve[u].push_back(v);
        }
        ans=0;
        dfs(1);
        cout<<ans<<endl;


    return 0;
}