Comment: The probability of exactly 3 red balls or exactly 3 blue balls (or both) from combinatorics is computed in R as 0.4359:
num = choose(12,3)*choose(34,4) + choose(16,3)*choose(30,4) -
choose(12,3)*choose(16,3)*choose(18,1)
ans = num/choose(46,7); ans
## 0.4359096
Simulation of 10 million draws of seven cards provides answers accurate to
three places for both the inclusive and exclusive interpretations of or.
m = 10^7; r = b = numeric(m)
urn = c(rep(1,12),rep(2,16),rep(3,18)) # 1=red, 2=blue, 3=green
for(i in 1:m) {
draw=sample(urn,7) # sample without replacement
r[i]=sum(draw==1); b[i]=sum(draw==2) }
mean(r==3 | b==3)
## 0.4355743 # union (inclusive 'or'): 3-place accuracy
mean(xor(r==3, b==3))
## 0.3941209 # exclusive 'or'
mean(r==3 & b==3)
## 0.0414534 # intersection
The same simulation provides marginal distributions of the the number of
red balls drawn and the number of blue balls drawn, mostly accurate to three
places. (Note that 0.000 represents a positive probability $< 0.0005.$
Specifically, ${12 \choose 7}/{46 \choose 7} = 1.4797 \times 10^{-5}$
and ${14 \choose 7}/{46 \choose 7} = 6.4120 \times 10^{-5}$.)
round(table(r)/m,3)
r
0 1 2 3 4 5 6 7
0.100 0.302 0.343 0.190 0.055 0.008 0.001 0.000
round(table(b)/m,3)
b
0 1 2 3 4 5 6 7
0.038 0.178 0.319 0.287 0.138 0.035 0.004 0.000
In the joint distribution, values with $b + r > 7$ are, of course,
exactly $0.$ Notice that the probability (approximately 0.041) of getting three balls of each color is a rounded version of 0.0414534 from above. (The exact value
of this intersection from combinatorics is 0.04143135.)
round(table(r, b)/m, 3)
b
r 0 1 2 3 4 5 6 7
0 0.001 0.006 0.019 0.032 0.028 0.012 0.003 0.000
1 0.004 0.031 0.082 0.102 0.063 0.018 0.002 0.000
2 0.011 0.060 0.121 0.106 0.040 0.005 0.000 0.000
3 0.013 0.054 0.075 0.041 0.007 0.000 0.000 0.000
4 0.008 0.023 0.020 0.005 0.000 0.000 0.000 0.000
5 0.002 0.004 0.002 0.000 0.000 0.000 0.000 0.000
6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000