#include <algorithm>
#include <iostream>
#include <string>
#include <map>
#include <vector>

using namespace std;

int main() {
    const int INF = 10e+7;

    vector<pair<int,int>> v; // (g, yen)
    v.push_back(make_pair(2, 380));
    v.push_back(make_pair(3, 550));
    v.push_back(make_pair(5, 850));
    v.push_back(make_pair(2*5, 380*5*80/100));
    v.push_back(make_pair(3*4, 550*4*85/100));
    v.push_back(make_pair(5*3, 850*3*88/100));

    int dp[501];
    for (int i=0; i<=500; ++i) dp[i] = INF;
    dp[0] = 0;
    for (int i=0; i<(int)v.size(); ++i) {
        for (int j=0; j<=500; ++j) {
            int k = j + v[i].first;
            if (dp[j] != INF && k <= 500) {
                dp[k] = min(dp[k], dp[j] + v[i].second);
            }
        }
    }

    int n;
    while (cin >> n && n != 0) {
        cout << dp[n / 100] << endl;
    }

    return 0;
}