```#!/usr/local/bin/python3

# Classic birthday problem. What is the probability that in a room with n people, at least two people will have the same birthday.
# Input n -- number of people in room
# Return  -- probability that at least two people will share a birthday

def any_birthday_match(n):
if n > 365:
result = 1
elif n < 2:
result = 0
else:
prob = 1.0
for i in range(364, 365 - n, -1):
prob *= i / 365
result = 1 - prob

return result

# Probability that in a room of n OTHER people at least one person will share your birthday.
# Input n -- number of people in room
# Return  -- probability that at least one other person will share your birthday

def specific_birthday_match(n):
if n > 364:
result = 1
elif n < 1:
result = 0
else:
result = 1 - (364 / 365) ** n

return result

if __name__ == "__main__":
import sys
n = 23
result = any_birthday_match(n)
s = 'In a group of {0:d} people, the probability of two people sharing the same birthday is {1:.4f} .'.format(n, result)
print(s)
n = 253
result = specific_birthday_match(n)
s = '\nIn a group of {0:d} other people, the probability of someone having your birthday is {1:.4f} .'.format(n, result)
print(s)
```