#include <stdio.h>
#include <math.h>

#define MAXR 1000000

double E[MAXR];

double com(long long r,long long h,long long t)
{
  long long i,j,k,fff=0;
  for(i=0;i<=r;i++)E[i]=0.0;
  for(i=1;i<=t;i++)//remaining time
  {
    for(j=r;j>0;j--)//towertop radius
    {
      double sum=h*(r-j)*E[j]; //wide blocks we cannot use
      for(k=1;k<=j;k++) //narrow blocks we can use
      {
        double h1=E[j]; //not use
        double h2=E[k]; //use
        long long delta=floor(h1-h2);
        if(delta<0)delta=0; //should not happen
        if(delta>h)delta=h;
        sum+=(delta)*E[j]; //short blocks not worth using
        sum+=(delta+h+1)*(h-delta)/2+(h-delta)*E[k]; //tall blocks worth using
        fff++;
      }
      E[j]=sum/r/h;
    }
  }
  fprintf(stderr,"x: %lld\n",fff);
  return E[r];
}

int main()
{
  long long N;
  scanf("%lld ",&N);
  while(N--)
  {
    long long r,h,t;
    scanf("%lld %lld %lld ",&r,&h,&t);
    printf("%f\n",com(r,h,t));
    fprintf(stderr,"rem: %lld\n",N);
  }
  return 0;
}
