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())