実行すると

> v=list(c('1'),c('p'),c('q'),c('p','p'),c('p','q'),c('p','p','q'))
> f <- function(x){
+ D=('p' %in% v[x][[1]] & 'p' %in% v[x][[2]] & 'p' %in% v[x][[3]])|('q' %in% v[x][[1]] & 'q' %in% v[x][[3]] & 'q' %in% v[x][[3]])
+ y=unlist(v[x])
+ M=sum('p'==y)>=2 & 'q'%in%y
+ !D&M
+ }
> sum(combn(6,3,f))
[1] 10
10通り