#include <iostream>
#include <algorithm>
using namespace std;

class State{
  static int value[3];
  static int need[3];
  static double r[3];
public:
  int m[3];
  State() {
    fill(m, m+3, 9999);
  }

  int sumCost() {
    double ans = 0;
    for(int i = 0; i < 3; i++) {
      int normal = m[i] % need[i];
      int waribiki = m[i] - normal;
      ans += waribiki*value[i]*r[i] + normal*value[i];
    }
    return (int)ans;
  }
};
int State::value[3] = {380, 550, 850};
int State::need[3] = {5, 4, 3};
double State::r[3] = {0.8, 0.85, 0.88};

main() {
  static int w[3] = {2, 3, 5};
  while(1) {
    int m;
    cin >> m;
    if(m == 0) break;
    m /= 100;
    State dp[m+1];
    for(int i = 0; i < 3 ; i++) {
      for(int j = w[i]; j <= m; j++) {
	State tmp = dp[j-w[i]];
	if(tmp.m[i] == 9999) {
	  for(int k = 0; k < 3; k++) tmp.m[k] = 0;
	}
	tmp.m[i]++;
	int wsum = 0;
	for(int k = 0; k < 3; k++) {
	  wsum += tmp.m[k] * w[k];
	}
	if(wsum != j) continue;
	if(i == 0 || tmp.sumCost() < dp[j].sumCost()) {
	  dp[j] = tmp;
	}
      }
    }
    cout << dp[m].sumCost() << endl;
  }
}