#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll par[100005],sum[100005],bridg[100005][2],ans[100005];
ll find(ll x)
{
    return par[x]==x? x :par[x]=find(par[x]);
}
int main()
{
    ll n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++)
    {
        par[i]=i;
        sum[i]=1;
    }
    for(int i=0;i<m;i++)
    {
        scanf("%lld%lld",&bridg[i][0],&bridg[i][1]);
    }
    ans[m-1]=n*(n-1)/2;
    for(int i=m-1;i>0;i--)
    {
        ll x,y;
        x=find(bridg[i][0]);
        y=find(bridg[i][1]);
        if(x!=y)
        {
            ans[i-1]=ans[i]-sum[x]*sum[y];
            sum[y]+=sum[x];
            par[x]=y;
        }
        else
            ans[i-1]=ans[i];
    }
    for(int i=0;i<m;i++)
        printf("%lld\n",ans[i]);
    return 0;

}
