Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

B. Интересный массив
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Будем считать массив из n неотрицательных целых чисел a[1], a[2], ..., a[n] интересным, если он удовлетворяет m ограничениям. i-е из m ограничений состоит из трех целых чисел li, ri, qi (1 ≤ li ≤ ri ≤ n), которые означают, что величина в точности равна qi.

Ваша задача — найти любой интересный массив из n элементов, либо сообщить, что такого не существует.

Выражение x&y означает побитовое И чисел x и y. В языках программирования C++, Java и Python эта операция обозначается как «&», на Pascal она обозначается как «and».

Входные данные

В первой строке записано два целых числа n, m (1 ≤ n ≤ 105, 1 ≤ m ≤ 105) — количество элементов в массиве и количество ограничений.

В следующих m строках записано по три целых числа li, ri, qi (1 ≤ li ≤ ri ≤ n, 0 ≤ qi < 230), описывающих i-е ограничение.

Выходные данные

Если интересный массив существует, выведите «YES» (без кавычек) в первой строке, а во второй строке выведите n целых чисел a[1], a[2], ..., a[n] (0 ≤ a[i] < 230) — описание интересного массива. Если существует несколько ответов, разрешается вывести любой.

Если не существует интересного массива, выведите «NO» (без кавычек) в единственной строке.

Примеры
Входные данные
3 1
1 3 3
Выходные данные
YES
3 3 3
Входные данные
3 2
1 3 3
1 3 2
Выходные данные
NO