import math
def nCr( n, r) :
f = math .factorial
return ( f( n) / ( f( r) / f( n-r) ) )
t= input ( )
for _ in range ( 0 , t) :
s= raw_input ( ) .split ( )
s, n, m, k= int ( s[ 0 ] ) , int ( s[ 1 ] ) , int ( s[ 2 ] ) , int ( s[ 3 ] )
y= float ( 0.000000 )
total = nCr( s-1 , n-1 )
if s== n:
print ( "1.000000" )
continue
if k> n:
print "0.000000\n "
continue
s= s-1
n= n-1
m= m-1
for i in range ( 0 , k) :
q= nCr( m, i)
w= nCr( s-m, n-i)
y+= ( q*w)
print ( float ( 1 -y/total) )
aW1wb3J0IG1hdGgKCmRlZiBuQ3IobixyKToKICAgIGYgPSBtYXRoLmZhY3RvcmlhbAogICAgcmV0dXJuIChmKG4pIC8gKGYocikgLyBmKG4tcikpKQoKdD1pbnB1dCgpCmZvciBfIGluIHJhbmdlKDAsdCk6CiAgICAKICAgIHM9cmF3X2lucHV0KCkuc3BsaXQoKQogICAgIAogICAgcyxuLG0saz1pbnQoc1swXSksaW50KHNbMV0pLGludChzWzJdKSxpbnQoc1szXSkKICAgCiAgICB5PWZsb2F0KDAuMDAwMDAwKQogICAgCiAgICB0b3RhbCA9IG5DcihzLTEsbi0xKQogICAgCiAgICBpZiBzPT1uOgogICAgICAgIHByaW50KCIxLjAwMDAwMCIpCiAgICAgICAgY29udGludWUKICAgIAogICAgaWYgaz5uOgogICAgICAgIHByaW50IjAuMDAwMDAwXG4iCiAgICAgICAgY29udGludWUKICAgIAogICAgcz1zLTEKICAgIG49bi0xCiAgICBtPW0tMQogICAKICAgIGZvciBpIGluIHJhbmdlKDAsayk6CiAgICAgICAgcT1uQ3IobSxpKQogICAgICAgIHc9bkNyKHMtbSxuLWkpCiAgICAgICAgeSs9KHEqdykKICAgICAgICAKICAgIHByaW50IChmbG9hdCgxLXkvdG90YWwpKQ==