Haskell, 9189 bytes
g n=sum[1|a<-[0..n-1]n],_<-filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]]
Alternative, 9189 bytes
f n=length$do a<-[0..n-1];filtern];filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]
Haskell, 91 bytes
g n=sum[1|a<-[0..n-1],_<-filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]]
Alternative, 91 bytes
f n=length$do a<-[0..n-1];filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]
Haskell, 89 bytes
g n=sum[1|a<-[0..n],_<-filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]]
Alternative, 89 bytes
f n=length$do a<-[0..n];filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]
Haskell, 91 bytes
g n=sum[1|a<-[0..n-1],_<-filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]]
Alternative, 91 bytes
f n=length$do a<-[0..n-1];filter(n==).scanl1(+)$drop a[p|p<-[2..n],all((>0).mod p)[2..p-1]]