#include using namespace std; int main() { int N, Q; cin >> N >> Q; int x[Q + 1][N]; for (int k = 0; k < N; k++) { x[0][k] = 0; } char s[Q]; int L[Q], R[Q], K[Q]; for (int i = 0; i < Q; i++){ cin >> s[i]; if (s[i] == '!') { cin >> L[i] >> R[i] >> K[i]; for (int j = L[i]; j < R[i]; j++){ x[i][j] = x[i - 1][j] + K[i]; } }else{ for (int k = 0; k < N; k++) if(i == 0){ x[1][k] = x[0][k]; }else{ x[i][k] = x[i-1][k]; } int answer = 0; for (int z = 0; z < Q ;z++) { for (int y = 0; y < N; y++) { if (x[i][y] == x[z][y]) { if(x[i][N] == x[z][N]){ answer++; } continue; }else{ goto lo; } } lo: answer++; } cout << answer << endl; } } return 0; }