1 var
2 i,j,k,l,n,m,t:longint;
3 p1,p2:extended;
4 b:array[0..1000,0..100,1..2]of extended;
5 lb,qz:array[0..100]of longint;
6 ans:extended;
7 begin
8 while not eof do
9 begin
10 fillchar(lb,sizeof(lb),0);
11 fillchar(qz,sizeof(qz),0);
12 fillchar(b,sizeof(b),0);
13 readln(p1,t,n); inc(t); p1:=1-p1;
14 for i:=1 to n do begin read(j); inc(lb[j]); end; readln;
15 for i:=1 to 100 do qz[i]:=qz[i-1]+lb[i];
16 for i:=t-1 downto 1 do
17 for j:=1 to 100 do
18 if lb[j]>0 then
19 begin
20 p2:=1;
21 for k:=1 to j do
22 if lb[k]>0 then
23 begin
24 if i+k<t then
25 begin
26 p2:=p2-p1*(lb[k]/qz[j])*b[i+k,k,1];
27 b[i,j,2]:=b[i,j,2]+p1*(lb[k]/qz[j])*(1+b[i+k,k,2]);
28 end else b[i,j,2]:=b[i,j,2]+p1*(lb[k]/qz[j]);
29 end;
30 b[i,j,1]:=(1-p1)/p2; b[i,j,2]:=b[i,j,2]/p2;
31 b[i,j,2]:=b[i,j,2]+b[i,j,1];
32 end;
33 p2:=1; ans:=0;
34 for k:=1 to 100 do
35 if lb[k]>0 then
36 begin
37 if k<t then
38 begin
39 p2:=p2-(lb[k]/n)*b[k,k,1];
40 ans:=ans+(lb[k]/n)*(1+b[k,k,2]);
41 end else ans:=ans+lb[k]/n;
42 end;
43 writeln((ans/p2):0:3);
44 end;
45 end.