using System; public class Hello { static void Main() { var n = int.Parse(Console.ReadLine().Trim()); string[] line = Console.ReadLine().Trim().Split(' '); var a = Array.ConvertAll(line, long.Parse); var b = new int[n - 1]; for (int i = 0; i < n - 1; i++) { if (a[i + 1] > a[i]) b[i] = 1; else if (a[i + 1] == a[i]) b[i] = 0; else b[i] = -1; } var c = new int[n]; var z = new int[n]; for (int i = 1; i < n; i++) { c[i] = c[i - 1] + b[i - 1]; z[i] = b[i - 1] == 0 ? z[i - 1] + 1 : z[i - 1]; } getAns(c, z); } static void getAns2(int[] c, int[] z, int L, int r) { var qLr = L - r; var cLr = c[L] - c[r]; var cz = z[L] - z[r]; if (qLr == 0) { Console.WriteLine("1 1"); return; } if (qLr == cz) { Console.WriteLine("1 1"); return; } if (qLr == cLr) { Console.WriteLine("1 0"); return; } if (qLr == cLr + cz) { Console.WriteLine("1 0"); return; } if (qLr == -cLr) { Console.WriteLine("0 1"); return; } if (qLr == -cLr + cz) { Console.WriteLine("0 1"); return; } Console.WriteLine("0 0"); } static void getAns(int[] c, int[] z) { var q = int.Parse(Console.ReadLine().Trim()); for (int i = 0; i < q; i++) { string[] line = Console.ReadLine().Trim().Split(' '); var L = int.Parse(line[0]); var r = int.Parse(line[1]); getAns2(c, z, L, r); } } }