晾衣服
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

鸡尾酒从杭州回来,囤积了许多衣服,洗好之后,他发现晾衣服是一件麻烦的事。

晾衣绳的长度只有L,而鸡尾酒有N件衣服,每件衣服挂在衣架上之后可以横着晾或者竖着晾,横着晾比较占晾衣绳的地方,但是受光面积大,干得也快,竖着晾反之。

鸡尾酒每天都要专心卖萌,没时间管这些衣服,所以在挂好每件衣服之后就不会再调整,他只希望能最快的看到所有衣服全部被晾干。

请你帮鸡尾酒算算,假如他以最优决策挂衣服,最早经过多长时间,所有衣服都能被晾干。

如果他永远无法一次性晾干所有衣服,输出-1



输入描述:

第一行给出N,L
(1≤N≤2e5, 1≤L≤1e9)

接下来N行描述衣服,每行五个数字,分别代表湿度a,横放占晾衣架的长度b,横放每分钟减少的湿度c,竖放长度d,竖放每分钟减少的湿度e(b>d,c>e,1≤a,b,c,d,e≤1e9)

输出描述:

输出一行一个整数代表答案。
示例1

输入

复制
2 10
100 10 100 1 1
10 3 5 2 3

输出

复制
100