#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {1, 0, -1, 0};
const long long int linf = 99999999999999999ll;
const int maxn = 1e5 + 100;
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int lcm(long long int a, long long int b) {
  return (a * b) / gcd(a, b);
}
vector<string> res;
int main() {
  int h1, a1, c1, h2, a2, c2;
  cin >> h1 >> a1 >> c1 >> h2 >> a2;
  while (h2 > 0) {
    if (a1 >= h2) {
      res.push_back("STRIKE");
      h1 -= a2;
      h2 -= a1;
    } else {
      if (a2 >= h1) {
        res.push_back("HEAL");
        h1 += c1;
        h1 -= a2;
      } else {
        res.push_back("STRIKE");
        h1 -= a2;
        h2 -= a1;
      }
    }
  }
  cout << res.size() << endl;
  for (int i = 0; i < res.size(); i++) cout << res[i] << endl;
  return 0;
}
