#include // #pragma GCC optimize("Ofast") // #pragma GCC optimize("unroll-loops") #define int long long #define ld long double #define vec vector #define all(m) (m).begin(), (m).end() #define forn(i,n) for(int i=0;i<(n);i++) // TIP To Run code, press or click the icon in the gutter. using namespace std; int mod = 1e9+7; struct train { int p,s,l; char d; int left, right; int eng; }; void solve() { int n,m,t; cin>>n>>m>>t; vec v(m); forn(i,m) { cin>>v[i].p>>v[i].s>>v[i].d>>v[i].l; if (v[i].d == 'L') { v[i].s *= -1; } v[i].left = v[i].p+v[i].s*t; v[i].left = min(max(v[i].left, 0LL), n); v[i].right = v[i].p+v[i].s*t+v[i].l-1; v[i].right = min(max(v[i].right, -1LL),n-1); if (v[i].d == 'R') { v[i].eng = v[i].p+v[i].s*t+v[i].l-1; } else { v[i].eng = v[i].p+v[i].s*t; } } vec> gr(m, vec(n, '=')); forn(i,m) { for (int j=v[i].left; j<=v[i].right && j= 0 && v[i].eng < n) { gr[i][v[i].eng] = '!'; } } forn(i,m) { forn(j,n) cout<>tt; while (tt--) solve(); return 0; }