One day *n* friends met at a party, they hadn't seen each other for a long time and so they decided to make a group photo together. 

Simply speaking, the process of taking photos can be described as follows. On the photo, each photographed friend occupies a rectangle of pixels: the *i*-th of them occupies the rectangle of width *w*<sub class="lower-index">*i*</sub> pixels and height *h*<sub class="lower-index">*i*</sub> pixels. On the group photo everybody stands in a line, thus the minimum pixel size of the photo including all the photographed friends, is *W* × *H*, where *W* is the total sum of all widths and *H* is the maximum height of all the photographed friends.

As is usually the case, the friends made *n* photos — the *j*-th (1 ≤ *j* ≤ *n*) photo had everybody except for the *j*-th friend as he was the photographer.

Print the minimum size of each made photo in pixels.
The first line contains integer *n* (2 ≤ *n* ≤ 200 000) — the number of friends. 

Then *n* lines follow: the *i*-th line contains information about the *i*-th friend. The line contains a pair of integers *w*<sub class="lower-index">*i*</sub>, *h*<sub class="lower-index">*i*</sub> (1 ≤ *w*<sub class="lower-index">*i*</sub> ≤ 10, 1 ≤ *h*<sub class="lower-index">*i*</sub> ≤ 1000) — the width and height in pixels of the corresponding rectangle.
#Imports
from collections import defaultdict as dc
import sys
import math
mod=10**9 +7
# How to sort a list using two compare :
# instead of defining a function define class as a key
# class key(str):
#     def __lt__(x,y):#         return int(x+y)>int(y+x)

def sinp():
    p=str(sys.stdin.readline())
    return p

def seive(n):
    p=[0]*(n+1)
    for i in range(2,n):           
        for j in range(2*i,n+1,i):
                p[i]=1
    return p


def inp(): 
    p=int(sys.stdin.readline())
    return p

def line():
    p=list(map(int,sys.stdin.readline().split()))
    return p

def read_mat():
    n=inp()
    a=[]
    for i in range(n):
        a.append(line())
    return a

def ind(a):
    return ord(a)-ord('A')

def digit(n):
    z=n
    p=0
    q=0
    while z:
        if z%10>p:
            q=p
            p=z%10
        elif z%10>q:
            q=z%10
        z=z//10
    return p,q

def solve(t):
    n=inp()
    p=[]
    w=0
    h1=0
    h2=0
    for i in range(n):
        p.append(line())
        w+=p[-1][0]
        if p[-1][1]>h1:
            h2=h1
            h1=p[-1][1]
        elif p[-1][1]>h2:
            h2=p[-1][1]
    for i in range(n):
        if p[i][1]==h1:
            print((w-p[i][0])*h2,end=' ')
        else:
            print((w-p[i][0])*h1,end=' ')
    print()
# t=inp()
t=1
for _ in range(t):
    solve(t)