D1. Toy Train (Simplified)
time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

This is a simplified version of the task Toy Train. These two versions differ only in the constraints. Hacks for this version are disabled.

Alice received a set of Toy Train™ from Bob. It consists of one train and a connected railway network of nn stations, enumerated from 11through nn. The train occupies one station at a time and travels around the network of stations in a circular manner. More precisely, the immediate station that the train will visit after station ii is station i+1i+1 if 1≤i<n1≤i<n or station 11 if i=ni=n. It takes the train 11 second to travel to its next station as described.

Bob gave Alice a fun task before he left: to deliver mm candies that are initially at some stations to their independent destinations using the train. The candies are enumerated from 11 through mm. Candy ii (1≤i≤m1≤i≤m), now at station aiai, should be delivered to station bibi (ai≠biai≠bi).

The blue numbers on the candies correspond to bibi values. The image corresponds to the 11-st example.

The train has infinite capacity, and it is possible to load off any number of candies at a station. However, only at most one candy can be loaded from a station onto the train before it leaves the station. You can choose any candy at this station. The time it takes to move the candies is negligible.

Now, Alice wonders how much time is needed for the train to deliver all candies. Your task is to find, for each station, the minimum time the train would need to deliver all the candies were it to start from there.

Input

The first line contains two space-separated integers nn and mm (2≤n≤1002≤n≤100; 1≤m≤2001≤m≤200) — the number of stations and the number of candies, respectively.

The ii-th of the following mm lines contains two space-separated integers aiai and bibi (1≤ai,bi≤n1≤ai,bi≤n; ai≠biai≠bi) — the station that initially contains candy ii and the destination station of the candy, respectively.

Output

In the first and only line, print nn space-separated integers, the ii-th of which is the minimum time, in seconds, the train would need to deliver all the candies were it to start from station ii.

Examples
input

Copy
5 7
2 4
5 1
2 3
3 4
4 1
5 3
3 5
output

Copy
10 9 10 10 9
input

Copy
2 3
1 2
1 2
1 2
output

Copy
5 6
Note

Consider the second sample.

If the train started at station 11, the optimal strategy is as follows.

  1. Load the first candy onto the train.
  2. Proceed to station 22. This step takes 11 second.
  3. Deliver the first candy.
  4. Proceed to station 11. This step takes 11 second.
  5. Load the second candy onto the train.
  6. Proceed to station 22. This step takes 11 second.
  7. Deliver the second candy.
  8. Proceed to station 11. This step takes 11 second.
  9. Load the third candy onto the train.
  10. Proceed to station 22. This step takes 11 second.
  11. Deliver the third candy.

Hence, the train needs 55 seconds to complete the tasks.

If the train were to start at station 22, however, it would need to move to station 11 before it could load the first candy, which would take one additional second. Thus, the answer in this scenario is 5+1=65+1=6 seconds.

最新文章

  1. linux安装open block chain
  2. 用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr
  3. html5 canvas围绕中心点旋转
  4. phpcms 内容——&gt;评论管理 中添加 打开文章链接的 功能
  5. 【学习笔记】【C语言】第一个C程序
  6. SQLite设置主键自动增长及插入语法
  7. WIFI破解总结
  8. 1.redis.3.2 下载,安装、配置、使用 - 1
  9. jquery中字符串类型转换成整形的方法
  10. 二、linux文件系统之linux启动
  11. jackson的简单实用实例(json)
  12. angular自定义验证 ngModel的一些理解
  13. Robot Framework学习笔记(五)------Collections 库
  14. IDE-Android Studio -FAQ-使用习惯(不断更新 欢迎留言)
  15. 个人经验~ 利用5.7的sys库更好的排查问题
  16. 数据量你造吗-JAVA分页
  17. python的__new__方法
  18. Android studio快捷键设置
  19. mysql5.6下载&amp;安装
  20. hadoop之定制自己的sort过程

热门文章

  1. 唯一性校验 impl 和 action
  2. 网页动画插件---Super Scrollorama , TweenMax 和skrollr
  3. 2-12 tensorflow运算原理
  4. 使用FFMPEG从MP4封装中提取视频流到.264文件 (转载)
  5. 解题报告:hdu 1407 测试你是否和LTC水平一样高
  6. magento controller直接渲染Block 以及传参
  7. 用for循环实现的菱形图案
  8. 基于CentOS6.5下Suricata(一款高性能的网络IDS、IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐)
  9. jdk 1.8下 java ArrayList 添加元素解析
  10. js类、原型——学习笔记