#include #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() ); using namespace std; using ll = long long; void chmin(ll &x, ll y) { x = min(x, y); } void chmax(ll &x, ll y) { x = max(x, y); } const ll INF = 1e9; const ll MOD = 1e9 + 7; int main(){ int n; cin >> n; vector v(n), is(n+1), ds(n+1); rep(i, n) cin >> v[i]; for(int i=1; i= v[i]); ds[i] += ds[i-1]; } int q; cin >> q; rep(_, q){ int l, r; cin >> l >> r; cout << (is[r]-is[l] == r-l) << " " << (ds[r]-ds[l] == r-l) << endl; } }