#include <bits/stdc++.h>

const long MOD = 1000000007;

using namespace std;

int main(){

  //freopen("input.txt","r",stdin);
  
  long n,m,k;


  cin >> n >> m >> k;
  long a[n+1];
  long ans[n+1];

  memset(a,0,sizeof(a));
  memset(ans,0,sizeof(ans));

  for (long i = 1; i<=k;++i){
    long pos;
    cin >> pos;
    a[pos] = 1;
  }


  a[0] = 0;
  ans[1] = 1;
  for(long i = 2; i<=n;++i){
    if (a[i] == 1) continue;
    for (long j = i - m; j <i;++j){
        if (j < 0) continue;
	if (a[j] == 1) continue;
        if (j == 0){
	  ans[i] += 1;
	}
	else {
	  ans[i] += ans[j];
	}
	ans[i] %= MOD;
    }
    ans[i] %= MOD;
  }
/*
  for(long i = 1; i<=n;++i){
    cout << ans[i] << "\n";
  }
*/

  cout << ans[n];
  return 0;
}
