#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void maximize(T& a, const T& b) {
if (a < b) a = b;
}
const int N = 1e3 + 5;
// Xét đường đi P bất kì đi từ 1 đến n
// Ta có P = e(i1), e(i2),..., e(ik) là các cạnh có trên đường đi
// Khi đó f(P) = [lx, rx] = giao của tất cả các đoạn [l(i1), r(i1)], [l(i2), r(i2)],..., [l(ik), r(ik)]
// Suy ra max{l(i)} <= lx <= rx <= min{r(i)}
// hay l(i) <= lx <= rx <= r(i) với mọi i (*)
// Nhận xét:
// - lx sẽ chính là l(i) nào đấy, nên thay vì duyệt lx từ 1 -> 1e6 thì ta chỉ duyệt trong các l(i)
// - Khi đã chốt lx, với rx càng lớn thì càng khó để đi được từ 1 đến n, do đó ta có thể tìm kiếm nhị phân rx
// - Để check [lx, rx] có thoả mãn hay không thì đơn giản là ta dfs/bfs từ 1 xem có thể đi được đến n hay không (xem (*))
// Độ phức tạp: O(m * log2(1e6) * (n + m))
struct EdgeInfo {
int v, l, r;
};
int n, m;
vector<EdgeInfo> adj[N];
bool vis[N];
bool bfs(int s, int lx, int rx) {
for (int u = 1; u <= n; u++) vis[u] = false;
queue<int> q;
vis[s] = true;
q.push(s);
while (!q.empty()) {
int u = q.front(); q.pop();
if (u == n) return true;
for (auto e : adj[u]) {
int v = e.v, l = e.l, r = e.r;
if ((l <= lx && rx <= r) && !vis[v]) {
vis[v] = true;
q.push(v);
}
}
}
return false;
}
bool check(int lx, int mid) {
return bfs(1, lx, mid);
}
int findR(int lx) {
int lo = lx, hi = 1e6, ans = -1;
while (lo <= hi) {
int mid = (lo + hi) >> 1;
if (check(lx, mid)) {
ans = mid;
lo = mid + 1;
}
else {
hi = mid - 1;
}
}
return ans;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
vector<int> ls;
for (int i = 0; i < m; i++) {
int u, v, l, r;
cin >> u >> v >> l >> r;
adj[u].push_back({v, l, r});
adj[v].push_back({u, l, r});
ls.push_back(l);
}
int ans = 0;
for (int lx : ls) {
int rx = findR(lx);
if (rx == -1) continue;
maximize(ans, rx - lx + 1);
}
if (ans == 0) {
cout << "Nice work, Dima!" << '\n';
}
else {
cout << ans << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAgCn0KCmNvbnN0IGludCBOID0gMWUzICsgNTsgCgovLyBYw6l0IMSRxrDhu51uZyDEkWkgUCBi4bqldCBrw6wgxJFpIHThu6sgMSDEkeG6v24gbgovLyBUYSBjw7MgUCA9IGUoaTEpLCBlKGkyKSwuLi4sIGUoaWspIGzDoCBjw6FjIGPhuqFuaCBjw7MgdHLDqm4gxJHGsOG7nW5nIMSRaQovLyBLaGkgxJHDsyBmKFApID0gW2x4LCByeF0gPSBnaWFvIGPhu6dhIHThuqV0IGPhuqMgY8OhYyDEkW/huqFuIFtsKGkxKSwgcihpMSldLCBbbChpMiksIHIoaTIpXSwuLi4sIFtsKGlrKSwgcihpayldCi8vIFN1eSByYSBtYXh7bChpKX0gPD0gbHggPD0gcnggPD0gbWlue3IoaSl9Ci8vICAgICAgICBoYXkgbChpKSA8PSBseCA8PSByeCA8PSByKGkpIHbhu5tpIG3hu41pIGkgKCopCi8vIE5o4bqtbiB4w6l0OiAKLy8gLSBseCBz4bq9IGNow61uaCBsw6AgbChpKSBuw6BvIMSR4bqleSwgbsOqbiB0aGF5IHbDrCBkdXnhu4d0IGx4IHThu6sgMSAtPiAxZTYgdGjDrCB0YSBjaOG7iSBkdXnhu4d0IHRyb25nIGPDoWMgbChpKSAKLy8gLSBLaGkgxJHDoyBjaOG7kXQgbHgsIHbhu5tpIHJ4IGPDoG5nIGzhu5tuIHRow6wgY8Ogbmcga2jDsyDEkeG7gyDEkWkgxJHGsOG7o2MgdOG7qyAxIMSR4bq/biBuLCBkbyDEkcOzIHRhIGPDsyB0aOG7gyB0w6xtIGtp4bq/bSBuaOG7iyBwaMOibiByeCAgICAgICAgICAgICAgCi8vIC0gxJDhu4MgY2hlY2sgW2x4LCByeF0gY8OzIHRob+G6oyBtw6NuIGhheSBraMO0bmcgdGjDrCDEkcahbiBnaeG6o24gbMOgIHRhIGRmcy9iZnMgdOG7qyAxIHhlbSBjw7MgdGjhu4MgxJFpIMSRxrDhu6NjIMSR4bq/biBuIGhheSBraMO0bmcgKHhlbSAoKikpCi8vIMSQ4buZIHBo4bupYyB04bqhcDogTyhtICogbG9nMigxZTYpICogKG4gKyBtKSkKc3RydWN0IEVkZ2VJbmZvIHsKCWludCB2LCBsLCByOyAKfTsgCgppbnQgbiwgbTsgIAp2ZWN0b3I8RWRnZUluZm8+IGFkaltOXTsgIAoKYm9vbCB2aXNbTl07ICAKCmJvb2wgYmZzKGludCBzLCBpbnQgbHgsIGludCByeCkgewoJZm9yIChpbnQgdSA9IDE7IHUgPD0gbjsgdSsrKSB2aXNbdV0gPSBmYWxzZTsgIAoKCXF1ZXVlPGludD4gcTsgIAoJdmlzW3NdID0gdHJ1ZTsgIAoJcS5wdXNoKHMpOyAgCgoJd2hpbGUgKCFxLmVtcHR5KCkpIHsKCQlpbnQgdSA9IHEuZnJvbnQoKTsgcS5wb3AoKTsgIAoKCQlpZiAodSA9PSBuKSByZXR1cm4gdHJ1ZTsgICAKCQkKCQlmb3IgKGF1dG8gZSA6IGFkalt1XSkgewoJCQlpbnQgdiA9IGUudiwgbCA9IGUubCwgciA9IGUucjsgIAoJCQlpZiAoKGwgPD0gbHggJiYgcnggPD0gcikgJiYgIXZpc1t2XSkgewoJCQkJdmlzW3ZdID0gdHJ1ZTsgCgkJCQlxLnB1c2godik7IAoJCQl9CgkJfQoJfQoKCXJldHVybiBmYWxzZTsgCn0KCmJvb2wgY2hlY2soaW50IGx4LCBpbnQgbWlkKSB7CglyZXR1cm4gYmZzKDEsIGx4LCBtaWQpOyAgCn0KCmludCBmaW5kUihpbnQgbHgpIHsKCWludCBsbyA9IGx4LCBoaSA9IDFlNiwgYW5zID0gLTE7ICAKCXdoaWxlIChsbyA8PSBoaSkgewoJCWludCBtaWQgPSAobG8gKyBoaSkgPj4gMTsgIAoJCWlmIChjaGVjayhseCwgbWlkKSkgewoJCQlhbnMgPSBtaWQ7ICAgCgkJCWxvID0gbWlkICsgMTsgCgkJfQoJCWVsc2UgewoJCQloaSA9IG1pZCAtIDE7IAoJCX0KCX0KCXJldHVybiBhbnM7IAp9CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgCgljaW4udGllKG51bGxwdHIpOyAJCgljaW4gPj4gbiA+PiBtOyAKCgl2ZWN0b3I8aW50PiBsczsgIAoJZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsKCQlpbnQgdSwgdiwgbCwgcjsgCgkJY2luID4+IHUgPj4gdiA+PiBsID4+IHI7IAoJCWFkalt1XS5wdXNoX2JhY2soe3YsIGwsIHJ9KTsgICAKCQlhZGpbdl0ucHVzaF9iYWNrKHt1LCBsLCByfSk7IAoJCWxzLnB1c2hfYmFjayhsKTsgCgl9CgoJaW50IGFucyA9IDA7ICAKCWZvciAoaW50IGx4IDogbHMpIHsKCQlpbnQgcnggPSBmaW5kUihseCk7ICAKCQlpZiAocnggPT0gLTEpIGNvbnRpbnVlOyAgCgkJbWF4aW1pemUoYW5zLCByeCAtIGx4ICsgMSk7ICAKCX0KCglpZiAoYW5zID09IDApIHsKCQljb3V0IDw8ICJOaWNlIHdvcmssIERpbWEhIiA8PCAnXG4nOyAKCX0KCWVsc2UgewoJCWNvdXQgPDwgYW5zIDw8ICdcbic7IAoJfQp9