#include<algorithm>
#include<cstdio>


using namespace std ;


int sports[ 1000 + 1 ] ;

int cnt[ 1000 + 1 ] ;
int CNT[ 1000 + 1 ] ;

int cmp ;

int N ,M ;


int ans()
{
	sort( cnt + 1 ,cnt + N + 1 ) ;

	return ( find_if( CNT ,CNT + N + 1 ,[]( int cmpair ){ return cmpair == cnt[ N ] ; } ) - CNT ) ;
}



int main( void )
{
	scanf( "%d %d" ,&N ,&M ) ;

	int i ;
	for( i = 1 ; i <= N ; ++i )
	{
		scanf( "%d" ,&cmp ) ;

		sports[ i ] = cmp ;
	}

	for( i = 0 ; i < M ; ++i )
	{
		scanf( "%d" ,&cmp ) ;

		++cnt[ ( find_if( sports + 1 ,sports + N + 1 ,[]( int cmpair){ return cmp >= cmpair ; } ) - sports ) ] ;
	}


	copy( cnt ,cnt + N + 1 ,CNT ) ;


	printf( "%d\n" ,ans() ) ;


	return 0 ;
}
#include<iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <string>
#include <cmath>
#include <set>
#include <string.h>
#include <functional>

using namespace std;

int a[1010];
int b[1010];
int c[1010];
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    for(int i=0;i<m;i++){
        cin>>b[i];
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            if(b[i]>=a[j]){
                c[j]++;
                break;
            }
        }
    }
    int max=0;int ans=-1;;
    for(int i=0;i<n;i++){
        if(c[i]>max){
            max=c[i];
            ans=i+1;
        }
    }
    cout<<ans<<endl;
    return 0;
}