Олимпиадный тренинг

Задача . B. Интересный массив


Будем считать массив из 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» (без кавычек) в единственной строке.


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

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя