/* 一. 好多鱼
https://www.nowcoder.com/test/question/e3dd485dd23a42899228305658457927?pid=4236887&tid=31686442
*/
package main
import (
"fmt"
)
var rangeSize [1001]int
var minSize, maxSize int
func main() {
var n int
var tmp int
_, _ = fmt.Scanf("%d %d", &minSize, &maxSize)
_, _ = fmt.Scanf("%d", &n)
for i := 0; i < n; i++ {
_, _ = fmt.Scanf("%d", &tmp)
rangeSize[tmp] = 1
ignore(tmp)
}
tmp = 0
for i := minSize; i <= maxSize; i++ {
if canput(i) {
tmp++
ignore(i)
//fmt.Println(i)
}
}
//fmt.Println()
//for i := minSize; i <= maxSize; i++ {
// if rangeSize[i] != -1 {
// fmt.Print(i, " ")
// }
//}
//
//fmt.Println()
fmt.Print(tmp)
}
func ignore(fish int) {
var size int
for i := 2; i <= 10; i++ {
size = i * fish
if size <= 1000 {
rangeSize[size] = -1
}
size = fish / i
if fish <= i && fish%i == 0 && size >= 1 {
rangeSize[size] = -1
}
}
}
// -1 表示不能放 0 表示可以放 1 表示原来就有
func canput(fish int) bool {
if rangeSize[fish] == -1 {
return false
}
if rangeSize[fish] == 1 {
return true
}
for i := 2; i <= 10; i++ {
if i*fish <= maxSize {
if rangeSize[i*fish] == 1 {
return false
}
}
}
return true
}
/*input
1 12
1
1
1 36
1
3
2 3 4 5 31 32 33 34 35 36
2 3 5 7 11 13 17 19 23 29 31 32 36
*/