#include using namespace std; const int MOD = 1000000007; long long solve(const vector >& block){ int h = block.size(); int w = block[0].size(); vector > dp(h+1, vector(w+1, 0)); dp[0][0] = 1; for(int y=0; y> h >> w >> n >> p; vector y(n), x(n); vector name(n); for(int i=0; i> y[i] >> x[i] >> name[i]; long long MX = 0; bitset<32> ans; for(int i=0; i<(1< bs(i); if(bs.count() != p) continue; vector > block(h+1, vector(w+1, false)); for(int j=0; j