import sys
import math
import numpy as np

def get_y(xs,ys,gidx)->float:
    lam = 0.1
    dim = 3
    y = np.array(ys)
    y = y.T
    X = np.array([
        [math.pow(e,i) for e in xs]
        for i in range(dim)
    ])
    X = X.T
    gx = np.array([math.pow(gidx,i) for i in range(dim)])
    beta = np.linalg.inv(X.T @ X + lam * np.eye(dim)) @ X.T @ y
    res = gx @ beta
    return float(res.item())



def main(M,N,gap_ids,data)->list:
    assert len(gap_ids)==M,"err1"
    L,res=0,[]
    for i,gidx in enumerate(gap_ids):
        R=N
        if i<M-1:
            R=gap_ids[i+1]
        indices = list(range(L, gidx)) + list(range(gidx + 1, R))
        xs = [i + 1 for i in indices]
        ys = [float(data[i]) for i in indices]
        y = get_y(xs,ys,gidx+1)
        L = gidx+1
        res.append(y)
    return res

if __name__ == "__main__":
    M,N = map(int, input().split())
    gap_index = []
    data_arr = []
    for i in range(N):
        input_str = input()
        if input_str.startswith('Gap'):
            gap_index.append(i)
            data_arr.append(None)
            continue
        data_arr.append(float(input_str))
    res = main(M,N,gap_index,data_arr)
    for idx,e in enumerate(res):
        print(f"Gap_{idx+1}: {e:.2f}")