#include<bits/stdc++.h>usingnamespacestd;#define N 50005intn,m,k,a[N],cnt[N],ans[N];structnode{intl,r,id;}q[N];intcmp(nodex,nodey){if(x.l/250==y.l/250)returnx.r<y.r;returnx.l/250<y.l/250;}intmain(){scanf("%d%d%d",&n,&m,&k);for(inti=1;i<=n;i++)scanf("%d",&a[i]);for(inti=1;i<=m;i++){scanf("%d%d",&q[i].l,&q[i].r);q[i].id=i;}sort(q+1,q+1+m,cmp);intl=1,r=0,now=0;for(inti=1;i<=m;i++){for(intj=l;j<q[i].l;j++){now+=cnt[a[j]]*-2+1;cnt[a[j]]--;}for(intj=q[i].l;j<l;j++){now+=cnt[a[j]]*2+1;cnt[a[j]]++;}for(intj=q[i].r+1;j<=r;j++){now+=cnt[a[j]]*-2+1;cnt[a[j]]--;}for(intj=r+1;j<=q[i].r;j++){now+=cnt[a[j]]*2+1;cnt[a[j]]++;}l=q[i].l;r=q[i].r;ans[q[i].id]=now;}for(inti=1;i<=m;i++)printf("%d\n",ans[i]);return0;}