CF818B Permutation Game
Description
$ n $ children are standing in a circle and playing a game. Children's numbers in clockwise order form a permutation $ a_{1},a_{2},...,a_{n} $ of length $ n $ . It is an integer sequence such that each integer from $ 1 $ to $ n $ appears exactly once in it.
The game consists of $ m $ steps. On each step the current leader with index $ i $ counts out $ a_{i} $ people in clockwise order, starting from the next person. The last one to be pointed at by the leader becomes the new leader.
You are given numbers $ l_{1},l_{2},...,l_{m} $ — indices of leaders in the beginning of each step. Child with number $ l_{1} $ is the first leader in the game.
Write a program which will restore a possible permutation $ a_{1},a_{2},...,a_{n} $ . If there are multiple solutions then print any of them. If there is no solution then print -1.
Input Format
The first line contains two integer numbers $ n $ , $ m $ ( $ 1
Output Format
Print such permutation of $ n $ numbers $ a_{1},a_{2},...,a_{n} $ that leaders in the game will be exactly $ l_{1},l_{2},...,l_{m} $ if all the rules are followed. If there are multiple solutions print any of them.
If there is no permutation which satisfies all described conditions print -1.
Explanation/Hint
Let's follow leadership in the first example:
- Child $ 2 $ starts.
- Leadership goes from $ 2 $ to $ 2+a_{2}=3 $ .
- Leadership goes from $ 3 $ to $ 3+a_{3}=5 $ . As it's greater than $ 4 $ , it's going in a circle to $ 1 $ .
- Leadership goes from $ 1 $ to $ 1+a_{1}=4 $ .
- Leadership goes from $ 4 $ to $ 4+a_{4}=8 $ . Thus in circle it still remains at $ 4 $ .