#include <bits/stdc++.h>
using namespace std;
int solve(const vector<int> &a) {
const int n = a.size();
vector<int64_t> pa(n);
pa[0] = a[0];
for (int i = 1; i < n; ++i) {
pa[i] = pa[i - 1] + a[i];
}
// dp[i][j][0/1] = answer when last chosen subarray is [j...i]
vector dp(n, vector(n, vector<int>(2, 1)));
// 0 => blue
// 1 => red
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= i; ++j) {
for (int k = 0; k < j; ++k) {
// [k, j) [j, i]
int64_t sum_l = pa[j - 1] - (k == 0 ? 0 : pa[k - 1]);
int64_t sum_r = pa[i] - pa[j - 1];
if (sum_r < sum_l) {
dp[i][j][0] = max(dp[i][j][0], dp[j - 1][k][1] + 1);
}
if (sum_r > sum_l) {
dp[i][j][1] = max(dp[i][j][1], dp[j - 1][k][0] + 1);
}
}
}
}
int ans = 0;
for (int j = 0; j <= n - 1; ++j) {
for (int k = 0; k < 2; ++k) {
ans = max(ans, dp[n - 1][j][k]);
}
}
return ans;
}
int main() {
int n;
cin >> n;
vector<int> l(n);
for (int &i : l) {
cin >> i;
}
int q;
cin >> q;
while (q--) {
int x, y, a, b;
cin >> x >> y >> a >> b;
l[x - 1] = y;
vector<int> vec;
for (int i = a; i < b; ++i) {
vec.push_back(l[i]);
}
cout << solve(vec) << '\n';
}
}