#include <bits/stdc++.h>
using namespace std;
const long double PI = acos(-1.0l);
const long long MOD = 1e9 + 7;
bool debug = 0;
const int N = 1;
int main() {
  long long k, d, t;
  cin >> k >> d >> t;
  long long tot = d * (k / d);
  if (k % d) tot += d;
  long long t1 = k;
  long long t2 = tot - t1;
  if (debug)
    cout << "t1"
         << " = " << (t1) << endl;
  if (debug)
    cout << "t2"
         << " = " << (t2) << endl;
  long double ans = 0;
  long long falta = 2 * t;
  long long tira = 2 * t1 + t2;
  if (debug)
    cout << "falta"
         << " = " << (falta) << endl;
  ans += tot * (falta / tira);
  falta -= tira * (falta / tira);
  if (debug)
    cout << "tot"
         << " = " << (tot) << endl;
  if (debug)
    cout << "falta"
         << " = " << (falta) << endl;
  if (debug)
    cout << "ans"
         << " = " << (ans) << endl;
  if (falta) {
    if (2 * t1 <= falta) {
      ans += t1;
      falta -= 2 * t1;
    } else {
      ans += falta / 2.l;
      falta = 0;
    }
  }
  if (falta) {
    ans += falta;
  }
  printf("%lf\n", (double)ans);
  return 0;
}
