''' Created on 2015 febr. 13 @author: magistvan ''' def quick_sort(lista, key, reversed, cmp, left, right): i = left j = right pivot = key(lista[int((i + j) / 2)]) while i <= j: if cmp == None: condition1 = key(lista[i]) < pivot condition2 = key(lista[j]) > pivot else: condition1 = cmp(lista[i], pivot) condition2 = not(cmp(lista[j], pivot)) if reversed: condition1 = key(lista[i]) > pivot condition2 = key(lista[j]) < pivot while condition1: i = i + 1 if cmp == None: condition1 = key(lista[i]) < pivot else: condition1 = cmp(lista[i], pivot) if reversed: condition1 = key(lista[i]) > pivot while condition2: j = j - 1 if cmp == None: condition2 = key(lista[j]) > pivot else: condition2 = not(cmp(lista[j], pivot)) if reversed: condition2 = key(lista[j]) < pivot if i <= j: temp = lista[i] lista[i] = lista[j] lista[j] = temp i = i + 1 j = j - 1 if left < j: quick_sort(lista, key, reversed, cmp, left, j) if i < right: quick_sort(lista, key, reversed, cmp, i, right) def sorting(lista, *, key=lambda x:x, reversed=False, cmp=None): quick_sort(lista, key, reversed, cmp, 0, len(lista) - 1) return lista class Box(object): def __init__(self,w,b): self.w=w self.b=b s=input("") prop=s.split(" ") n=int(prop[0]) m=int(prop[1]) boxes=[] for i in range(0,n): s=input("") prop=s.split(" ") boxes.append(Box(int(prop[0]),int(prop[1]))) boxes=sorting(boxes,key=lambda x:x.w) nrb=0 nrw=0 for i in range(0,int(n/2)): nrb=nrb+boxes[i].b for i in range(int(n/2),n): nrw=nrw+boxes[i].w print(nrb,nrw)