import ast


def matrix_vector_dot():
    # 读取输入
    matrix_str = input().strip()
    vector_str = input().strip()

    try:
        # 解析输入
        matrix = ast.literal_eval(matrix_str)
        vector = ast.literal_eval(vector_str)

        # 验证输入格式
        if not (
            isinstance(matrix, list)
            and all(isinstance(row, list) for row in matrix)
            and isinstance(vector, list)
        ):
            return -1

        # 检查维度
        rows = len(matrix)
        if rows == 0:
            return -1

        cols = len(matrix[0])
        if any(len(row) != cols for row in matrix):
            return -1

        if len(vector) != cols:
            return -1

        # 计算点积
        result = []
        for row in matrix:
            dot = sum(a * b for a, b in zip(row, vector))
            result.append(dot)

        return result

    except (ValueError, SyntaxError):
        return -1


# 调用函数
if __name__ == "__main__":
    print(matrix_vector_dot())