___ raindrops(number
    message convert_to_message(number)
    r.. message __ message ____ "{}".f..(number)


___ convert_to_message(number
    r.. f"{'Pling' __ is_three_a_factor(number) ____ ''}" \
           f"{'Plang' __ is_five_a_factor(number) ____ ''}" \
           f"{'Plong' __ is_seven_a_factor(number) ____ ''}"


___ is_three_a_factor(number
    r.. is_factor(number, 3)


___ is_five_a_factor(number
    r.. is_factor(number, 5)


___ is_seven_a_factor(number
    r.. is_factor(number, 7)


___ is_factor(number, potentialFactor
    r.. number % potentialFactor __ 0

bd12bb8b274341de81f06a7c030daa44ab5967c2
___ raindrops(number
    message convert_to_message(number)
    r.. message __ message ____ "{}".f..(number)


___ convert_to_message(number
    r.. f"{'Pling' __ is_three_a_factor(number) ____ ''}" \
           f"{'Plang' __ is_five_a_factor(number) ____ ''}" \
           f"{'Plong' __ is_seven_a_factor(number) ____ ''}"


___ is_three_a_factor(number
    r.. is_factor(number, 3)


___ is_five_a_factor(number
    r.. is_factor(number, 5)


___ is_seven_a_factor(number
    r.. is_factor(number, 7)


___ is_factor(number, potentialFactor
    r.. number % potentialFactor __ 0
