#include <bits/stdc++.h>
#define int long long
#define fast ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
#define lg2(n) (63-__builtin_clzll(n))
#define mask(n) (1LL << (n))
#define TASK ""
#define openfile(); if( fopen(TASK".inp", "r")){freopen(TASK".inp", "r", stdin);freopen(TASK".out", "w", stdout);}
#define lc(n) (n << 1)
#define rc(n) ((n << 1) | 1)
#define fi first
#define se second
#define FOR(i, l, r, k) for( int i = l; i <= r; i += k)
#define FOD(i, r, l, k) for( int i = r; i >= l; i -= k)
#define mii map<int,int>
#define umi unordered_map<int, int>
#define pii pair<int,int>
#define vi vector<int>
using namespace std;
const int oo = 1e18 + 100;
const int mod = 1e9 + 7;
const int nmax = 2e5 + 8;
const int base = 311;
int n, m, x, y, k, dp[108][108][15][15];
int sol(int i, int i2, int k1, int k2){
if(i == n && i2 == m) return 1;
// if(i > n + 1 || i2 > m + 1) return 0;
if(dp[i][i2][k1][k2] != -1) return dp[i][i2][k1][k2];
int cur = 0;
if(k1 < x && i < n){
cur += sol(i + 1, i2, k1 + 1, 0);
}
if(k2 < y && i2 < m){
cur += sol(i, i2 + 1, 0, k2 + 1);
}
return dp[i][i2][k1][k2] = cur;
}
int ans[208], ok;
void trace(int i, int i2, int k1, int k2){
if(i == n && i2 == m) return;
int cur = 0;
if(i < n && k1 < x) cur = sol(i + 1, i2, k1 + 1, 0);
if(cur >= k){
ans[i + i2 + 1] = 0;
trace(i + 1, i2, k1 + 1, 0);
}
else{
k -= cur;
// if(i2 >= m || k2 >= y || k > sol(i, i2 + 1, 0, k2 + 1)) return void(ok = 1);
ans[i + i2 + 1] = 1;
if(i2 < m && k2 < y) trace(i, i2 + 1, 0, k2 + 1);
}
}
main(){
fast;
openfile();
memset(dp, -1, sizeof dp);
cin >> n >> m >> x >> y >> k;
// n = n + m;
cout << sol(0, 0, 0, 0) << endl;
if(k > sol(0, 0, 0, 0)){
return cout << -1, 0;
}
trace(0, 0, 0, 0);
// if(ok) return cout << -1, 0;
for(int i = 1; i <= n + m; ++i){
cout << (ans[i] ? 'H' : 'F');
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGZhc3QgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwojZGVmaW5lIGxnMihuKSAoNjMtX19idWlsdGluX2NsemxsKG4pKQojZGVmaW5lIG1hc2sobikgKDFMTCA8PCAobikpCiNkZWZpbmUgVEFTSyAiIgojZGVmaW5lIG9wZW5maWxlKCk7ICBpZiggZm9wZW4oVEFTSyIuaW5wIiwgInIiKSl7ZnJlb3BlbihUQVNLIi5pbnAiLCAiciIsIHN0ZGluKTtmcmVvcGVuKFRBU0siLm91dCIsICJ3Iiwgc3Rkb3V0KTt9CiNkZWZpbmUgbGMobikgKG4gPDwgMSkKI2RlZmluZSByYyhuKSAoKG4gPDwgMSkgfCAxKQoKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIEZPUihpLCBsLCByLCBrKSBmb3IoIGludCBpID0gbDsgaSA8PSByOyBpICs9IGspCiNkZWZpbmUgRk9EKGksIHIsIGwsIGspIGZvciggaW50IGkgPSByOyBpID49IGw7IGkgLT0gaykKCiNkZWZpbmUgbWlpIG1hcDxpbnQsaW50PgojZGVmaW5lIHVtaSB1bm9yZGVyZWRfbWFwPGludCwgaW50PgojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgdmkgdmVjdG9yPGludD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgb28gPSAxZTE4ICsgMTAwOwpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50IG5tYXggPSAyZTUgKyA4Owpjb25zdCBpbnQgYmFzZSA9IDMxMTsKCmludCBuLCBtLCB4LCB5LCBrLCBkcFsxMDhdWzEwOF1bMTVdWzE1XTsKCmludCBzb2woaW50IGksIGludCBpMiwgaW50IGsxLCBpbnQgazIpewogICAgaWYoaSA9PSBuICYmIGkyID09IG0pIHJldHVybiAxOwovLyAgICBpZihpID4gbiArIDEgfHwgaTIgPiBtICsgMSkgIHJldHVybiAwOwogICAgaWYoZHBbaV1baTJdW2sxXVtrMl0gIT0gLTEpIHJldHVybiBkcFtpXVtpMl1bazFdW2syXTsKICAgIGludCBjdXIgPSAwOwogICAgaWYoazEgPCB4ICYmIGkgPCBuKXsKICAgICAgICBjdXIgKz0gc29sKGkgKyAxLCBpMiwgazEgKyAxLCAwKTsKICAgIH0KICAgIGlmKGsyIDwgeSAmJiBpMiA8IG0pewogICAgICAgIGN1ciArPSBzb2woaSwgaTIgKyAxLCAwLCBrMiArIDEpOwogICAgfQogICAgcmV0dXJuIGRwW2ldW2kyXVtrMV1bazJdID0gY3VyOwp9CmludCBhbnNbMjA4XSwgb2s7CnZvaWQgdHJhY2UoaW50IGksIGludCBpMiwgaW50IGsxLCBpbnQgazIpewogICAgICAgIGlmKGkgPT0gbiAmJiBpMiA9PSBtKSByZXR1cm47CiAgICAgICAgaW50IGN1ciA9IDA7CiAgICAgICAgaWYoaSA8IG4gJiYgazEgPCB4KSBjdXIgPSBzb2woaSArIDEsIGkyLCBrMSArIDEsIDApOwogICAgICAgIGlmKGN1ciA+PSBrKXsKICAgICAgICAgICAgYW5zW2kgKyBpMiArIDFdID0gMDsKICAgICAgICAgICAgdHJhY2UoaSArIDEsIGkyLCBrMSArIDEsIDApOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBrIC09IGN1cjsKLy8gICAgICAgICAgICBpZihpMiA+PSBtIHx8IGsyID49IHkgfHwgayA+IHNvbChpLCBpMiArIDEsIDAsIGsyICsgMSkpIHJldHVybiB2b2lkKG9rID0gMSk7CiAgICAgICAgICAgIGFuc1tpICsgaTIgKyAxXSA9IDE7CiAgICAgICAgICAgIGlmKGkyIDwgbSAmJiBrMiA8IHkpIHRyYWNlKGksIGkyICsgMSwgMCwgazIgKyAxKTsKICAgICAgICB9Cn0KCm1haW4oKXsKICAgIGZhc3Q7CiAgICBvcGVuZmlsZSgpOwogICAgbWVtc2V0KGRwLCAtMSwgc2l6ZW9mIGRwKTsKICAgIGNpbiA+PiBuID4+IG0gPj4geCA+PiB5ID4+IGs7Ci8vICAgIG4gPSBuICsgbTsKICAgIGNvdXQgPDwgc29sKDAsIDAsIDAsIDApIDw8IGVuZGw7CiAgICBpZihrID4gc29sKDAsIDAsIDAsIDApKXsKICAgICAgICByZXR1cm4gY291dCA8PCAtMSwgMDsKICAgIH0KICAgIHRyYWNlKDAsIDAsIDAsIDApOwovLyAgICBpZihvaykgcmV0dXJuIGNvdXQgPDwgLTEsIDA7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG4gKyBtOyArK2kpewogICAgICAgIGNvdXQgPDwgKGFuc1tpXSA/ICdIJyA6ICdGJyk7CiAgICB9Cn0K