//#include <ext/pb_ds/assoc_container.hpp> // Common file
//#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update
usingnamespace std;
//using namespace __gnu_pbds;
//typedef tree<
// pair<int, int>, // change type
// null_type,
// less<pair<int, int> >, // change type
// rb_tree_tag,
// tree_order_statistics_node_update>
// ordered_set;
typedeflonglong ll;
#define rep(i, start, end) for(int i = start; i < end; ++i)
#define sz(x) (int)(x).size()
#define pb push_back
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define clr(d, v) memset(d, v, sizeof(d))
#define pii pair<int, int>
constdouble PI =3.14159265358979323846;
constdouble eps =(1e-8);
longdouble power(longdouble base, intexp)
{
longdouble ret =1;
while(exp)
{
if(exp&1)
ret *= base;
base *= base;
exp>>=1;
}
return ret;
}
longdouble C[105][105];
void genC()
{
C[0][0]=1;
for(int i =1; i <=100;++i)
{
C[i][0]=1;
for(int j =1; j < i;++j)
C[i][j]= C[i-1][j]+ C[i-1][j -1];
C[i][i]=1;
}
}
int m, w, c;
longdouble p;
/*
* i is zero based
* Dp definition:
* dp[i][rem] is probability to get a final even 'usedCandy' count in range [i, m) using 'rem' candies such that usedCandy = totalCandies - rem
* base case:
* at i == m, return isEven(usedCandy)
* transition:
* at each [i][rem], if 'tk' is amount given to man 'i'. 'tk' is in [0, rem]
* answer = Summation for all 'tk' in [0, rem] -> P(man 'i' getting exactly tk candies) * dp[i + 1][rem - tk]
* P(a man getting exactly 'tk' candies) having 'rem' candies in total can be found through binomial theorom C[rem][tk] * p^tk * q^(rem - tk) such that p is probability for
* a person to get a single candy = 1/(m+w) and q = 1 - p
*/
longdouble dp[1005][105];
longdouble solve(int i, int rem)
{
if(i == m)
{
int usedCandy = c - rem;
return(!(usedCandy&1));
}
longdouble&ret = dp[i][rem];
if(ret == ret)
return ret;
ret =0;
for(int tk =0; tk <= rem;++tk)
{
ret += C[rem][tk]* power(p, tk)* power(1.0- p, rem - tk)* solve(i +1, rem - tk);
}
return ret;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
// freopen("facebook.txt", "w", stdout);
#endif
genC();
while(cin>> m >> w >> c &&(m || w))
{
clr(dp, -1);
p =1.0/(m+w);// probability for a person to get a single candy