write a go solution for Description: You have an array a_1,a_2,...,a_n. Each element initially has value 0 and color 1. You are also given q queries to perform: - Color l r c: Change the color of elements a_l,a_l+1,*s,a_r to c (1<=l<=r<=n, 1<=c<=n). - Add c x: Add x to values of all elements a_i (1<=i<=n) of color c (1<=c<=n, -10^9<=x<=10^9). - Query i: Print a_i (1<=i<=n). Input Format: The first line of input contains two integers n and q (1<=n,q<=10^6) — the length of array a and the number of queries you have to perform. Each of the next q lines contains the query given in the form described in the problem statement. Output Format: Print the answers to the queries of the third type on separate lines. Note: The first sample test is explained below. Blue, red and green represent colors 1, 2 and 3 respectively.. Output only the code with no comments, explanation, or additional text.