class BernoulliDistribution():
    def __init__(self, p = 0.5):
        self._p = p
    def density_function(self, x):
        p = self._p
        return p ** x * (1 - p) ** (1 - x)