N,M = map(int,input().split())
step_list = list(range(N+1))
denger_list = list()
for i in range(M):
	denger_list.append(int(input()))

ppre_step = None
pre_step  = None
now_step  = 0

for i in range(N+1):
	if pre_step == None or ppre_step == None:
		ppre_step = pre_step
		pre_step  = now_step
		now_step  = 1
	else:
		#そのステップが危険でない場合、そこのステップ
		#への移動は、2つ前までの移動方法数の和となる
		if i not in denger_list:
			ppre_step = pre_step
			pre_step  = now_step
			now_step  = ppre_step + pre_step
		#そのステップが危険な場合、そこの値は
		#移動不可能なので0通りとなる
		elif i in denger_list:
			ppre_step = pre_step
			pre_step  = now_step
			now_step  = 0 

print(now_step%1000000007)