write a go solution for Description: This problem is given in two editions, which differ exclusively in the constraints on the number n. You are given an array of integers a[1],a[2],...,a[n]. A block is a sequence of contiguous (consecutive) elements a[l],a[l+1],...,a[r] (1<=l<=r<=n). Thus, a block is defined by a pair of indices (l,r). Find a set of blocks (l_1,r_1),(l_2,r_2),...,(l_k,r_k) such that: - They do not intersect (i.e. they are disjoint). Formally, for each pair of blocks (l_i,r_i) and (l_j,r_j) where ineqj either r_i<l_j or r_j<l_i. - For each block the sum of its elements is the same. Formally, a[l_1]+a[l_1+1]+\dots+a[r_1]=a[l_2]+a[l_2+1]+\dots+a[r_2]= \dots = a[l_k]+a[l_k+1]+\dots+a[r_k]. - The number of the blocks in the set is maximum. Formally, there does not exist a set of blocks (l_1',r_1'),(l_2',r_2'),...,(l_k'',r_k'') satisfying the above two requirements with k'>k. The picture corresponds to the first example. Blue boxes illustrate blocks. Write a program to find such a set of blocks. Input Format: The first line contains integer n (1<=n<=50) — the length of the given array. The second line contains the sequence of elements a[1],a[2],...,a[n] (-10^5<=a_i<=10^5). Output Format: In the first line print the integer k (1<=k<=n). The following k lines should contain blocks, one per line. In each line print a pair of indices l_i,r_i (1<=l_i<=r_i<=n) — the bounds of the i-th block. You can print blocks in any order. If there are multiple answers, print any of them. Note: None. Output only the code with no comments, explanation, or additional text.