I don't know how to do the math, but my python simulation says zero.
import random
service_providers = 20
servers_threshold = 5
up_time_threshold = 0.999**7 # prob down in week
years = 20
occurrences = 0
# run sim 10,000 times
for i in range(0, 10000):
servers_down = False
# simulate weeks in 20 years
for j in range(1, 52*years):
how_many_down_this_week = 0
# run up times for service providers
for s in range(0, service_providers):
up_time = random.random()
if up_time > up_time_threshold:
how_many_down_this_week += 1
# did they go down?
if how_many_down_this_week > servers_threshold:
servers_down = True
if servers_down == True:
occurrences += 1
print(occurrences)