Монокарп открывает свою IT-компанию. Он хочет нанять \(n\) программистов и \(m\) тестировщиков.
На собеседование придут \(n+m+1\) кандидатов, пронумерованных от \(1\) до \(n+m+1\) в хронологическом порядке их прибытия. У \(i\)-го кандидата есть навык программирования \(a_i\) и навык тестирования \(b_i\) (навык программирования человека отличается от его навыка тестирования). Навык команды — это сумма навыков программирования всех нанятых в качестве программистов и сумма навыков тестирования всех нанятых в качестве тестировщиков.
Когда кандидат приходит на собеседование, Монокарп пытается назначить его на наиболее подходящую должность (если его навык программирования выше, то как программиста, в противном случае как тестировщика). Если все места для этой должности заняты, Монокарп назначает его на другую должность.
Ваша задача — для каждого кандидата рассчитать навык команды, если на собеседование придут все, кроме него. Обратите внимание, что это означает, что придут ровно \(n+m\) кандидатов, и все \(n+m\) мест в компании будут заняты.
Выходные данные
Для каждого набора входных данных выведите \(n + m + 1\) целых чисел, где \(i\)-е число должно быть равно навыку команды, если на собеседование придут все, кроме \(i\)-го кандидата.