import ast
import math


def mean(x):
    m = len(x[0])
    total = [0. for _ in range(m)]
    for i in range(m):
        cnt = 0.
        for num in x:
            cnt += num[i]
        
        total[i] = cnt

    return [(nums/len(x)) for nums in total]

def std(x):
    mu = mean(x)
    res = [0. for _ in range(len(x[0]))]
    k=0.
    for vec in x:
        for i in range(len(vec)):
            k = (vec[i] - mu[i]) ** 2
            res[i] += k
            # res 存储了每个位置上的x-mu平方总和
            
    
    return ([math.sqrt(s/len(x)) for s in res])

# 输入是一组数据,返回是标准化后的数据
def standardized(x):
    mu = mean(x)
    sigma = std(x)
    stand = 0.
    res = [[] for _ in range(len(x))]
    for idx, num in enumerate(x):
        for i in range(len(num)):
            stand = (num[i] - mu[i]) / sigma[i]
            res[idx].append(stand)
    
    return res

def normalized(x):
    n = len(x[0])
    find = [[] for _ in range(n)]
    ans_min = []
    ans_max = []
    res = [[] for _ in range(len(x))]
    for i in range(n):
        for num in x:
            find[i].append(num[i])
        
        ans_min.append(min(find[i])) # ans_min存储每个位置i上的最小值
        ans_max.append(max(find[i])) # ans_max存储每个位置i上的最大值

    for idx, vec in enumerate(x):
        for i in range(len(ans_max)):
            res[idx].append((vec[i] - ans_min[i]) / (ans_max[i] - ans_min[i]))

    return res # res存储normalized后的结果
    
        
        

def main():
    data = ast.literal_eval(input().strip())
    n = len(data)
    ans = [[] for _ in range(2*n)]
    stand = standardized(data)
    norm = normalized(data)
    paired = list(zip(stand, norm))
    # 打印结构化输出,便于阅读

    formatted = []
    for row in zip(*paired):
        row_fmt = []
        for col in row:
            row_fmt.append([round(v,4) for v in col])
        formatted.append(row_fmt)

    print(tuple(formatted))


# 主程序
if __name__ == "__main__":
    main()