魔法少女
题号:NC25535
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

wjy是一个有名的魔法少女,住在一个地下洞穴的负n层。

每一层有m个并列的房间,所以这个洞穴可以看做是一个n行m列的矩阵。

现在rainy要进来和魔法少女wjy一起玩雀,她将从地面的任意一列往下走,wjy有n个魔法装置放在各层楼里面,其中第负i行的魔法装置的作用区域是第a_ib_i列,如果rainy向下走一层后,正好走到这一楼的已启用的魔法装置的作用区域,她就会被传送到第c_i列,继续往下走,否则她将保持原来所在列继续向下走。

启用第i行的魔法装置需要花费d_i的魔法值,虽然魔法少女wjy的魔法值很多,但她还是想知道,如果她想使,rainy无论从第一层的哪个房间开始走下,都能走到同一列里面,所至少要花费的魔法值。

输入描述:

第一行两个正整数

接下来n行 每行四个正整数

保证d_i在C++的int范围内。

输出描述:

输出你的答案,如果wjy怎么做都没法使rainy走到同一列中,输出-1即可。

保证答案在C++的long long int范围内。
示例1

输入

复制
5 6
2 4 3 5
1 2 1 8
4 6 5 2
4 6 4 7
1 4 3 10

输出

复制
17