#include using namespace std; using ll = long long; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); //使う集合がSの部分集合で、価格がM以下で価格が最大のもの ll N, M, Q, K, ans=0; cin >> N >> M >> Q; K = 1< A(N), B(N), SA(K), SB(K); for (int i=0; i> A[i] >> B[i]; for (int i=0; i>j&1){ SA[i] += A[j]; SB[i] += B[j]; } } } vector dp1(K), dp2(K); for (int i=0; i>j&1)){ dp1[i|(1<>j&1)){ dp2[i|(1<