#include <bits/stdc++.h>

using namespace std;

const int MaxN = 1e5 + 13;
const int MaxX = 3e3 + 53;
const int MOD = 1e9 + 7;
const int INF = 1e9;

int n, k;

int b[MaxX][MaxX];

void add(int x, int y, int xx, int yy)
{
    if(xx >= k + k)
        xx = k + k - 1;
    if(yy >= k + k)
        yy = k + k - 1;
    if(x < 0)
        x = 0;
    if(y < 0)
        y = 0;
    ++b[x][y];
    --b[xx + 1][y];
    --b[x][yy + 1];
    ++b[xx + 1][yy + 1];
}

void del(int x, int y, int xx, int yy)
{
    if(xx >= k + k)
        xx = k + k - 1;
    if(yy >= k + k)
        yy = k + k - 1;
    if(x < 0)
        x = 0;
    if(y < 0)
        y = 0;
    --b[x][y];
    ++b[xx + 1][y];
    ++b[x][yy + 1];
    --b[xx + 1][yy + 1];
}

void del(int x, int y, int a, int b, int aa, int bb)
{
    del(a - x, b - y, aa - x, bb - y);
}

void solve()
{
    int ans = 0;
    for(int i = 0; i < MaxX; ++i)
        for(int j = 0; j < MaxX; ++j)
        {
            if(i)
                b[i][j] += b[i - 1][j];
            if(j)
                b[i][j] += b[i][j - 1];
            if(i && j)
                b[i][j] -= b[i - 1][j - 1];
            ans = max(ans, b[i][j]);
        }
    cout << ans << '\n';
}

int main()
{
//    freopen("input.txt", "r", stdin);
    ios_base :: sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> k;
    for(int i = 1; i <= n; ++i)
    {
        int x, y;
        char c;
        cin >> x >> y >> c;
        x %= (k + k);
        y %= (k + k);
        if(c == 'B')
        {
            if(x < k && y < k || (x >= k && y >= k))
            {
                x %= k;
                y %= k;
                add(0, 0, k + k, k + k);

                del(x, y, 0, 0, k - 1, k - 1);
                del(x, y, k, k, k + k - 1, k + k - 1);
                del(x, y, k + k, k + k, k + k + k - 1, k + k + k - 1);

                del(x, y, 0, k + k, k - 1, k + k + k - 1);
                del(x, y, k + k, 0, k + k + k - 1, k - 1);

            }else
            {
                x %= k;
                y %= k;
                add(0, 0, k + k, k + k);

                del(x, y, 0, k, k - 1, k + k - 1);
                del(x, y, k, 0, k + k - 1, k - 1);
                del(x, y, k, k + k, k + k - 1, k + k + k - 1);
                del(x, y, k + k, k, k + k + k - 1, k + k - 1);
            }
        }else
        {
            if(x < k && y < k || (x >= k && y >= k))
            {
                x %= k;
                y %= k;
                add(0, 0, k + k, k + k);

                del(x, y, 0, k, k - 1, k + k - 1);
                del(x, y, k, 0, k + k - 1, k - 1);
                del(x, y, k, k + k, k + k - 1, k + k + k - 1);
                del(x, y, k + k, k, k + k + k - 1, k + k - 1);
            }else
            {
                x %= k;
                y %= k;
                add(0, 0, k + k, k + k);

                del(x, y, 0, 0, k - 1, k - 1);
                del(x, y, k, k, k + k - 1, k + k - 1);
                del(x, y, k + k, k + k, k + k + k - 1, k + k + k - 1);

                del(x, y, 0, k + k, k - 1, k + k + k - 1);
                del(x, y, k + k, 0, k + k + k - 1, k - 1);
            }
        }
    }

    solve();

    return 0;
}


Measured memory_bytes: 36736