class ST: def __init__(self,n): self.B=int(n**0.5)+1 self.st1=[0]*self.B*self.B self.st2=[0]*self.B return def add(self,p,x): y=p//self.B self.st1[p]+=x self.st2[y]+=x return def sum(self,l,r): yl=l//self.B yr=r//self.B a=0 if yl==yr: for i in range(l,r+1): a+=self.st1[i] else: for i in range(l,yl*self.B+self.B): a+=self.st1[i] for i in range(yl+1,yr): a+=self.st2[i] for i in range(yr*self.B,r+1): a+=self.st1[i] return a n=int(input()) a=list(map(int,input().split())) q=[] z=[] for i in range(n): l,r=map(int,input().split()) q+=[(a[i]-l,0,a[i])] q+=[(a[i],1,a[i]+r)] z+=[a[i],a[i]+r] z=sorted(set(z)) d={v:i for i,v in enumerate(z)} st=ST(len(z)) a=0 q.sort() for p,f,v in q: if f: a+=st.sum(d[p],d[v]) else: st.add(d[v],1) print(a-n)