Many years have passed, and n friends met at a party again. Technologies have leaped forward since the last meeting, cameras with timer appeared and now it is not obligatory for one of the friends to stand with a camera, and, thus, being absent on the photo.

Simply speaking, the process of photographing can be described as follows. Each friend occupies a rectangle of pixels on the photo: the i-th of them in a standing state occupies a wi pixels wide and a hi pixels high rectangle. But also, each person can lie down for the photo, and then he will occupy a hi pixels wide and a wi pixels high rectangle.

The total photo will have size W × H, where W is the total width of all the people rectangles, and H is the maximum of the heights. The friends want to determine what minimum area the group photo can they obtain if no more than n / 2 of them can lie on the ground (it would be strange if more than n / 2 gentlemen lie on the ground together, isn't it?..)

Help them to achieve this goal.

Input

The first line contains integer n (1 ≤ n ≤ 1000) — the number of friends.

The next n lines have two integers wi, hi (1 ≤ wi, hi ≤ 1000) each, representing the size of the rectangle, corresponding to the i-th friend.

Output

Print a single integer equal to the minimum possible area of the photo containing all friends if no more than n / 2 of them can lie on the ground.

Examples

Input

3
10 1
20 2
30 3


Output

180


Input

3
3 1
2 2
4 3


Output

21


Input

1
5 10


Output

50
var n = parseInt(readline())
var p = [], q=[]
for (i = 0; i < n; i++) {
  var line = readline().split(' ')
  p[i] = {x:parseInt(line[0]), y:parseInt(line[1])}
  q.push(p[i].x, p[i].y)
}
p.sort(function(a,b) { return (b.x-b.y) - (a.x-a.y)})
minh = p.reduce(function(a,b) { return Math.max(a, Math.min(b.x,b.y))}, 0)
print(Math.min.apply(Math,q.map(function(a) {
  var now = p.reduce(function(x,y) {
    return x + (y.y > a ? 1:0)
  }, 0)
  if (a < minh || now > n/2) {
    return Number.MAX_VALUE
  }
  return  p.reduce(function(x,b) {
      if (now+1 <= n/2 && b.x <= a && b.y < b.x) {
        now++;
        return x+b.y
      } else if (b.y>a){
        return x+b.y
      } else {
        return x+b.x
      }
  },0) * a
})))