MELE3 - MELE3




Tòa nhà có N thang máy. Mỗi thang máy nối đúng 2 tầng và mất 5s để đi qua 1 tầng

Bắt đầu, mỗi thang máy ở vị trí phía dưới và đi lên phía trên. Khi lên tới nơi, nó lại đi xuống và tiếp tục như thế.

Mirko ở tầng 1 và muốn lên đỉnh tòa nhà nhanh nhất, anh ta chỉ có thể thay đổi thang máy ở các tầng có thang máy chung và nếu lúc đó có một thang máy khác ở cùng tầng, anh ta không mất thời gian để chờ đợi thang máy.

Xác định thời gian nhỏ nhất để Mirko có thể lên được tầng cao nhất.

Input

Dòng đầu là 2 số K và N,số tầng và số thang máy, 2 ≤ K ≤ 1000, 1 ≤ N ≤ 50000.

N dòng tiếp theo, mỗi dòng hai số nguyên A và B, 1 ≤ A < B ≤ K, mô tả thang máy nối 2 tầng A và B.

Output

Tìm thời gian nhỏ nhất.

Sample

Input: 
10 4 
1 5 
5 10 
5 7 
7 10 
 
Output:
45 
Input:
 10 3 
1 5 
3 5 
3 10 
 
Output:
105
Input: 
20 5 
1 7 
7 20 
4 7 
4 10 
10 20 
 
Output:
150 

Added by:psetter
Date:2009-04-08
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:COI 03

hide comments
2023-04-11 00:12:08
Despite what the problem implies, You shouldn't use
freopen("liftovi.in", "r", stdin);
freopen("liftovi.out", "w", stdout);
or any method that outputs to file, just submit normally.

[Simes]: fixed, thanks.

Last edit: 2023-04-11 08:01:24
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.