# i637
# FágLógia, Inc.
# Városmajori Gimnázium, Budapest XII.
# Python 3.12
# 10. o

import random

def ChanceToSend(chance):
    if random.random() <= chance: return 1
    else: return 0
def SelectSender(Array, location):
    for k in range(len(Array)):                                                         # Egy olyan függvény, amely kiválasztja a 
        if k+location < len(Array) and Array[k + location]!= 0:                         # következő küldőt a token helyzetéből levezetve
            return (k+location+1), k                                                    # (ha k+location nagyobb mint a lista hossza 
        elif k+location > len(Array) and Array[(k + location) - len(Array) - 1]!= 0:    # akkor a számolás visszaugrik az elejére).
            return (k + location - len(Array)), k
    return location, len(Array)

#   Globális Változók
TimeSpent= 0             # > Egy változó, amely feljegyzi a sikeresen elküldőtt adatok idejét egy helyre.
Sent= 0                  # > Egy változó, amely számolja a sikeresen elküldött adatokat.
RequestWaitTime= []      # > A legfontosabb adathalmaza a programnak. Itt tárolja a program egy üzenet idejét (várakozási+küldési) 
                         #    és a küldési szándékot is (Ha 1, az a küldési szándékot jelzi, ezért le kell vonni belőle 1-et majd a feljegyzésnél).
AddTime= 0               # > Ha a következő küldő kiválasztásánál a várni kell hogy a token a küldőhöz jusson, akkor megvárja, míg az eljut oda
                         #    de ezzel nem akadályozza meg, hogy közben a többi gép gondolkozzon 

input_data= str(input())
N, H, t= 0, 0, 0
Ns, Hs, ts= "", "", ""
round= 0
for i in input_data:
    if i== " ":
        round+= 1
    elif round== 0:
        Ns+= i
    elif round== 1:
        Hs+= i
    else:
        ts+= i
N= int(Ns)
H= float(Hs)
t= int(ts)
for i in range(N):      
    RequestWaitTime.append(0)

sender = 0                                                                      # > A küldő gép (ez lehet jelenleg küldő és kiválasztott küldő) 
                                                                                #    sorszűmát tárolja 1-től N-ig (ha 0, akkor nincs küldő).
TokenLocation = 0                                                               # > Nyílvántartja a token helyzetét a hálózaton (gép sorszám 0-tól [N-1]-ig).
TokenTask = 0                                                                   # > Számolja, hogy az elküldött adat hányas gépnél jár (0-tól [N-1]-1),
                                                                                #    ezzel ellenőrizzük, hogy a feladott token visszaért-e a feladóhoz.
for i in range(t):                                                              # > A fő ciklus, amely a megadott (t) ideig fut.
    TokenLocation= i%N                                                          # > Maradékos osztással megnézi, hogy melyik gépnél van a token (0-tól [N-1]-ig).
    for j in range(N):                                                          # > Minden géphez végrehajt egy "gondolkodási" lépést.
        if RequestWaitTime[j]!= 0: RequestWaitTime[j]+= 1                       # > Ha van a küldéslistán küldeni szándékozó/küldésrevárakozó/küldő gép, akkor annak az idejét megnöveli 1-gyel.
        elif ChanceToSend(H): RequestWaitTime[j]= 1                             # > Ha az adott gép nem szeretne még küldeni, akkor lehetőséget ad neki megadott (H) eséllyel.
    if AddTime== 0:                                                             # > Ha ki van választva a következő küldő, de a token nem ért még el hozzá, akkor
                                                                                #    leszámolja azt az időt, míg elér a token a küldőhöz, de addig tud gondolkodni a többi gép.
        if sum(RequestWaitTime)!= 0:                                            # > Ellenőrzi, hogy a küldéslista összege 0-e, ergó üres-e.
            if sender== 0:                                                      # > Ha nincs küldő, akkor választ egyet.
                sender, AddTime= SelectSender(RequestWaitTime, TokenLocation)   # 
            elif TokenTask== N - 1:                                             # > Ha vissza ér a küldött token a feladóhoz, akkor a megfelelő változókat
                TokenTask= 0                                                    #    nullázza és eltárolja a későbbiekben lényeges információkat.
                TimeSpent+= RequestWaitTime[sender - 1] - 1                     #
                RequestWaitTime[sender - 1]= 0                                  #
                sender= 0                                                       #
                Sent+= 1                                                        #
            else:                                                               #
                TokenTask+= 1                                                   # > Ha a token el lett küldve, de még nem érkezett vissza a feladóhoz, akkor továbbküldi a tokent
    else: AddTime-= 1                                                           #

if Sent!= 0: print(str(Sent) + " " + str(TimeSpent / Sent))  # > Ha nem sikerült elküldeni egy üzenetet sem akkor megakadályozza, hogy a kód hobára fusson
else: print(str(0) + " " + str(0))                           #