Eri Card

Given N shared cards and N team cards, an opponent blocks K team cards to minimize our best product; find the maximum score we can still achieve.

Medium6SortingGreedyBrute forceMathNo attempts yetTime limit1sMemory limit128 MB

Problem

Eri Card became an official event at the 2468 Neptune Olympics. Each team starts a match with NN shared number cards and NN team number cards.

A match runs like this. The opposing team first blocks KK of our team number cards, and a blocked card cannot be played. Once the blocking is over, our team picks one shared number card and one team number card that was not blocked, and plays them. The product of the two numbers is our team's score. The opposing team then scores the same way, and the team with the higher score wins.

The opposing team always blocks in the best way, so it picks the KK cards that make our team's score as small as possible. Write a program that prints the maximum score our team can get.

Input

The first line contains NN and KK (0K<N1000 \le K < N \le 100).

The second line contains the NN integers written on the shared number cards.

The third line contains the NN integers written on the team number cards.

Each number written on a card is an integer that is at least 10000-10000 and less than 1000010000.

Output

Print the maximum score our team can get on one line.

Hint

In the example the opposing team can block two team number cards. It blocks the cards 44 and 33, which could make the largest score, so the remaining team number cards are 1-1, 00, and 22. Our team plays the shared card 55 and the team card 22 for a score of 1010.