#include using namespace std; #define rep(i, a, b) for (int i = (a); i < (b); i++) #define fo(i, n) rep(i, 0, n) #define all(x) std::begin(x), std::end(x) #define sz(x) int((x).size()) #define F first #define S second #define MP make_pair #define PB push_back typedef long long ll; typedef vector vi; typedef pair pii; typedef vector vvi; typedef vector vpii; typedef vector vll; typedef pair pll; typedef vector vvll; typedef vector vpll; signed main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.badbit | cin.failbit); ll n, m, t; cin >> n >> m >> t; while(m--){ string ans(n, '='); ll p, s, l; char d; cin >> p >> s >> d >> l; ll v = s; if(d == 'L') v = -s; ll start = p + v * t; ll end = start + l - 1; start = max(start, (ll)0); end = min(end, n); for(ll i = start; i <= end; i++){ if(i >= 0 && i < ans.size()){ ans[i] = '#'; } } ll pos = p + v * t; if(d == 'L'){ if(pos >= 0 && pos < ans.size()) ans[pos] = '!'; }else{ pos += l - 1; if(pos >= 0 && pos < ans.size()) ans[pos] = '!'; } cout << ans << '\n'; } }