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.
# aadiupadhyay
import os.path
from math import gcd, floor, ceil
from collections import *
from bisect import *
import sys
mod = 1000000007
INF = float('inf')
def st(): return list(sys.stdin.readline().strip())
def li(): return list(map(int, sys.stdin.readline().split()))
def mp(): return map(int, sys.stdin.readline().split())
def inp(): return int(sys.stdin.readline())
def pr(n): return sys.stdout.write(str(n)+"\n")
def prl(n): return sys.stdout.write(str(n)+" ")


if os.path.exists('input.txt'):
    sys.stdin = open('input.txt', 'r')
    sys.stdout = open('output.txt', 'w')


def solve():
    n = inp()
    x, y = [], []
    s = 0
    for i in range(n):
        a, b = mp()
        x.append(a)
        y.append(b)
        s += a
    prefix = [0]
    suffix = [0]
    for i in range(n):
        prefix.append(max(prefix[-1], y[i]))
        suffix.append(max(suffix[-1], y[n-i-1]))
    suffix = suffix[::-1]
    ans = []
    for i in range(n):
        ans.append((s-x[i])*max(prefix[i], suffix[i+1]))
    print(*ans)


for _ in range(1):
    solve()
