#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 1919810
#define int long long
using namespace std;
int dis,m,d,n,cnt,mk,ps;
int x[N];
bool flg;
signed main(){
scanf("%lld%lld%lld",&m,&d,&n);
for(int i=1;i<=n;i++)scanf("%lld",&x[i]);
sort(x+1,x+n+1);
dis=m;
for(int i=1;i<=n;i++)if(x[i]>=m-d)ps=i;
for(int i=n;i>=1;i--){
if(d>=m-dis){
dis-=x[i]-d+m-dis;
cnt++;
if(i==ps)continue;
}else{
if(flg==0){
dis-=x[ps]+d-m+dis;
cnt++;
flg=1;i--;
if(dis<=0) return printf("%lld",cnt),0;
continue;
}
dis-=x[i]+d-m+dis;
cnt++;
}
if(dis<=0) return printf("%lld",cnt),0;
}
return puts("0"),0;
}