>>11526209I made following code:
RESULT = {{x}}; Table[AppendTo[RESULT, Flatten[{Map[f, RESULT[[-1]]], Map[g, RESULT[[-1]]], Map[h, RESULT[[-1]]]}]], 3];
Flatten[RESULT] gives
{x, f[x], g[x], h[x], f[f[x]], f[g[x]], f[h[x]], g[f[x]], g[g[x]], g[h[x]], h[f[x]], h[g[x]], h[h[x]], f[f[f[x]]], f[f[g[x]]], f[f[h[x]]], f[g[f[x]]], f[g[g[x]]], f[g[h[x]]], f[h[f[x]]], f[h[g[x]]], f[h[h[x]]], g[f[f[x]]], g[f[g[x]]], g[f[h[x]]], g[g[f[x]]], g[g[g[x]]], g[g[h[x]]], g[h[f[x]]], g[h[g[x]]], g[h[h[x]]], h[f[f[x]]], h[f[g[x]]], h[f[h[x]]], h[g[f[x]]], h[g[g[x]]], h[g[h[x]]], h[h[f[x]]], h[h[g[x]]], h[h[h[x]]]}