#include <bits/stdc++.h>
using namespace std;
struct P {
  int h, a, d;
};
int main() {
  P yang, mons, inc;
  int min, st, hp, atk, def;
  scanf("%d %d %d", &yang.h, &yang.a, &yang.d);
  scanf("%d %d %d", &mons.h, &mons.a, &mons.d);
  scanf("%d %d %d", &hp, &atk, &def);
  st = 0;
  if (yang.a <= mons.d) st = mons.d - yang.a + 1;
  min = (999999 * hp) + (999999 * atk) + (999999 * def);
  for (inc.a = st; inc.a <= 200; inc.a++) {
    for (inc.d = 0; inc.d <= 100; inc.d++) {
      for (inc.h = 0; inc.h <= 3000; inc.h++) {
        int temp, y_rem, m_rem;
        if (yang.d + inc.d >= mons.a)
          y_rem = 999999;
        else {
          y_rem = (yang.h + inc.h) / (mons.a - (yang.d + inc.d));
          if (y_rem * (mons.a - (yang.d + inc.d)) != (yang.h + inc.h)) y_rem++;
        }
        m_rem = mons.h / ((yang.a + inc.a) - mons.d);
        if (m_rem * ((yang.a + inc.a) - mons.d) != mons.h) m_rem++;
        if (y_rem <= m_rem) continue;
        temp = (inc.h * hp) + (inc.a * atk) + (inc.d * def);
        if (temp < min) min = temp;
      }
    }
  }
  printf("%d", min);
  return 0;
}
