#include <stdio.h>
#include <iostream>
#include <algorithm>

using namespace std;
int N, M;
int a[1000],b[1000];
int minn;

void virez(int nomer, int skok){
int i=0;
int num, maxx;
while(i<skok){
i++;
maxx=-1;
 if(nomer==1){
     for(int j=0;j<N;j++){
             if(maxx<a[j]){	
		   maxx=a[j];
		   num=j;
		}
	}
a[num]=-10;      
	}
else{
     for(int j=0;j<M;j++){
             if(maxx<b[j]){	
		   maxx=b[j];
		   num=j;
		}
	}
b[num]=-10;

	}
}
}

int price(){
 int summa=0;

for(int i=0;i<minn;i++){
summa= summa+a[i]*b[minn-1-i]; 
}

 return summa;
}

int main(){
freopen("input.txt", "r", stdin);
freopen("output.txt","w", stdout);

cin>>N;
cin>>M;

for(int i=0;i<N;i++){
   cin>>a[i];
}	
for(int i=0;i<M;i++){
   cin>>b[i];
}
 if(N-M>0){
	cout<<M<<" ";
	minn=M;
    virez(1, N-M);
	}
 if(N-M<0){
	cout<<N<<" ";
	minn=N;
    virez(2, M-N);
	 }
 if(N-M==0){
    cout<<N<<" ";
	minn=N;
	}
for(int i=0;i<N;i++)
{
 if(a[i]==-10){
	a[i]=100000;
}
}

for(int i=0;i<M;i++)
{
 if(b[i]==-10){
	b[i]=100000;
}
}
sort(a, a+N);
sort(b,b+M);

cout<<price();
	return 0;
}