import java.util.*; import java.nio.*; public class Main{ public static void main(String[] args){ Solve s=new Solve();s.solve();s.exit(); } } class Solve{ class pos{ long x,y; pos(long x,long y){ this.x=x; this.y=y; } } public Scanner sc=new Scanner(System.in); void exit(){ sc.close(); } void swap(int[] v,int x,int y){ v[x]^=v[y]; v[y]^=v[x]; v[x]^=v[y]; } public class comp implements Comparator { int _pos(pos v){ if (v.y < 0) return -1; if (v.y == 0 && 0 <= v.x) return 0; return 1; } @Override public int compare(pos s,pos t){ if(s.x==t.x && s.y==t.y)return 0; if(_pos(s)!=_pos(t))return _pos(s)<_pos(t)?-1:1; else return (0q=new ArrayList<>(); for(int j=0;j=0)r++; ans+=conv(conv(conv(r-l)*conv(x[i]))*conv(y[i]+q.get(j).y)); ans%=1000000007L; ans+=conv(conv(conv(r-l)*conv(-y[i]))*conv(x[i]+q.get(j).x)); ans%=1000000007L; } } System.out.println(ans); } }