# https://w...content-available-to-author-only...j.com/problems/MATSUM/
import sys


def make_grid(n):
    return [[0] * n for _ in range(n)]

def add(grid, n, x, y, v):
    while x < n:
        i = y
        while i < n:
            grid[x][i] += v
            i = i | (i + 1)
        x = x | (x + 1)

def set_v(grid, a, n, x, y, v):
    add(grid, n, x, y, v - a[x][y])
    a[x][y] = v

def prefix_sum(grid, x, y):
    res = 0
    while x >= 0:
        j = y
        while j >= 0:
            res += grid[x][j]
            j = (j & (j + 1)) - 1
        x = (x & (x + 1)) - 1
    return res

def range_sum(grid, x1, y1, x2, y2):
    return (prefix_sum(grid, x2, y2)
            + prefix_sum(grid, x1 - 1, y1 - 1)
            - prefix_sum(grid, x1 - 1, y2)
            - prefix_sum(grid, x2, y1 - 1))

def main():
    data = sys.stdin.read().split()
    p = 0
    t = int(data[p]); p += 1
    out = []
    for _ in range(t):
        n = int(data[p]); p += 1
        grid = make_grid(n)
        a = make_grid(n)
        while True:
            cmd = data[p]; p += 1
            if cmd == 'END':
                break
            if cmd == 'SET':
                x = int(data[p]); y = int(data[p+1]); v = int(data[p+2]); p += 3
                set_v(grid, a, n, x, y, v)
            else:
                x1 = int(data[p]); y1 = int(data[p+1])
                x2 = int(data[p+2]); y2 = int(data[p+3]); p += 4
                out.append(range_sum(grid, x1, y1, x2, y2))
    sys.stdout.write('\n'.join(map(str, out)) + '\n')

main()
