agosty.ru33. ТЕЛЕКОММУНИКАЦИИ.АУДИО-И ВИДЕОТЕХНИКА33.040. Телекоммуникационные системы

ГОСТ Р 58166-2018 Технические требования к радиоинтерфейсу широкополосной системы радиодоступа (ШПР). Организация протоколов и алгоритмов работы на канальном и физическом уровнях. Основные параметры и технические требования

Обозначение:
ГОСТ Р 58166-2018
Наименование:
Технические требования к радиоинтерфейсу широкополосной системы радиодоступа (ШПР). Организация протоколов и алгоритмов работы на канальном и физическом уровнях. Основные параметры и технические требования
Статус:
Действует
Дата введения:
10/01/2018
Дата отмены:
-
Заменен на:
-
Код ОКС:
33.040

Текст ГОСТ Р 58166-2018 Технические требования к радиоинтерфейсу широкополосной системы радиодоступа (ШПР). Организация протоколов и алгоритмов работы на канальном и физическом уровнях. Основные параметры и технические требования

ГОСТ Р 58166-2018


НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ


ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К РАДИОИНТЕРФЕЙСУ ШИРОКОПОЛОСНОЙ ПОДВИЖНОЙ РАДИОСВЯЗИ (ШПР)


Организация протоколов и алгоритмов работы на канальном и физическом уровнях. Основные параметры и технические требования


Technical requirements to the air interface of the wideband mobile radio (WBMR). The organization of protocols and algorithms of work on data link and physical levels. Main parameters and technical requirements

ОКС 33.040

ОКП 657000

Дата введения 2018-10-01

Предисловие

1 РАЗРАБОТАН Обществом с ограниченной ответственностью "НИРИТ СИНВЭЙ Телеком Технолоджи" (ООО "НСТТ")

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 480 "Связь"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 5 июля 2018 г. N 392-ст

4 Настоящий стандарт соответствует документу Международного союза электросвязи ITU-R М.1801-2 (02/2013)* "Стандарты радиоинтерфейса для систем широкополосного беспроводного доступа подвижной службы, включая мобильные и кочевые применения, действующих на частотах ниже 6 ГГц" [(ITU-R М.1801-2 (02/2013) "Radio interface standards for broadband wireless access systems, including mobile and nomadic applications, in the mobile service operating below 6 GHz", NEQ] в части приложения 8 "Радиоинтерфейс для систем широкополосного беспроводного доступа стандарта SCDMA"

________________

* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .

5 ВВЕДЕН ВПЕРВЫЕ

6 ИЗДАНИЕ с Поправкой (ИУС 12-2008)

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомления и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

1 Область применения

Настоящий стандарт распространяется на протоколы радиоинтерфейса широкополосной системы подвижной радиосвязи (ШПР).

Система включает две части: физический уровень и уровень звена данных (канальный уровень).

Этот стандарт описывает широкополосную систему подвижной радиосвязи (ШПР) для работы, управления, планирования, проектирования, а также для разработки и производства оборудования.

(Поправка).

2 Нормативные ссылки

В настоящем стандарте использована нормативная ссылка на следующий стандарт:

ГОСТ 22670 Сеть связи цифровая интегральная. Термины и определения

Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.

3 Термины, определения и сокращения

3.1 Термины и определения

В настоящем стандарте применены термины по ГОСТ 22670, а также следующие термины с соответствующими определениями:

3.1.1 преамбула: Периодически повторяющаяся часть радиосигнала, занимающая временной интервал синхронизации в радиолинии "вниз" [downlink (DL]), которая используется для определения абонентскими терминалами (АТ) времени задержки и сдвига частоты в радиолинии DL. АТ вычисляют время задержки и частотный сдвиг по DL-преамбуле для того, чтобы синхронизироваться с базовой станцией (БС).

3.1.2 множественный доступ с ортогональным частотным разделением каналов и кодовым расширением спектра сигналов: Схема модуляции OFDMA, которая используется в системах широкополосного беспроводного доступа. К ней добавляется кодовое расширения спектра сигналов*, в результате чего получается схема ШПР. Кодовое расширение осуществляется путем расширения каждого символа модуляции на несколько кодовых чипов за счет использования расширяющих кодовых последовательностей. Затем каждый полученный символ кодовой последовательности переносится на поднесущую и занимает во времени один OFDMA-символ.

________________

* Текст документа соответствует оригиналу. - .

3.1.3 подканал: Минимальная единица, используемая для планирования и распределения (выделения) физических ресурсов в широкополосных системах подвижной радиосвязи (ШПР). В обычном тайм-слоте физический канал составляют 8 поднесущих и 8 OFDMA-символов; в супер-тайм-слоте физический канал составляют 8 поднесущих и 10 OFDMA-символов.

(Поправка).

3.1.4 группа поднесущих; ГПЧ: Множество соседних поднесущих частот, занимающее полосу радиочастотного спектра 1 МГц. Полоса пропускания системы широкополосного беспроводного доступа (ШПР) составляет 5 МГц. Она разделена на 5 групп поднесущих, каждая из которых состоит из 128 соседних поднесущих. Поэтому каждая группа поднесущих занимает полосу 1 МГц.

3.1.5 ID-последовательности БС: Последовательность (номер) ID используется для того, чтобы отличать БС друг от друга. Номер БС ID однозначно предопределяет вид используемых на данной БС: последовательности преамбулы, матрицы расширяющих последовательностей (кодов), маск-последовательности, последовательности запроса определения дальности и пилот-последовательности.

3.2 Сокращения

В настоящем стандарте применены следующие сокращения:

АТ - абонентский терминал;

АУМ - адаптивное управление мощностью;

АУУ - адаптивное управление усилением;

БД - блок данных;

БПФ - быстрое преобразование Фурье;

БС - базовая станция;

ВК - вещательный канал;

ГПЧ - группа поднесущих частот;

ЗВИ - защитный временной интервал;

ЗД - запрос доступа;

ЗИ - защитный интервал;

ЗКЗ - запрос коррекции задержки;

ЗПД - звено передачи данных (канальный уровень, или уровень L2);

КПТ - канал передачи трафика;

КУ - канальный уровень (уровень L2);

НСТТ - Нирит-Синвэй Телеком Технолоджи;

ОДп - обмен пакетами данных;

ОЗД - сообщение ответа на "запрос доступа";

ОЗКЗ - сообщение ответа на "запрос коррекции задержки";

ОРп - обмен речевыми пакетами;

ОСПШ - отношение уровня сигнала к уровню помех плюс шум;

ОСШ - отношение сигнал/шум;

ПД - пакеты данных;

ПдК - подканал;

ПОО - подканальное окно обзора;

ПФТ - подуровень формирования трафика;

РК - радиоканал;

PC - Рида-Соломона (кодирование, код);

СлС - служебное сообщение;

ТДС - точка доступа к сервису;

УМ-УС - управление мощностью и синхронизацией по задержке;

ФВ-канал - вещательный канал на физическом уровне;

ФУ - физический уровень;

ШПР - широкополосный радиодоступ;

АСK - подтверждение;

AND - операция логического И;

ARQ - Режим автоматических запросов повторов на непринятые сообщения;

BID - идентификационный номер БС;

Вit#0 - бит нулевого (младшего) разряда;

BLK - блок;

BSN - порядковый номер кадра, содержащего пакет данных;

BTS - базовая станция (БС);

BW- полоса радиоканала;

CI - уровень помех к тепловому шуму;

СID - идентификационный номер соединения;

CMD - команда;

CRC - циклическая последовательность контроля ошибок;

DC - центральная поднесущая;

DL - радиолиния от базовой станции к абонентскому терминалу ("вниз");

D-КПТ - физический канал трафика радиолинии DL;

FC - индикатор фрагмента сообщения;

FMT - 2-битовый параметр, задающий тип пакета данных;

FN - номер кадра;

G.711 - кодирование речи по стандарту ITU-T G.711 (64 кбит/с);

G.729 - кодирование речи по стандарту ITU-T G.729 (8 кбит/с);

Generic MAC Header- универсальный заголовок примитивов МАС-подуровня;

Handover - операция "Хэндовер" (передачи абонентского соединения на другую БС);

HCRC - проверочные CRC-биты заголовка MAC;

Header - заголовок;

НО - "Хэндовер";

ID - идентификатор;

L2 - канальный уровень в семиуровневой модели открытых систем (Х.200);

L3 - сетевой уровень в семиуровневой модели открытых систем (Х.200);

Lease - аренда;

Loading - коэффициент загрузки;

Loop - оператор циклического повторения;

MAC - нижний подуровень канального уровня, обеспечивающий взаимодействие со средой радиосвязи;

MIMO - метод пространственно-временного кодирования с множеством антенн на передачу и множеством антенн на прием;

MISO - метод пространственно-временного кодирования с множеством антенн на передачу и одной антенной на прием;

Mobility - индикатор мобильности;

mod - операция вычисления остатка при делении;

NAK - сообщение неподтверждения приема;

Network_ID - идентификатор сети;

NID - идентификатор сети;

non-OFB - шифрование в режиме без применения алгоритмов OFB;

OFB - блочное шифрование в режиме "обратной связи по выходу";

OFDM - ортогональное частотное мультиплексирование;

OFDMA - множественный доступ с ортогональным частотным разделением;

OR - операция логического ИЛИ;

Padding - дополнительные биты "набивки" для выравнивания размера кадра;

Payload - часть сообщения, содержащая полезную информацию;

PC - управление мощностью;

PDU - пакет данных;

PID - идентификационный номер оборудования АТ;

Pil - символ пилот-последовательности;

РМ - предел изменения мощности передачи;

PWR - мощность;

QoS - показатель качества обслуживания;

QPSK - модуляция ФМ-4;

8PSK - модуляция ФМ-8;

16QAM - модуляция КАМ-16;

64QAM - модуляция КАМ-64;

Rate - индекс, определяющий емкость канала (бит/с);

Reason - причина;

Reset - перезапуск;

Result - результат;

RLS - завершение (соединения);

RQ - запрос;

RSV - резерв;

RX - режим приема;

Scrambling - операция скремблирования;

scg - индекс, задающий номер ГПЧ;

SCG_Index - индекс ГПЧ;

SFID - идентификатор уровня обслуживания;

shl - логическая операция побитового сдвига влево;

SINR - отношение сигнал/(помеха+шум);

Spreading - операция расширения спектра;

SS - параметр подстройки временного сдвига (в единицах 1/8 мкс);

STC - режим автонастройки;

TDD - дуплексная передача на основе временного разделения;

Timeout - время ожидания;

Transld - ID транзакции;

TS - тайм-слот;

ТХ - режим трансляции (передачи);

Туре - тип;

UID - идентификационный номер абонента;

UL - радиолиния от абонентского терминала к базовой станции ("вверх");

UT_TYPE - тип АТ (задает поддерживаемую рабочую полосу);

U-КПТ - физический канал трафика радиолинии UL;

VER - версия;

VSN - порядковый номер кадра, содержащего речевой пакет;

While - оператор проверки условия завершения цикла (выполнять, пока проверка не даст результат "истина");

XOR - логическая операция "исключающее ИЛИ";

Z-Module - индикатор поддержки режима многопользовательских речевых соединений оконечным оборудованием.

4 Физический уровень (ФУ)

4.1 Краткий обзор

ФУ является самым низким уровнем радиоинтерфейса системы ШПР.

Услуги, поддерживаемые ФУ:

- передача и получение радиосигналов;

- кодирование и декодирование потоков данных и исправление ошибок;

- синхронизация в радиолиниях DL и UL;

- организация доступа;

- измерения параметров физического канала;

- формирование диаграмм направленности антенных систем в радиолиниях DL и UL;

- поддержка интерфейсов обмена с более высокими служебными уровнями.

Диаграмма преобразования потока информации на физическом уровне приведена на рисунке 1.


Рисунок 1 - Диаграмма преобразования потока информации на физическом уровне

На рисунке 1 использованы обозначения:

- битовый поток с подуровня MAC;

- битовый поток после скремблирования;

- битовый поток после канального кодирования;

- битовый поток, преобразованный для обработки в модуляторе;

- поток символов после модуляции;

- векторная последовательность после кодирования, расширяющего спектр. Каждый элемент последовательности , i=(0, 1, ..., K-1) представляет собой вектор размерности , где - актуальный коэффициент нагрузки.

4.2 Описание преобразования потока данных на физическом уровне

Физический уровень системы ШПР включает преобразование сигналов при передаче и приеме потока данных так, как приведено на рисунках 2 и 3.

Примечание - Пунктиром показаны блоки, функции которых являются опциональными (т.е. необязательными).

Рисунок 2 - Преобразование потока данных в радиолинии DL


Рисунок 3 - Преобразование потока данных в радиолинии UL

4.3 Системные параметры

Системные параметры АТ и БС приведены в таблицах 1 и 2.

Таблица 1 - Параметры АТ

Параметр

Быстрое преобразование Фурье (БПФ) (количество точек)

256

1024

Номинальная полоса пропускания (МГц)

1

5

Частота дискретизации (МГц)

2

8

Фактическая полоса пропускания (МГц)

1/0.875

4.75

Фактическое число используемых поднесущих

128/112

608

Таблица 2 - Параметры БС

Параметр

Быстрое преобразование Фурье (БПФ) (количество точек)

1024

Номинальная полоса пропускания (МГц)

5

Частота дискретизации (МГц)

8

Фактическая полоса пропускания (МГц)

4.75

Фактическое число используемых поднесущих

608

4.4 Спецификации последовательностей

В системе ШПР используются шесть типов последовательностей: последовательность скремблирования, последовательность преамбулы, последовательность, расширяющая спектр, маск-последовательность (mask), последовательность коррекции задержки распространения (ranging) и последовательность пилот-сигнала. Последовательность скремблирования и последовательность, расширяющая спектр, не связаны с ID-номером БС, в то время как другие последовательности предопределяются ID-номером базовой станции.

Ниже приведено более подробное описание каждой из последовательностей.

4.4.1 Последовательность скремблирования

Используется только один вид последовательности скремблирования, состоящей из 1536 бит, каждый из которых равен 0 или 1. Конкретный вид указанной последовательности скремблирования приведен в таблице А.1.

Примечание - Стартовая позиция скремблирования отдельного логического соединения привязана в каждом кадре (см. 4.8.1) к старшему биту первого символа модуляции стартового тайм-слота линий DL/UL (см. 4.8.2)

(Поправка).

4.4.2 Последовательность преамбулы

Последовательности преамбулы используется* только в радиолиниях связи "вниз". Всего существует 16 различных последовательностей преамбулы. Конкретный вид указанных последовательностей преамбулы приведен в таблице А.2.

_______________

* Текст документа соответствует оригиналу. - .

4.4.3 Последовательность, расширяющая спектр, и маск-последовательность

4.4.3.1 Последовательность, расширяющая спектр (Spreading sequence)

Пусть Н - матрица расширения спектра, имеющая размер . В системе существует три типа матриц расширения спектра, каждому из которых соответствует различное значение параметра .

1 В случаях, когда , в качестве Н используется матрица Адамара (Hadamara) размером 88, которая применяется при передаче по каналам радиолиний "вниз" и радиолиний "вверх". Ее вид устанавливает формула

. (1)

2 В случаях, когда , в качестве Н используется матрица Адамара (Hadamara) размером 77, которая применяется при передаче по каналам радиолиний "вниз" и радиолиний "вверх". Ее вид устанавливает формула

(2)

3 В случаях, когда =6, в качестве Н используется матрица Адамара (Hadamara) размером 66, которая применяется при передаче по каналам радиолиний "вниз" и радиолиний "вверх". Ее вид устанавливает формула

(3)

4.4.3.2 Маск-последовательность

Маск-последовательность, обозначаемая как , однозначно предопределяется идентификатором БС ID и используется для того, чтобы при обработке последовательностей, расширяющих спектр, можно было осуществить селекцию сигналов различных БС.

Обозначают через k идентификатор ID БС, осуществляющей обслуживание на заданной территории. Если элементы последовательности преамбулы, выбранные согласно таблице А.1, являются (, ..., ), то элементы от до составляют маск-последовательность , т.е. .

4.4.4 Последовательность запроса коррекции задержки (ЗКЗ)

В системе существует 384 (т.е. 1624) ЗКЗ-последовательности, использующиеся в каждой группе поднесущих (ГПЧ) с полосой 1 МГц. В приведенном расчетном соотношении 16 соответствует числу различных идентификаторов ID БС, поддерживаемых в системе, а 24 определяется числом различных ЗКЗ-последовательностей, поддерживаемых БС с заданным номером идентификатора ID. Конкретный вид ЗКЗ-последовательностей приведен в таблице А.2.

4.4.5 Пилот-последовательность

Пилот-последовательность используется в каждой группе поднесущих (ГПЧ). Ее применяют как в радиолиниях "вниз", так и в радиолиниях "вверх". Ее кодовые символы передаются на интервале одного OFDM-символа на 128 соседних поднесущих, составляющих полосу в 1МГц. Вид пилот-последовательности однозначно определяется идентификатором ID БС. Конкретный вид 16 допустимых пилот-последовательностей определен в таблице А.3.

4.5 Модуляция и канальное кодирование

4.5.1 Скремблирование

Для радиолиний "вверх" и для радиолиний "вниз" в системе используется скремблирующая последовательность постоянного вида. С ее помощью осуществляется скремблирование битового потока, поступающего с МАС-подуровня, . Детальный вид скремблирующей последовательности приведен в приложении А.

Алгоритм скремблирования в радиолиниях "вверх" и "вниз" одинаковый и соответствует приведенному ниже описанию (в виде фрагмента программного кода):

for i=0, ..., М-1

end for,

где M - длина битовой последовательности МАС-подуровня;

Nscramble - длина скремблирующей последовательности;

Scramble - скремблирующая последовательность;

mod - оператор вычисления остатка "по модулю";

- операция "исключающее ИЛИ" (XOR);

- i-й бит информационной последовательности после операции скремблирования.

4.5.2 Канальное кодирование

4.5.2.1 Коды Рида - Соломона (RS Coding)

Для PC кодирования в системе используется укороченный (26, 24) код, получаемый из исходного кода (31, 29) над полем GF(2).

При этом в качестве примитивного многочлена над полем GF(2) используется многочлен, задаваемый соотношением


. (4)

Порождающий многочлен PC-кода определяется формулой


. (5)

Описание процедуры РС-кодирования

1 Если поток битов, поступающий на кодер, имеет размер, не кратный 96, то он дополняется нулевыми битами до ближайшего размера, кратного 96.

2 Обозначают текущий кодируемый блок битового потока ). Тогда на его основе создается последовательность из 5-битовых символов (), где:

.

не передаются в эфир, а используются только на этапе кодирования.

3 Входная последовательность (,,...,) поступает на вход PC-кодера. Кодер на выходе формирует два проверочных символа, или что то же самое - 10 проверочных бит (,, ..., ). После этого исходный блок битового потока дополняется проверочными битами и приобретает вид:

.

4 Если на первом шаге была произведена операция дополнения нулевыми битами, то после кодирования эти нулевые биты удаляют из кодированного блока. Поток битов после PC-кодирования обозначают ().

4.5.3 Модуляция

Виды модуляции, применяемые в системе: QPSK, 8PSK, 16QAM и 64QAM с соответствующими созвездиями, показаны на рисунках 4-7. На этих рисунках символ обозначает коэффициент нормировки, при котором обеспечивается единичная средняя мощность при равномерном распределении точек созвездия. Вид модуляции в процессе работы выбирается динамически на основе оценки качества канала связи (основной используемый показатель - отношение сигнал/шум), чтобы оптимизировать пропускную способность канала.

4.5.3.1 QPSK


Рисунок 4 - Созвездие QPSK

Битовый поток после кодирования () (см. рисунок 1). Способ преобразования его в последовательность символов QPSK модуляции показан ниже.

1 Битовый поток преобразуется в векторную последовательность. Каждый член векторной последовательности формируется из двух смежных бит исходного битового потока:

.

2 Каждый 2-битовый член векторной последовательности отображается в биты созвездия: на и на . После чего полученная пара бит созвездия отображается на соответствующую ей точку (позицию) созвездия модуляции. В таблице 3 приведено правило отображения бит на комплексные позиции созвездия модуляции .

Таблица 3 - Отображение бит на точки созвездия для QPSK-модуляции

Биты (Re) (lm)

Комплексные символы

00

10

11

01

3 На следующем этапе в схему модулятора вводят очередной 2-битовый член векторной последовательности и таким образом осуществляют его отображение на точку созвездия модуляции по алгоритму, описанному выше.

В результате на выходе схемы модулятора получают последовательность комплексных символов, которую обозначают как (), где D - длина потока символов модуляции.

4.5.3.2 8PSK


Рисунок 5 - Созвездие 8PSK

Битовый поток после кодирования () (см. рисунок 1). Способ преобразования его в последовательность символов модуляции 8PSK () показан ниже.

1 Битовый поток преобразуется в векторную последовательность. Каждый член векторной последовательности формируется из трех смежных бит исходного битового потока:

.

2 Каждый 3-битовый член векторной последовательности отображается в биты созвездия: на , на и на . Затем полученная тройка бит созвездия отображается на соответствующую ей точку (позицию) созвездия модуляции. В таблице 4 приведено правило отображения бит на комплексные позиции созвездия модуляции .

Таблица 4 - Отображение бит на точки созвездия для 8PSK-модуляции

Биты

Комплексные символы

000

001

101

100

110

111

011

010

3 На следующем этапе в схему модулятора вводят очередной 3-битовый член векторной последовательности и таким образом осуществляют его отображение на точку созвездия модуляции по алгоритму, описанному выше.

В результате на выходе схемы модулятора получают последовательность комплексных символов, которую обозначают как (), где D - длина потока символов модуляции.

4.5.3.3 16QAM


Рисунок 6 - Созвездие 16QAM

Битовый поток после кодирования () (см. рисунок 1). Способ преобразования его в последовательность символов модуляции 16QAM () показан ниже.

1 Битовый поток преобразуется в векторную последовательность. Каждый член векторной последовательности формируется из четырех смежных бит исходного битового потока:

.

2 Каждый 4-битовый член векторной последовательности отображается в биты созвездия: на , на , на и на . Затем полученная четверка бит созвездия отображается на соответствующую ей точку (позицию) созвездия модуляции. В таблице 5 приведено правило отображения бит на комплексные позиции созвездия модуляции .

Таблица 5 - Отображение бит на точки созвездия для 16QАМ-модуляции

Биты

Комплексные символы ()

0000

0001

0100

0101

1000

1001

1100

1101

1010

1011

1110

1111

0010

0011

0110

0111

3 На следующем этапе в схему модулятора вводят очередной 4-битовый член векторной последовательности и таким образом осуществляют его отображение на точку созвездия модуляции по алгоритму, описанному выше.

В результате на выходе схемы модулятора получают последовательность комплексных символов, которую обозначают как (), где D - длина потока символов модуляции.

4.5.3.4 64QAM


Рисунок 7 - Созвездие 64QAM

Битовый поток после кодирования () (см. рисунок 1). Способ преобразования его в последовательность символов модуляции 16QAM () показан ниже.

1 Битовый поток преобразуется в векторную последовательность. Каждый член векторной последовательности формируется из шести смежных бит исходного битового потока:

.

2 Каждый 6-битовый член векторной последовательности отображается в биты созвездия: на , на , на , на , на и на . После чего полученная четверка бит созвездия отображается на соответствующую ей точку (позицию) созвездия модуляции. В таблице 6 приведено правило отображения бит на комплексные позиции созвездия модуляции .

Таблица 6 - Отображение бит на точки созвездия для 64QAM модуляции

Биты

Комплексные символы

001001

001000

001010

001011

000001

000000

000010

000011

010001

010000

010010

010011

011001

01100

011010

011011

011001

101000

101010

101011

100001

100000

100010

100011

110001

110000

110010

110011

111001

111000

111010

111011

101101

101100

101110

101111

100101

100100

100110

100111

110101

110100

110110

110111

111101

111100

111110

111111

001101

001100

001110

001111

000101

000100

000110

000111

010101

010100

010110

010111

011101

011100

011110

011111

3 На следующем этапе в схему модулятора вводят очередной 6-битовый член векторной последовательности и таким образом осуществляют его отображение на точку созвездия модуляции по алгоритму, описанному выше.

В результате на выходе схемы модулятора получают последовательность комплексных символов, которую обозначают как (), где D - длина потока символов модуляции.

4.6 Преобразование проверочных бит PC-кода с помощью операции XOR при осуществлении переконфигурации полосы радиоканала

Этот подраздел описывает процедуру взаимодействия физического уровня и МАС-подуровня при переопределении полосы канала связи.

Когда БС отправляет команду переопределения (изменения) параметров канала связи на абонентский терминал (АТ), то АТ на физическом уровне должен осуществлять преобразование последовательности бит четности , , ..., каждого формируемого PC-кодированного блока с помощью операции XOR с фиксированной последовательностью скремблирующих бит (0101010101), что должно приводить к формированию закодированных блоков в битовом потоке:

, , ..., , , , , , ..., , , и только после этого АТ может перейти к следующим шагам работы.

БС, в свою очередь, после приема данных должна выполнить операцию XOR для проверочных бит с фиксированной скремблирующей последовательностью (0101010101) и только после этого отправить результат на декодер. Если PC-декодирование при этом успешно выполняется, то выносится решение о том, что реконфигурация полосы канала прошла успешно, в противном случае попытка реконфигурации рассматривается как неудачная. Физический уровень передает рапорт о результате реконфигурации на уровень 2.

4.7 Описание символа ШПР

4.7.1 OFDMA-символ

4.7.1.1 Символ

В таблице 7 приведены параметры OFDM-символа.

Таблица 7 - Параметры OFDM-символа

Расстояние между поднесущими частотами

7.8125 кГц

Полезная длительность символа

128 мкс

Длительность OFDMA-символа

137.5 мкс

Длительность циклического префикса

6 мкс

Длительность циклического постфикса

3.5 мкс

4.7.1.2 Временная структура OFDMA-символа

Нa рисунке 8 приведена временная структура OFDMA-символа.


Рисунок 8 - Временная структура OFDMA-символа

Длительность OFDMA-символа составляет 137.5 мкс и состоит из полезной длительности символа 128 мкс и длительности двух защитных интервалов (6 мкс+3.5 мкс=9.5 мкс).

4.7.1.3 Частотная структура OFDMA-символа

OFDMA-символ состоит из поднесущих, число которых определяет размер используемого быстрого преобразования Фурье (БПФ). Частотно-спектральная структура OFDMA-символа приведена на рисунке 9.

Есть три типа множества поднесущих:

- поднесущие данных, предназначенные для передачи данных;

- поднесущие пилот-сигнала, предназначенные для формирования различных оценок состояния физического канала;

- "пустые" поднесущие, использующиеся в позиции центральной несущей частоты (DC), а также для формирования спектральных "окон" для обнаружения помех.


Рисунок 9 - Частотно-спектральная структура OFDMA-символа

4.7.2 Кодовое расширение спектра (spreading)

4.7.2.1 Коэффициент кодового расширения

Коэффициент кодового расширения определяет размер спектрального расширения, применяемого для отдельного OFDMA-символа, . Если ПдК OFDMA-символа не содержит ни "пустой" поднесущей центральной частоты, ни "пустых" поднесущих спектральных окон обнаружения помех (ПОО), то параметр устанавливается равным 8, если же ПдК содержит одну поднесущую центральной частоты или одну поднесущую окна ПОО, то устанавливается равным 7, если ПдК символа OFDMA содержит поднесущую центральной частоты и поднесущую окна ПОО, то устанавливается равным 6.

4.7.2.2 Процедура расширения спектра

Расширение спектра OFDMA-символа производится с использованием параметров (номинальный коэффициент нагрузки - целое число между 1 и 8) и .

Оно осуществляется следующим образом:

1 Если , то вычисляют фактический коэффициент загрузки :

;

если , то фактический коэффициент загрузки равен номинальному .

2 Первые символов необработанной последовательности транспортируют для построения вектора-столбца , после чего эти символы удаляют из необработанной последовательности символов.

3 Выбирают матрицу расширения спектра Н (см. 4.4.3.1), размер которой соответствует значению .

4 Строят матрицу W из матрицы расширения Н по следующему правилу:

,

где - векторы-столбцы матрицы расширения спектра .

5 Строят из маск-последовательности (см. 4.4.3.2). Для этого из маск-последовательности удаляют символы и , индексы позиций которых соответствуют позициям "пустых" поднесущих DC и окон ПОО, попавших в множество из 8 поднесущих, составляющих ПдК OFDMA-символа. После этого оставшиеся компоненты матрицы-строки транспонируют, что и дает в результате вектор :

.

6 Равенство (6) определяет векторную форму символа с расширенным на поднесущие ПдК спектром

, (6)

где е - обозначает операцию прямого произведения элементов матриц, называемое также произведением Адамара;

- вектор размера , представляющий символ ПдК, полученный после кодового расширения спектра для набора .

4.7.3 Генерирование ШПР-сигнала (частотная область)

4.7.3.1 Краткое замечание

Частотный сигнал передающего тракта формируется из OFDMA-символов отдельных ПдК. Генерации OFDMA-символов данных и OFDMA-символов пилот-сигнала описаны в 4.7.3.2 и 4.7.3.3 соответственно.

4.7.3.2 Генерирование сигналов в частотной области

4.7.3.2.1 Базовая станция (БС)

Соотношение (7) определяет спектральные векторы сигналов, формируемые на БС для заданного OFDMA-символа конкретного ПдК:

, j=0, ..., J-1, (7)

где J - число групп дублирования трансляций при организации разнесенной передачи с применением многоэлементных антенных решеток в режимах MIMO или MISO (JK). Для МIМO22 (см. 4.12) J=2. J=1 в случаях, когда метод разнесенной передачи не используется;

K - число диаграмм (пространственных лучей), используемое при реализации разнесенной передачи методами MIMO или MISO. Для режима МIМO2х2 (см. 4.12) K=2. K=1 в случаях, когда метод разнесенной передачи не используется;

- параметр управления мощностью передачи k-го векторного сигнала, полученного при кодовом расширении спектра;

- эффективное число поднесущих, используемое для передачи символов подканала;

- фактический коэффициент загрузки;

- вектор k-го сигнала, полученный при кодовом расширении спектра и отображенный на элементарный ПдК из j-й группы дублирования трансляций;

- множитель, реализующий дополнительный сдвиг фазы сигнала в соответствии с рабочей ГПЧ, здесь scg = {0, 1, 2, 3, 4} - индекс ГПЧ. Сами значения приведены в таблице 8 (см. 4.7.4);

- весовой вектор (компоненты соответствуют антенным элементам решетки), формирующий диаграмму направленности излучения для k-го сигнала, полученного при кодовом расширении спектра:

(в случаях, когда управление лучами диаграммы не используется ),

где - число элементов в антенной системе;

- умножение Кронекера;

- составной вектор размерности , каждый элемент которого сам является вектором, составленным из элементарных спектральных компонент ПдК, входящих в группу дублирования трансляций под номером j:

,

где - вектор-столбец спектральных компонент OFDMA-символа данных, предназначенный для передачи через i-ю антенну, составленный для элементарных ПдК, входящих в j-ю группу дублирования трансляций.

4.7.3.2.2 Абонентский терминал (АТ)

Равенство (8) определяет вектор дискретного спектра сигнала, используемого для передачи OFDMA-символа данных в заданном ПдК АТ,

, (8)

где р - параметр управления мощностью передачи сигнала, сформированного в результате кодового расширения спектра;

- эффективное число поднесущих в ПдК;

- фактический коэффициент загрузки;

- вектор-столбец размерности , задающий дискретный спектр сигнала, сформированный процедурой кодового расширения (см. 4.7.2.2);

- множитель, реализующий дополнительный сдвиг фазы сигнала в соответствии с рабочей ГПЧ, здесь scg = {0,1, 2, 3, 4} - индекс ГПЧ. Сами значения приведены в таблице 8 (см. 4.7.4);

- вектор спектральных компонент сигнала для передачи OFDMA-символа данных.

4.7.3.3 Пилот-сигнал

В каждом подканале один или два символа распределены для организации трансляции пилот-сигнала, который на приемной стороне используется для оценки канала. Такие символы называют пилот-символами. Конфигурация пилот-сигнала приведена в 4.8.2.

4.7.3.3.1 Базовая станция (БС)

На БС пилот-символы формируются из набора пилот-сигналов (согласно 4.4.5 и таблице А.3). Обозначают текущий номер ПдК как n (n=0, 1,..., 75). Тогда пилот-символ формируется следующим образом:

1 В соответствии с номером ID БС выбирают набор символов пилот-последовательности из таблицы А.3.

.

2 Выбирают пилот-символ из вышеупомянутого набора в соответствии с номером ПдК (n) по формуле

(9)

где - спектральный вектор пилот-сигнала размерности 8, используемый для каждой антенны.

3 Спектральная структура пилот-сигнала на множестве антенн формируется согласно формуле

, (10)

где р - параметр управления мощностью трансляции пилот-сигнала,

- вектор формирования луча диаграммы направленности антенной системы:

,

где - число антенн. , если используется только одна антенна;

- умножение Кронекера;

- составной вектор, задающий спектральную структуру пилот-сигнала для всего множества антенн:

,

где - вектор спектральной структуры пилот-сигнала (символа) для i-й антенны.

4.7.3.3.2 Абонентский терминал (АТ)

На АТ пилот-символы формируются из набора пилот-сигналов (согласно 4.4.5 и таблице А.3). Обозначают текущий номер ПдК как n (n=0, 1,..., 75). Тогда пилот-символ формируется следующим образом:

1 В соответствии с номером ID БС обслуживающей базовой станции выбирают набор символов пилот-последовательности из таблицы А.3.

.

2 Из вышеупомянутого набора в соответствии с номером ПдК (n) выбирают пилот-символ (состоящий из 8 элементов):

3 Пилот-сигнал формируется согласно формуле

, (11)

где - спектральный вектор пилот-сигнала;

р - параметр управления мощностью трансляции пилот-сигнала;

- вектор спектральной структуры пилот-сигнала.

4.7.4 Сигнал преамбулы ШПР в частотной области

Во временной области преамбула состоит из двух повторяющихся синхросимволов, каждый из которых имеет длительность 64 мкс, циклического префикса длительностью 24 мкс и циклического суффикса длительности 8 мкс. На рисунке 10 приведена структура преамбулы во временной области.


Рисунок 10 - Структура сигнала преамбулы во временной области

В частотной области спектр преамбулы составляют 608 поднесущих. Правило генерации сигнала преамбулы из множества преамбульных последовательностей заключается в формировании дискретного спектра на множестве поднесущих частот и предполагает следующее:

1 В соответствии с номером ID БС выбирают преамбульную последовательность из таблицы последовательностей преамбул, приведенной в таблице А.1 (см. 4.4.2);

2 В соответствии с номером рабочей ГПЧ выбирают множитель , реализующий операцию фазового сдвига согласно таблице 8;

3 На множестве поднесущих частот в соответствии с их индексами в пределах (16-623) вычисляют символы (см. также 4.9.2), определяющие дискретный спектр сигнала преамбулы. Указанное правило вычисления в виде программного фрагмента представлено ниже:

for index 16 to 623
if index mod 2 == 0
;
else
=0;
end if
end for,

где mod - операция вычисления остатка деления по модулю;

- операция вычисления целой части числа (округление "вниз" до ближайшего целого);

- множитель, формирующий фазовый сдвиг, значения которого даны в таблице 8.

Таблица 8 - Значения

1.0000

-0.8090-0.5878j

-0.8090+0.5878j

-0.8090+0.5878j

-0.8090-0.5878j

- вектор спектральных компонент сигнала преамбулы, полученный в результате выполнения вышеприведенных процедур.

Формула (12) представляет правило формирования дискретного спектра сигнала преамбулы в режиме с использованием многоэлементной антенной системы

, (12)

где - вектор спектральных компонент сигнала преамбулы;

- весовой вектор, обеспечивающий работу антенной системы со всенаправленной диаграммой направленности (omni) в плоскости азимутальных направлений:

,

где - число элементов (антенн) в антенной системе (, когда );

- умножение Кронекера;

- расширенный вектор, задающий спектральные структуры сигнала преамбулы для всего множества антенн, равен:

,

где - вектор спектральной структуры сигнала преамбулы, поступающего на передачу через i-ю антенну.

4.7.5 Запрос коррекции задержки (ЗКЗ) в структуре сигнала ШПР

ЗКЗ-сигнал имеет длительность 128 мкс. На рисунке 11 показана структура дискретного спектра ЗКЗ-сигнала. Формирование дискретного спектра ЗКЗ-сигнала на множестве поднесущих осуществляется следующим образом:

1 В соответствии с номером ID БС выбирается последовательность ЗКЗ (, ,..., ) из таблицы ЗКЗ-последовательностей, приведенной в таблице А.2 (см. также 4.4.4).

2 На множестве поднесущих частот в соответствии с их индексами в пределах от 128+16 до 128+111 (см. рисунок 11), где i - номер ГПЧ (), вычисляют символы R, определяющие дискретный спектр сигнала ЗКЗ. Указанное правило вычисления в виде фрагмента программного кода представлено ниже:

for index 16 to 623
R(index)=0;
end for
for index 0 to 95
if index == 47&&i == 2
R(i ·128+ index+16)=0;
else
;
end if
end for.


Рисунок 11 - Спектральная структура множества поднесущих, составляющих ЗКЗ-сигнал

4.8 Кадр

4.8.1 Структура кадра

ШПР поддерживает два вида структуры кадра: кадры длительностью 10 и 5 мс. Тайм-слоты трафика могут гибко распределяться между радиолиниями UL/DL. Варианты возможных распределений 7:1, 6:2, 5:3, 4:4, 3:5, 2:6 и 1:7.

В качестве наиболее вероятного рассматривается симметричное распределение (4:4) тайм-слотов (временных интервалов) между радиолиниями UL и DL. В зависимости от длительности кадры имеют различную структуру. Особенности двух структур кадра поясняются ниже.

Кадр длительностью 10 мс включает преамбулу (она содержит префикс, два символа синхронизации и суффикс, как описано в 4.7.4), 8 тайм-слотов трафика (включая 4 тайм-слота трафика радиолинии DL и 4 тайм-слота трафика радиолинии UL), временной интервал ЗКЗ (используется только для радиолинии UL) и два защитных временных интервала (ЗВИ). Структура этого кадра приведена на рисунке 12.

Кадр длительностью 5 мс включает преамбулу (ее структура такая же, как и в случае преамбулы кадра длительностью 10 мс), 4 тайм-слота трафика (включая 2 тайм-слота трафика радиолинии DL и 2 тайм-слота трафика радиолинии UL), временной интервал ЗКЗ (используется только для радиолинии UL) и два защитных временных интервала. Структура кадра длительностью 5 мс приведена на рисунке 13.


Рисунок 12 - Структура кадра длительностью 10 мс


Рисунок 13 - Структура кадра длительностью 5 мс

4.8.2 Структура тайм-слотов (временных интервалов) трафика

Тайм-слоты (временные интервалы) трафика, составляющие кадр длительностью 10 мс, имеют два вида: "обычные тайм-слоты" и "супер-тайм-слоты". Длительность обычного тайм-слота трафика радиолинии DL составляет 1116 мкс. В нее входят: мини-интервал системы адаптивного управления усилением (АУУ) и 8 OFDMA-символов. Длительность обычного тайм-слота радиолинии UL составляет 1106 мкс. В него входят мини-слот системы адаптивного управления усилением (АУУ) и 8 OFDMA-символов. Супер-тайм-слот радиолинии DL имеет длительность 1391 мкс. В него входят мини-слот системы адаптивного управления мощностью (АУМ) и 10 OFDMA-символов. Супер тайм-слот радиолинии UL имеет длительность 1381 мкс. В него входят: мини-слот системы адаптивного управления мощностью (АУМ) и 10 OFDMA-символов. Структуры тайм-слотов кадра 10 мкс приведены на рисунках 14 и 15. Светло-серым цветом обозначены позиции OFDMA-символов, в которых размещаются пилот-сигналы в режиме организации мобильного канала связи. Темно-серым цветом обозначены позиции OFDMA-символов, в которых размещаются пилот-сигналы в режиме организации стационарного канала связи (где светло-серый символ и серый символ отдельно обозначают положения символов пилот-сигнала в мобильном подканале и положение символа пилот-сигнала в стационарном подканале).


Рисунок 14 - Структура тайм-слотов в кадре трафика в DL длительностью 10 мс


Рисунок 15 - Структура тайм-слотов в кадре трафика в UL длительностью 10 мс

В структуре тайм-слотов, составляющих кадр трафика длительностью 5 мс, содержатся только обычные тайм-слоты. В этом случае обычный тайм-слот радиолинии DL имеет длительность 1110 мкс. Он включает мини-слот системы адаптивного управления усилением (АУУ) и 8 OFDMA-символов. Обычный тайм-слот UL имеет длительность 1106 мкс. Он включает мини-слот системы адаптивного управления мощностью (АУМ) и 8 OFDMA-символов. Структуры тайм-слотов для кадра длительностью 5 мс приведены на рисунках 16 и 17. Светло-серым цветом обозначены позиции OFDMA-символов, в которых размещаются пилот-сигналы при организации мобильных каналов связи, а темно-серым обозначены позиции, в которых размещается пилот-сигнал при организации стационарных каналов связи.


Рисунок 16 - Структура тайм-слотов в кадре трафика в DL длительностью 5 мс


Рисунок 17 - Структура тайм-слотов в кадре трафика в UL длительностью 5 мс

4.8.3 Пропорции распределения тайм-слотов трафика в радиолиниях DL/UL при временном дуплексе

ШПР использует дуплекс с временным разделением (TDD) и имеет возможность гибко приспосабливать структуру кадра и менять соотношение тайм-слотов трафика в радиолиниях DL/UL в соответствии с требованием на полосы пропускания в радиолиниях DL/UL.

Супер-тайм-слот (супер временной интервал) должен быть последним слотом (временным интервалом) в кадрах длительностью 10 мс. Когда соотношение тайм-слотов в радиолиниях DL/UL составляет 1:7, то D1 является супер-тайм-слотом. Структуры кадров для различных пропорций распределения тайм-слотов в радиолиниях DL/UL приведены на рисунке 18, где D обозначает тайм-слот/супер-тайм-слот радиолинии DL, U обозначает тайм-слот/супер-тайм-слот радиолинии UL, ЗИ обозначает защитный временной интервал.


Рисунок 18 - Распределение тайм-слотов в радиолиниях DL/UL для кадра длительностью 10 мс

В кадрах длительностью 5 мс супер-тайм-слоты не используются. Структура таких кадров при различных пропорциях распределения тайм-слотов радиолиний DL/UL показана на рисунке 19.


Рисунок 19 - Распределение тайм-слотов в радиолиниях DL/UL для кадра длительностью 5 мс

4.9 Подканал

Примечание - Подканал (ПдК) - основная единица, используемая для управления распределением ресурса физического уровня в ШПР.

4.9.1 Структура подканала

В каждом обычном тайм-слоте каждого кадра один подканал (ПдК) заключает в себе массив из 88 частотно-временных ячеек, как приведено на рисунке 20. Одна временная ячейка соответствует OFDM-символу, а одна частотная - одной поднесущей. На рисунке 21 приведена структура супер-тайм-слота в радиолиниях DL/UL. Она состоит из двумерного массива 810 частотно-временных ячеек. Приведенные структуры воспроизводятся с периодом кадра и таким образом организуют ПдК.

Две ГПЧ размером по 1 МГц, находящиеся на краях полосы 5 МГц, содержат по 16 "пустых" поднесущих, составляющих защитные частотные полосы. Поэтому в каждой из "крайних" ГПЧ остаются доступными для использования только по 112 поднесущих. Таким образом, в одном тайм-слоте "крайней" ГПЧ содержится 14 ПдК. А в каждой из трех других ГПЧ, не являющихся "крайними" и имеющих размер 1 МГц, содержится по 128 доступных поднесущих. При этом один тайм-слот в такой полосе частот вмещает 16 ПдК.


Рисунок 20 - Структура подканала (ПдК) в обычном тайм-слоте


Рисунок 21 - Структура подканала (ПдК) в супер-тайм-слоте

4.9.2 Отображение подканалов на физические поднесущие

Организация отображения подканалов (ПдК) в радиолиниях DL/UL на поднесущие показана в таблицах 9 и 10 соответственно.

Таблица 9 - Отображение подканалов на поднесущие в радиолинии DL

Номер ГПЧ

Номер подканала (ПдК)
n

Номер поднесущей

Примечание

0

0-4

16+14·m+n, m=0, 1, ..., 7

5

16+14·m+n, m=0, 1, ..., 7

m=3 зарезервировано для DC

6-13

16+14·m+n, m=0, 1, ..., 7

1

14-28

128+16·m+n-14, m=0, 1, ..., 7

29

128+16·m+n-14, m=0, 1, ..., 7

m=3 зарезервировано для DC

2

30-44

256+16·m+n-30, m=0, 1, ..., 7

45

256+16·m+n-30, m=0, 1, ..., 7

m=3 зарезервировано для DC

3

46-60

384+16·m+n-46, m=0, 1, ..., 7

61

384+16·m+n-46, m=0, 1, ..., 7

m=3 зарезервировано для DC

4

62-68

512+14·m+n-62, m=0, 1, ..., 7

69

512+14·m+n-62, m=0, 1, ..., 7

m=4 зарезервировано для DC

70-75

512+14·m+n-62, m=0, 1, ..., 7

Таблица 10 - Отображение подканалов на поднесущие в радиолинии UL

Номер ГПЧ

Номер подканала (ПдК)
n

Номер поднесущей

Примечание

0

0, 2, 4, 6, 8,

16+28·m+4·n/2, m=0, 1, 2, 3

-

10, 12

16+28·m+4·n/2+2, m=0, 1, 2, 3

-

1, 3, 5, 7, 11,

16+28·m+4·n/2+1, m=0, 1, 2, 3

-

13

16+28·m+4·n/2+3, m=0, 1, 2, 3

-

9

16+28·m+4·n/2+1, m=0, 1, 2, 3

-

16+28·m+4·n/2+3, m=0, 1, 2, 3

m=1 зарезервировано для DC

1

14, 16, 18, 20,

128+32·m+4·(n-14)/2, m=0, 1, 2, 3

-

22, 24, 26, 28

128+32·m+4·(n-14)/2+2, m=0, 1, 2, 3

-

15, 17, 19, 21,

128+32·m+4·(n-14)/2+1, m=0, 1, 2, 3

-

23, 25, 27

128+32·m+4·(n-14)/2+3, m=0, 1, 2, 3

-

29

128+32·m+4·(n-14)/2+1, m=0, 1, 2, 3

-

128+32·m+4·(n-14)/2+3, m=0, 1, 2, 3

m=1 зарезервировано для DC

2

30, 32, 34, 36,

256+32·m+4·(n-30)/2, m=0, 1, 2, 3

-

38, 40, 42, 44

256+32·m+4·(n-30)/2+2, m=0, 1, 2, 3

-

31, 33, 35, 37,

256+32·m+4·(n-30)/2+1, m=0, 1, 2, 3

-

39, 41, 43

256+32·m+4·(n-30)/2+3, m=0, 1, 2, 3

-

45

256+32·m+4·(n-30)/2+1, m=0, 1, 2, 3

-

256+32·m+4·(n-30)/2+3, m=0, 1, 2, 3

m=1 зарезервировано для DC

3

46, 48, 50, 52,

384+32·m+4·(n-46)/2, m=0, 1, 2, 3

-

54, 56, 58, 60

384+32·m+4·(n-46)/2+2, m=0, 1, 2, 3

-

47, 49, 51, 53,

384+32·m+4·(n-46)/2+1, m=0, 1, 2, 3

-

55, 57, 59

384+32·m+4·(n-46)/2+3, m=0, 1, 2, 3

-

61

384+32·m+4·(n-46)/2+1, m=0, 1, 2, 3

-

384+32·m+4·(n-46)/2+3, m=0, 1, 2, 3

m=1 зарезервировано для DC

4

62, 64, 66, 68,

512+28·m+4·(n-62)/2, m=0, 1, 2, 3

-

70, 72, 74

512+28·m+4·(n-62)/2+2, m=0, 1, 2, 3

-

63, 67, 69, 71,

512+28·m+4·(n-62)/2+1, m=0, 1, 2, 3

-

73, 75

512+28·m+4·(n-62)/2+3, m=0, 1, 2, 3

-

65

512+28·m+4·(n-62)/2+1, m=0, 1, 2, 3

-

512+28·m+4·(n-62)/2+3, m=0, 1, 2, 3

m=2 зарезервировано для DC

- операция округления вниз до целого числа.

4.9.3 Размещение подканального окна обзора (ПОО)

В OFDMA-символах 0, 2, 3 в каждом ПдК выбираются в общей сложности три поднесущие. Таким образом формируется ресурс для организации "подканального окна обзора" (ПОО), которое используется для оценки уровня помех, присутствующих в ПдК.

Спектральное расположение трех поднесущих ПОО определяется идентификационным номером ID БС и номером подканала, как показано в соотношениях

(13)

Если поднесущая ПОО и поднесущая центральной частоты (DC) совпадают (накладываются), то местоположение поднесущей ПОО должно быть скорректировано следующим образом:

;

где - 16;

- 3;

- 8;

- 16;

;

m - номер поднесущей ПОО в каждом подканале, ;

k - ID номер БС, ;

- окончательный результат, указывающий на относительное положение на множестве из позиций поднесущих ПОО. При этом т указывает на порядковый номер ПОО (одной из трех, располагающихся позиций OFDMA-символов 0, 2 или 3) в ПдК, n указывает на номер ПдК, k указывает на номер ID БС.

Примечание - В случае расчета положений поднесущих для ПОО "крайних" групп поднесущих (ГПЧ) результат формируется для номеров ПдК n=0, 1, ..., 13, а значения k и m остаются теми же самыми, что и в трех средних группах ГПЧ.

4.9.4 Категории подканалов (ПдК)

Подканалы делятся на два типа: стационарные ПдК и мобильные ПдК.

1 Стационарный ПдК

В стационарном режиме в каждом ПдК для организации пилот-сигнала используется один временной интервал, составляющий один OFDMA-символ, как показано на рисунке 22.


Рисунок 22 - Структура стационарного подканала (ПдК) для обычного тайм-слота

Структура стационарного ПдК для супер-тайм-слота приведена на рисунке 23.


Рисунок 23 - Структура стационарного подканала (ПдК) для супер-тайм-слота

2 Мобильный ПдК

В мобильном режиме работы каждый ПдК использует для организации пилот-сигнала два временных интервала, каждый из которых составляет OFDMA-символ, как показано на рисунке 24.


Рисунок 24 - Структура мобильного подканала (ПдК) для обычного тайм-слота

Структура мобильного подканала для супер-тайм-слота приведена на рисунке 25.


Рисунок 25 - Структура мобильного подканала (ПдК) для супер-тайм-слота

4.10 Физические каналы

4.10.1 Категории физических каналов

В ШПР включено семь физических каналов.

1 Физический вещательный канал (ВК-канал)

БС по физическому ВК-каналу передает в широковещательном режиме информацию о собственных параметрах и настройках на абонентские терминалы (АТ) в тайм-слотах радиолинии DL.

2 Физический канал запроса коррекции задержки (ЗКЗ-канал)

Абонентский терминал посылает сообщения запросов коррекции задержки распространения по ЗКЗ-каналу, который охватывает во временной структуре кадра защитный интервал между окнами трансляции по радиолиниям DL и UL.

3 Физический канал ответа на ЗКЗ-сообщения (ОЗКЗ-канал)

БС посылает сообщение коррекции по задержке (для обеспечения синхронизации) и сообщение коррекции мощности трансляции для абонентского терминала по ОЗКЗ-каналу.

4 Физический канал случайного доступа (для запроса канала связи) (ЗД-канал)

Абонентский терминал (АТ) посылает сообщения запроса доступа во временном интервале радиолинии UL по ЗД-каналу.

5 Физический канал ответа на запрос, поступивший по каналу случайного доступа (ОЗД-канал)

БС в ответ на принятый по ЗД-каналу запрос посылает сообщение о начально назначенном канале связи по ОЗД-каналу. ОЗД-канал для конкретной БС организован на фиксированном тайм-слоте трансляций в радиолинии DL.

6 Физический канал трафика радиолинии UL (U-КПТ)

По физическому U-КПТ абонентское оборудование посылает данные, речевые сообщения и команды управления в тайм-слотах радиолинии UL.

7 Физический канал трафика радиолинии DL (D-КПТ)

БС посылает данные, речевые сообщения и команды управления по D-КПТ в тайм-слотах радиолинии DL.

4.10.2 Отображение физических каналов и тайм-слотов подканалов (ПдК)

ЗКЗ-канал располагается в специально организованном временном интервале, поддерживаемом внутри каждого кадра. Другие физические каналы могут располагаться в других тайм-слотах кадра, как показано на рисунке 26.


Рисунок 26 - Размещение физических каналов на временных интервалах кадра

Отображение вышеперечисленных физических каналов на ПдК, используемый тип модуляции, номинальный коэффициент загрузки (, см. 4.7.2.2) и структура используемого пилот-сигнала для каждого физического канала свои.

Они приведены ниже.

1 Физический вещательный канал (ВК-канал)

Позиции номеров ПдК, на которых организовывается ФВ-канал, конфигурируемы (изменяются в зависимости от ID БС). Но ФВ-канал всегда должен располагаться на двух соседних ПдК, работающих в конфигурации мобильного режима в радиолинии DL. В каждом из указанных двух ПдК используется модуляция QPSK, а номинальный коэффициент загрузки (, см. 4.7.2.2) равен 4.

2 Физический канал ответа на ЗКЗ-сообщения (ОЗКЗ-канал)

ОЗКЗ-канал должен быть организован на базе одного ПдК, работающего в конфигурации мобильного режима, в радиолинии DL. В указанном ПдК должна использоваться QPSK-модуляция, и номинальный коэффициент загрузки (, см. 4.7.2.2) равен 3.

3 Физический канал случайного доступа (для запроса канала связи) (ЗД-канап)

Позиции номеров ПдК, на которых организовывается ЗД-канал, конфигурируемы (изменяются в зависимости от ID БС). Но ЗД-канал всегда должен располагаться на двух соседних ПдК, работающих в конфигурации мобильного режима в радиолинии UL. В каждом из указанных двух ПдК должна использоваться модуляция QPSK, а номинальный коэффициент загрузки (, см. 4.7.2.2) должен быть равен 4.

4 Физический канал ответа на запрос, поступивший по каналу случайного доступа (ОЗД- канал)

Позиции номеров ПдК, на которых организовывается ОЗД-канал, конфигурируемы (изменяются в зависимости от ID БС). Но ОЗД-канал всегда должен располагаться на двух соседних ПдК, работающих в конфигурации мобильного режима в радиолинии DL. В каждом из указанных двух ПдК должна использоваться модуляция QPSK, а номинальный коэффициент загрузки (, см. 4.7.2.2) должен быть равен 4.

5 Физический канал трафика UL/DL (U/D-КПТ)

Физические каналы трафика (U/D-КПТ) могут быть организованы на любых ПдК, не занятых под В-канал, ОЗКЗ-канал и ОЗД-канал. При этом в указанных ПдК может использоваться любой из видов модуляции: QPSK; 8PSK; 16QAM; 64QAM. Номинальный коэффициент загрузки (, см. 4.7.2.2) может быть равен любому значению из множества от 1 до 8.

4.11 Мультиплексирование и порядок размещения данных

Порядок размещения данных реализован как двухуровневая процедура. Первый уровень (более высокий) - процедура размещения данных на разные ПдК и второй уровень (более низкий) - процедура размещения данных внутри ПдК приведены на рисунке 27. На этом рисунке данные, размещаемые на ресурсные элементы, представляют собой спектральные компоненты сигнала, который должен быть передан на частотах ШПР, формирование которых описано в 4.7.3.

Первый шаг. Выбор множества ПдК для выделения ресурса подканалов для передачи данных:

1) расчет числа тайм-слотов и ПдК, чтобы обеспечить ресурс, затребованный более высоким уровнем;

2) упорядочение выделенных тайм-слотов и ПдК в каждом кадре согласно возрастанию номеров;

3) упорядочение ресурсов каждого ПдК для передачи данных согласно сформированному в 1) и 2) порядку следования.

Второй шаг. Размещение данных внутри отдельных ПдК, т.е. распределение ресурсов поднесущих для передачи данных. При этом временные окна OFDMA-символов, предназначенных для данных, и временные окна OFDMA-символов, предназначенных для передачи пилот-сигналов, используются по-разному:

1) передаваемые данные прежде всего размещаются по спектральным компонентам (поднесущим), и по мере заполнения частотного ресурса в случае необходимости осуществляется переход к размещению в новой временной позиции, соответствующей очередному OFDMA-символу в текущем ПдК;

2) производится считывание очередного символа данных, сформированного для передачи в спектральной компоненте (на поднесущей) OFDMA-сигнала, как описано в 4.7.3.2. Если текущая поднесущая OFDMA-сигнала предназначена для передачи данных, то размещение символа осуществляется. Если текущая поднесущая предназначена для окна ПОО или является центральной несущей DC, то символ данных отображается на следующую по порядку следования поднесущую;

3) производится считывание символов пилот-сигнала, сформированного для передачи на спектральных компонентах (поднесущих) OFDMA-сигнала, как описано в 4.7.3.3. Если текущая поднесущая сигнала OFDMA предназначена для передачи пилот-сигнала, то размещение символа пилот-сигнала осуществляется. Если центральная поднесущая DC находится в текущем ПдК, то амплитуда DC поднесущей, находящейся в позиции временного окна OFDMA-символа пилот-сигнала, после размещения символов пилот-сигнала устанавливается равной 0.


Рисунок 27 - Порядок размещения данных

4.12 Контроль качества радиоканала

4.12.1 Уровень помех в группах поднесущих частот (ГПЧ)

Контроль за уровнем помех в диапазоне частот, составляющем группу поднесущих (ГПЧ), осуществляется в каждом частотно-временном ресурсном блоке. Размер частотно-временного ресурсного блока меньше или равен значению, получаемому как произведение длительности одного тайм-слота на частотный диапазон одной ГПЧ (т.к. не весь спектральный ресурс в пределах ГПЧ может активно использоваться в текущий момент).

4.12.2 Отношение сигнала к уровню помех плюс шум (ОСПШ)

ОСПШ измеряется на основе демодуляции точек созвездий символов, принятых в пределах частотно-временного ресурсного блока.

4.12.3 Показатель коэффициента загрузки, используемый на физическом уровне

Коэффициент загрузки - это число символов модуляции (QPSK, или PSK, или QAM), которые можно послать на интервале одного OFDMA-символа в одном ПдК. Его значение определяется по наблюдаемому качеству канала. Значение коэффициента загрузки, используемое в абонентской линии в текущий момент времени, одинаковое для всех ПдК, выделенных соответствующему абонентскому терминалу.

4.12.4 Индикация мобильности

Индикатор мобильности указывает на то, какая сигнальная структура используется в ПдК, предоставленной для абонентского терминала (АТ). Структура прописывается для стационарного режима или для мобильного режима. Этот индикатор определяется вне зависимости от того, находится ли АТ в активном или пассивном состояниях. Этот индикатор в каждый текущий момент одинаков для всех ПдК, предоставленных АТ.

5 Уровень звена передачи данных (канальный уровень)

5.1 Функции канального уровня

Основные функции уровня звена передачи данных (ЗПД) состоят в организации установления, поддержке работы и организации разъединения линий обмена данными для обеспечения надежной и достоверной передачи.

5.2 Эталонная модель

Эталонная архитектура протоколов широкополосной системы беспроводного доступа ШПР приведена на рисунке 28. В этом стандарте описываются только форматы данных, команды и схемы управления. Вопросы технического обслуживания и администрирования в данный стандарт не входят.

ЗПД (канальный) уровень разделяется на четыре подуровня: подуровень формирования трафика (ПФТ-подуровень), подуровень обмена данными (ОДп-подуровень - обмен пакетами данных), подуровень речевого обмена (ОРп-подуровень - обмен речевыми пакетами) и подуровень управления средой обмена (МАС-подуровень - Media Access Control).


Рисунок 28 - Эталонная архитектура протоколов

5.3 Интерфейс связи ЗПД

Интерфейс радиосвязи ЗПД в ШПР обеспечивает обмен информационными сообщениями между одноранговыми (равными) уровнями (ЗПД(БС)ЗПД(АТ)), в то время как служебные сообщения (примитивы) ЗПД используются для связи друг с другом промежуточных подуровней, организующих физическую среду радиообмена.

В общей форме справедливо утверждение, что служебное сообщение (примитив) используется для передачи управляющей информации между уровнями.

Примитивы (служебные сообщения) делятся на четыре типа: запросы, подтверждения, индикации и ответы.

5.4 Индикация адреса и линии связи

32-битовый UID используется в радиоинтерфейсе, чтобы однозначно идентифицировать абонентский терминал (AT). UID в основном используется в процедуре случайного доступа при запросе соединений.

Каждое соединение для передачи речевых сообщений имеет 5-битовый СID (СID-индикатор соединения), который применяется для того, чтобы различать речевые соединения, участвующие в сессии речевой связи.

В сессиях, объединяющих трафиковые потоки данных с различными показателями QoS (QoS - параметр качества обслуживания), используется 3-битовый идентификатор SFID. SFID, равный 0, используется для управляющих сообщений высшего приоритета; значения SFID в пределах 2-3 используются для управления приоритетом конкретного потока данных (2 - обозначает высший приоритет, 3 - низший приоритет); остальные значения 1, 4-7 - зарезервированы.

5.5 Подуровень управления доступом к среде (МАС-подуровень)

5.5.1 Функционал

Функции, поддерживаемые МАС-подуровнем, включают:

- передачу системной информации в вещательном режиме;

- передачу вызывных сообщений;

- передачу запросов доступа для организации каналов связи;

- управление мощностью;

- синхронизацию абонентских терминалов;

- мультиплексирование/демультиплексирование данных на физическом уровне;

- сегментирование на кадры и сборку из кадров физического уровня потоков данных;

- сбор и хранение данных о характеристиках работы на физическом уровне для абонентских терминалов.

5.5.2 Логический канал

5.5.2.1 Краткое введение

Логический канал между МАС-подуровнем и физическим уровнем используется для того, чтобы осуществлять контроль за передачей данных по эфиру. Для этого используются различные форматы пакетов данных (ПД) MAC.

Ниже приведены типы логических каналов, поддерживаемые в радиолиниях UL и DL.

5.5.2.2 Логические каналы радиолиний DL

5.5.2.2.1 Вещательный канал (ВК):

- занимает два подканала (ПдК) и передает в них 96 бит полезной информации;

- используется для передачи системной информации в широковещательном режиме и передачи вызовов;

- работает в режиме всенаправленной трансляции по азимутальным направлениям, чтобы гарантировать возможность приема на всей территории соты;

- может быть сконфигурирован в любой группе поднесущих (ГПЧ) и в любом тайм-слоте радиолинии DL;

- в выделенной ГПЧ и выделенном тайм-слоте DL номера двух ПдК, занимаемых ВК, определяются номером ID БС и рассчитываются так: ПдК1=((ID БС)·2) mod 14 и ПдК2=((ID БС)·2+1) mod 14.

5.5.2.2.2 Канал ответа на запросы коррекции задержки (ОЗКЗ-канал):

- занимает один ПдК и содержит 36 бит полезной информации;

- когда абонентский терминал (АТ) посылает "Запрос коррекции задержки (ЗКЗ)", БС в ответе, посылаемом по ОЗКЗ-каналу, в соответствующих полях сообщает, как нужно скорректировать параметр задержки (упреждения) и уровень трансляции, чтобы обеспечить синхронизацию по времени и обеспечить эталонный уровень сигнала в радиолинии UL, поддерживаемой АТ;

- ОЗКЗ организован как направленный (на абонента) канал;

- в каждой группе поднесущих (ГПЧ) может быть несколько ОЗКЗ-каналов. Их число определяется количеством АТ, одновременно пославших сигналы ЗКЗ;

- в ГПЧ, в тайм-слотах радиолиний DL, ОЗКЗ-канал организуется на ПдК с номером, рассчитываемым следующим образом: ПдК=((ID БС)·2+2) mod 14. Номер тайм-слота, используемого для организации ОЗКЗ-канала, передается в ВК-канале в "Блоке системной информации-2".

5.5.2.2.3 Канал ответа на запрос доступа (ОЗД-канал):

- занимает два ПдК и содержит 96 бит полезной информации;

- предназначен для ответа на запросы доступа и располагается в тех же логических позициях радиолинии DL, что и соответствующий запрос доступа в радиолинии UL;

- ОЗД-канал организован как направленный (на абонента) канал;

- в каждой группе поднесущих (ГПЧ) может поддерживаться несколько ОЗД-каналов, число которых связано с количеством АТ, одновременно пославших запрос доступа;

- в ГПЧ, в тайм-слотах радиолиний DL, ОЗД-канал организуется на двух ПдК, номера которых определяются следующим образом: ПдК1=((ID БС)·2+4) mod 14 и ПдК2=((ID БС)·2+5) mod 14. Номер тайм-слота, используемого для организации ОЗД-канала, передается в ВК-канале в "Блоке системной информации-2".

5.5.2.2.4 Канал передачи трафика (КПТ):

- занимает число ПдК, соответствующее суммарному объему выделенных данному каналу ресурсов;

- в канале могут использоваться различные (из перечня поддерживаемых сетью) виды модуляции и кодирования;

- канал используется для передачи управляющих сообщений, речевых пакетов и данных;

- КПТ организован как направленный (на абонента) канал.

5.5.2.3 Логические каналы радиолинии UL

5.5.2.3.1 Канал запроса доступа (ЗД-канал):

- занимает два подканала (ПдК) содержит 96 бит полезной информации;

- организован как канал случайного доступа в радиолинии UL;

- в каждой ГПЧ может быть несколько ЗД-каналов, число которых связано с количеством АТ, одновременно формирующих запрос доступа;

- В ГПЧ, в тайм-слотах радиолиний UL, номера двух ПдК, выделенных для организации ЗД-канала, определяются следующим образом: ПдК1=((ID БС)·2+4) mod 14 и ПдК2=((ID БС)·2+5) mod 14. Номер тайм-слота, используемого для организации ЗД-канала, передается в ВК-канале в "Блоке системной информации-2".

5.5.2.3.2 Канал передачи трафика (КПТ-канал):

- занимает число ПдК, соответствующее суммарному объему выделенных данному каналу ресурсов;

- в канале могут использоваться различные (из перечня поддерживаемых сетью) виды модуляции и кодирования;

- канал используется для передачи управляющих сообщений, речевых пакетов и данных;

- КПТ организован как направленный (на абонента) канал (БС формирует луч диаграммы направленности в направлении на абонента для организации приема).

5.5.3 Отображение логических каналов на физические каналы

Логические каналы отображаются на физические каналы так, как показано на рисунке 29.


Рисунок 29 - Отображение логических каналов на физические каналы

Один физический канал ЗКЗ связан только с физическим процессом, т.е. у него нет соответствующего логического канала. Кроме того, логический канал КПТ в радиолиниях UL и DL соответственно отображается на различные физические каналы: ФКПТ-радиолиний DL и ФКПТ-радиолиний UL.

5.5.4 Организация обмена между уровнями

5.5.4.1 Краткое введение

МАС-подуровень взаимодействует с другими подуровнями посредством примитивов (служебных межподуровневых сообщений). Таким же образом осуществляется обмен данными и обмен управляющей информацией. В данном разделе даны только типы и поля примитивов, необходимые для работы, но без указания способов и ограничений их применения.

МАС-подуровень осуществляет взаимодействие (обмен) с верхними уровнями (ОДп-подуровнем, ОРп-подуровнем) и с физическим уровнем. Ниже описываются примитивы, используемые для связи подуровня MAC с каждым из указанных уровней.

5.5.4.2 Список примитивов (служебных сообщений), применяемых между МАС-подуровнем и верхним уровнем

5.5.4.2.1 Индикация установки синхронизации от МАС-подуровня

МАС-подуровень АТ использует этот примитив, чтобы сообщить (провести индикацию) на верхний уровень о факте установки синхронизации с некоторой БС. Формат примитива приведен в таблице 11.

Таблица 11 - Формат примитива "Индикация установки синхронизации от МАС-подуровня"

Поле

Описание

BTS_INFO_IE

Информация о БС (с которой установлена синхронизация)

Network_ID

ID сети БС (с которой установлена синхронизация)

Current_Sync_Center_Frequency

Информация о центральной частоте

BTS_Reset_Count

Счетчик рестартов БС (с которой установлена синхронизация)

5.5.4.2.2 Запрос хэндовера к МАС-подуровню

Верхний уровень абонентского терминала (АТ) передает этот запрос, чтобы МАС-подуровень АТ выполнил процедуру "Хэндовер". Формат примитива приведен в таблице 12.

Таблица 12 - Формат примитива "Запрос хэндовера к МАС-подуровню"

Поле

Описание

Туре

- Установка соединения на МАС-подуровне с "целевой БС" (на которую выполняется НО)

- Разрыв соединения на МАС-подуровне с исходной БС (от которой осуществляется НО)

Target_Freq

Информация о несущей частоте целевой БС (на которую производится НО)

BTS_INFO_IE

Информация об исходной БС (с которой осуществляется НО)

5.5.4.2.3 Подтверждение хэндовера от МАС-подуровня

Когда MAC АТ заканчивает доступ к целевой БС (на которую производится НО), информация о результатах отправляется с МАС-подуровня на верхний уровень АТ. Формат примитива приведен в таблице 13.

Таблица 13 - Формат примитива "Подтверждение хэндовера от МАС-подуровня"

Поле

Описание

Probe_Result

Сигнал индикации об успешном/неуспешном завершении процедуры "Хэндовер"

Target_Bts_ID

ID БС, на которую осуществлялся НО (целевой БС)

Target_Bts_Freq

Несущая частота целевой БС

Target_Bts_Seq

ID последовательности целевой БС

Target_Bts_Network_ID

ID сети целевой БС

Target_Bts_Reset_Count

Счетчик рестартов целевой БС

5.5.4.3 Управляющие примитивы (служебные сообщения) между MAC- и ОДп/ОРп-подуровнями

5.5.4.3.1 Примитивы службы управления

5.5.4.3.1.1 Запрос установки МАС-соединения

АТ/БС ОДп/ОРп-подуровень использует эту команду, чтобы запросить МАС-подуровень установить соединение на физическом уровне по радиоканалу. Формат приведен в таблице 14.

Таблица 14 - Формат примитива "Запрос установки МАС-соединения"

Поле

Описание

UID

Идентификационный номер АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Request_Bandwidth

Запрашиваемая полоса канала

5.5.4.3.1.2 Подтверждение установки МАС-соединения

Когда процедура установки соединения на физическом уровне, описанная в предыдущем пункте, завершена, MAC АТ/БС использует данный примитив для отправки подтверждения на уровни ОДп/ОРп о завершении указанной процедуры. Формат приведен в таблице 15.

Таблица 15 - Формат примитива "Подтверждение установки МАС-соединения"

Поле

Описание

UID

Идентификационный номер АТ

Service_Type

ОДп- или ОРп-подуровню (какому подуровню направляется)

Result

Процедура принята или процедура отклонена

5.5.4.3.1.3 Запрос на активацию службы MAC

Когда ОДп/ОРп-соединение установлено, АТ/БС ОДп/ОРп-подуровень использует этот примитив, чтобы передать на МАС-подуровень запрос на привязку обслуживания. Формат указанного примитива приведен в таблице 16.

Таблица 16 - Формат примитива "Запрос на активацию службы МАС"

Поле

Описание

UID

Идентификационный номер АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

5.5.4.3.1.4 Запрос завершения работы службы MAC

АТ/БС ОДп/ОРп-подуровень использует этот примитив, чтобы отправить на МАС-подуровень запрос на освобождение радиоканала. Формат указанного примитива приведен в таблице 17.

Таблица 17 - Формат примитива "Запрос завершения работы службы МАС"

Поле

Описание

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Release_Reason

Индикатор причины освобождения радиоканала

5.5.4.3.1.5 Индикация завершения работы службы MAC

АТ/БС МАС-подуровень использует этот примитив, чтобы уведомить ОДп/ОРп-подуровень о выполнении процедуры освобождения радиоканала. Формат примитива приведен в таблице 18.

Таблица 18 - Формат примитива "Индикация завершения работы службы МАС"

Поле

Описание

UID

Идентификационный номер АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Release_Reason

Индикация причины освобождения радиоканала

5.5.4.3.1.6 Подтверждение завершения работы службы MAC

АТ/БС МАС-подуровень использует этот примитив, чтобы отправить на ОДп/ОРп-подуровень подтверждение о том, что освобождение радиолинии по запросу выполнено. Формат примитива приведен в таблице 19.

Таблица 19 - Формат примитива "Подтверждение завершения работы службы МАС"

Поле

Описание

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Release_Reason

Причина освобождения радиолинии

5.5.4.3.1.7 Запрос конфигурации радиоканала на МАС-подуровень

АТ/БС ОДп/ОРп-подуровень использует этот примитив, чтобы отправить на МАС-подуровень запрос на установку размера полосы пропускания радиоканала. Формат указанного примитива приведен в таблице 20.

Таблица 20 - Формат примитива "Запрос конфигурации радиоканала на МАС-подуровень"

Поле

Описание

UID

Идентификатор АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Request_Bandwidth

Требуемая полоса радиоканала

5.5.4.3.2 Примитивы (сообщения) службы обмена данными

5.5.4.3.2.1 Запрос передачи данных к МАС-подуровню

АТ/БС ОДп/ОРп-подуровень направляет этот примитив на МАС-подуровень, чтобы организовать передачу данных. Формат примитива приведен в таблице 21.

Таблица 21 - Формат примитива "Запрос передачи данных к МАС-подуровню"

Поле

Описание

UID

Идентификатор АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Data

Пакет данных (ПД) ОДп/ОРп-подуровня

5.5.4.3.2.2 Индикация приема данных от МАС-подуровня

АТ/БС МАС-подуровень использует этот примитив, чтобы передать полученные данные на ОДп/ОРп-подуровень. Формат приведен в таблице 22.

Таблица 22 - Формат примитива "Индикация приема данных от МАС-подуровня"

Поле

Описание

UID

Идентификатор АТ

Service_Type

ОДп-обслуживание или ОРп-обслуживание

Data

Блок данных МАС-подуровня

5.5.4.4 Сообщения (примитивы) между МАС-подуровнем и физическим уровнем

5.5.4.4.1 Примитивы службы управления

5.5.4.4.1.1 Синхронизация на физическом уровне

Физический уровень АТ использует этот примитив, чтобы уведомить МАС-подуровень об установке синхронизации с БС и передать параметры синхронизации. Формат указанного примитива приведен в таблице 23.

Таблица 23 - Формат примитива "Синхронизация на физическом уровне"

Поле

Описание

Flag

Индикация успешного/не успешного результата синхронизации

BTS Frequency Index

Рабочая частота БС

BTS Sequence ID

Идентификатор ID БС

Power Info

Информация о мощности сигнала приема/трансляции

5.5.4.4.1.2 Запрос коррекции задержки (ЗКЗ)

АТ МАС-подуровень использует этот примитив, чтобы запросить выполнение процедуры коррекции задержки распространения на физическом уровне. Формат указанного примитива приведен в таблице 24.

Таблица 24 - Формат примитива "Запрос коррекции задержки (ЗКЗ)"

Поле

Описание

BTS Frequency Index

Рабочая частота БС

5.5.4.4.1.3 Индикация приема запроса коррекции задержки

Физический уровень БС использует этот примитив, чтобы уведомить БС МАС-подуровень о том, что от некоторой АТ принят сигнал "Запрос коррекции задержки". Формат указанного примитива приведен в таблице 25.

Таблица 25 - Формат примитива "Индикация приема запроса коррекции задержки"

Поле

Описание

ЗКЗ ID

Идентификационный номер сигнала "Запрос коррекции задержки" (номер использованной ЗКЗ-последовательности и номер ГПЧ)

Ranging Offset

Необходимые поправки для параметров мощности и упреждающего временного сдвига трансляции, используемых на АТ, полученные в результате обработки ЗКЗ-сигнала, поступившего от АТ

5.5.4.4.2 Примитивы (сообщения) службы обмена данными

5.5.4.4.2.1 Запрос к физическому уровню на передачу данных

АТ/БС МАС-подуровень использует этот примитив, чтобы запросить физический уровень о передаче сформированных данных. Формат указанного примитива приведен в таблице 26.

Таблица 26 - Формат примитива "Запрос к физическому уровню на передачу данных"

Поле

Описание

Profile

Идентификация о конфигурации

Data

Пакет данных (ПД), сформированный МАС-подуровнем для передачи на физическом уровне

5.5.4.4.2.2 Индикация от физического уровня о приеме данных

Физический уровень АТ/БС использует этот примитив, чтобы передать данные, полученные по радиоканалу, на АТ/БС МАС-подуровень. Формат указанного примитива приведен в таблице 27.

Таблица 27 - Формат примитива "Индикация от физического уровня о приеме данных"

Поле

Описание

Data

Блок данных, полученных на физическом уровне

5.5.5 Обмен между подуровнями равной иерархии

5.5.5.1 Пакеты данных (ПД) МАС-подуровня (передаются для трансляции на физический уровень)

5.5.5.1.1 Вещательный канал (ВК)

5.5.5.1.1.1 Общее описание

ПД МАС-подуровня вещательного канала может содержать информацию следующих типов:

- Блок системной информации-1;

- Блок системной информации-2;

- Блок системной информации-3;

- Блок системной информации-4;

- вызовы;

- вызовы для пассивного режима;

- передача широковещательной информации в режиме ОДп.

5.5.5.1.1.2 Формат кадра вещательного канала МАС-подуровня

Формат кадра вещательного канала (ВК) МАС-подуровня, содержащего ПД ВК МАС-подуровня, приведен в таблице 28.

Таблица 28 - Формат кадра ВК МАС-подуровня

Поле

Длина (бит)

Описание

SI

2

Служебный индикатор

0: Режим "Молчание" (для калибровки)

1: Режим "Запрет доступа" (ситуация наличия перегрузки)

2: Полный доступ

Message Туре

4

2 бита старших разрядов

0b00: системная информация БС

0b01: вызов

0b10: передача широковещательной информации

0b11: резерв

0b0000: "Блок системной информации-1"

0b0001: "Блок системной информации-2"

0b0010: "Блок системной информации-3"

0b0011: "Блок системной информации-4"

0b0100: вызов

0b0101: резерв

0b0110: вызов для пассивного режима

0b0111: резерв

0b1000: широковещательная передача информации (ОДп)

0b1001~0b1011: резерв

Message Content

78

Информационное сообщение (ПД ВК МАС-подуровня), формат детализирован в таблице 29

CRC

12

Проверочные CRC-биты контроля ошибок

5.5.5.1.1.3 Информационные сообщения, которые может содержать ПД ВК МАС-подуровня

5.5.5.1.1.3.1 Типы информационных сообщений

Сообщения МАС-подуровня вещательного канала должны предаваться пакетами данных (ПД) МАС-подуровня. Они должны размещаться в поле "Message Content" пакета данных МАС-подуровня, формат которого приведен в таблице 28. Список допустимых типов широковещательных сообщений приводится в таблице 29.

Таблица 29 - Типы широковещательных сообщений МАС-подуровня

Тип сообщения

Имя сообщения

Описание

0b0000

Блок системной информации-1

Широковещательное сообщение 1 о параметрах БС, описание дано в таблице 31

0b0001

Блок системной информации-2

Широковещательное сообщение 2 о параметрах БС, описание дано в таблице 31

0b0010

Блок системной информации-3

Широковещательное сообщение 3 о параметрах БС, описание дано в таблице 31

0b0011

Блок системной информации-4

Широковещательное сообщение 4 о параметрах БС, описание дано в таблице 31

0b0100

Вызов

Сообщение вызова, описание дано в таблице 34

0b0101

Резерв

-

0b0110

Вызов для пассивного режима

Вызов для пассивного режима, описание дано в таблице 35

0b0111

Резерв

-

0b1000

Широковещательная информация

Широковещательная передача данных, описание дано в таблице 36

0b1001~0b1011

Резерв

-

5.5.5.1.1.3.2 Широковещательное сообщение "Блок системной информации-1"

БС должна транслировать сообщение "Блок системной информации-1" на абонентские терминалы в широковещательном режиме, чтобы передать информацию о своих рабочих параметрах. Формат широковещательного сообщения "Блок системной информации-1" приведен в таблице 30.

Таблица 30 - Формат широковещательного сообщения "Блок системной информации-1"

Поле

Длина (бит)

Описание

VER

3

Версия протокола радиоинтерфейса. Минимально допустимое значение 1

FN

7

Системный номер кадра.

FN=(номер кадра БС) mod 128, поэтому имеет значения от 0 до 127

SCG_ID

4

Номер ГПЧ вещательного канала, по которому осуществляется передача данного сообщения

N_ANT

4

Число антенных элементов, составляющих антенну БС

TRANSMIT_PWR

7

Мощность трансляции сигнала БС в дБм

RSV

1

Резерв, все биты установлены 0

NID

12

ID сети

BID

20

ID БС

N_TS

3

Общее число тайм-слотов в кадре (TS). (TS=N_TS+1)

N_DN_TS

3

Число тайм-слотов в радиолинии DL

RSV

5

Резерв, все биты установлены в 0

RECEIVE_SENSITIVITY

5

Уровень чувствительности БС на приеме в дБм.

Правило расчета: Уровень чувствительности БС=-65-RECEIVE_SENSITIVITY

RST_COUNTER

4

Счетчик рестартов БС

5.5.5.1.1.3.3 Широковещательное сообщение "Блок системной информации-2"

БС в широковещательном режиме транслирует на АТ информацию о распределении служебных каналов. Для этого она использует сообщение "Блок системной информации-2". Информация о распределении каналов БС (до восьми каналов) может содержаться в одном сообщении блока системной информации, включая распределение каналов (конфигурацию) ВК, ЗД, ОЗД, ОЗКЗ.

Если ЗД-канал распределяется в определенной ГПЧ, то и ОЗД-канал также должен быть распределен (присвоен) в той же ГПЧ. То есть каналы ЗД и ОЗД назначаются в паре. Номера тайм-слотов и номера ПдК, присвоенные ЗД- и ОЗД-каналам идентичны, но только сами каналы размещены в радиолиниях UL и DL соответственно.

Когда информация о распределении каналов превышает максимальную длину сообщения "Блок системной информации", то БС передает несколько сообщений вида "Блок системной информации-2" с различными идентификаторами в поле "Sequence", а поле LAST используется для индикации конца данной информации.

Формат сообщения "Блок системной информации-2" приведен в таблице 31.

Таблица 31 - Формат сообщения "Блок системной информации-2"

Поле

Длина (бит)

Описание

Transld

2

ID транзакции, присваивается БС

RSV

4

Резерв, все биты установлены в 0

Sequence

3

Номер сообщения в последовательности.

Если БС отправляет несколько сообщений "Блок системной информации-2", то в это поле устанавливается соответствующий номер

LAST

1

Индикатор конца последовательности блоков информации

0: не конец последовательности блоков информации

1: конец последовательности блоков информации

for (i=0; i<8; i++){

-

-

SCH_TYPE

2

Тип ПдК:

0b00: ОЗД (ЗД)

0b01: ВК

0b10: ОЗКЗ

0b11: резерв

SCG_Index

3

Индекс ГПЧ

TS

3

Тайм-слот

}

-

-

RSV

4

Резерв, все биты установлены в 0

5.5.5.1.1.3.4 Широковещательное сообщение "Блок системной информации-3"

БС в широковещательном режиме транслирует на АТ сообщение формата "Блок системной информации-3", чтобы передать информацию о мощности трансляции в тайм-слотах (временных интервалах). Указанное сообщение приведено в таблице 32.

Таблица 32 - Формат сообщения "Блок системной информации-3"

Поле

Длина (бит)

Описание

RSV

2

Резерв, все биты установлены в 0

MAX_SCALE

8

Максимальный уровень трансляции БС

PREAMBLE_SCALE

8

Мощность трансляции преамбулы (дБм)

TCH_SCALE0

8

Мощность трансляции в тайм-слоте TS0 радиолинии DL (дБм)

TCH_SCALE1

8

Мощность трансляции в тайм-слоте TS1 радиолинии DL (дБM)

TCH_SCALE2

8

Мощность трансляции в тайм-слоте TS2 радиолинии DL (дБм)

TCH_SCALE3

8

Мощность трансляции в тайм-слоте TS3 радиолинии DL (дБм)

TCH_SCALE4

8

Мощность трансляции в тайм-слоте TS4 радиолинии DL (дБм)

TCH_SCALE5

8

Мощность трансляции в тайм-слоте TS5 радиолинии DL (дБм)

TCH_SCALE6

8

Мощность трансляции в тайм-слоте TS6 радиолинии DL (дБм)

RSV

4

Резерв, все биты установлены в 0

(Поправка).

5.5.5.1.1.3.5 Широковещательное сообщение "Блок системной информации-4"

БС в широковещательном режиме транслирует на АТ сообщение формата "Блок системной информации-4", чтобы передать дополнительную информацию о системных параметрах. Указанное сообщение приведено в таблице 33.

Таблица 33 - Формат сообщения "Блок системной информации-4"

Поле

Длина (бит)

Описание

Год

6

Реальный год=2006+"Год"

Месяц

4

1-12 - номер текущего месяца

День

5

1-31 - текущее число месяца

Час

5

0-23 - текущий час

Мин

6

0-59 - минуты

Сек

6

0-59 - секунды

ScgMask

5

Каждый бит указывает статус ГПЧ. Бит младшего разряда соответствует ГПЧ с номером 0.

0: не работает

1: работает

RSV

5

Резерв, все биты установлены в 0

BtsFreq

12

Частота БС, представленная в единицах значимостью 50 кГц

RSV

4

Резерв, все биты установлены в 0

FRAME_NUM

16

Номер кадра. Это последние из 16 бит номера БС-кадра

RSV

4

Резерв, все биты установлены в 0

5.5.5.1.1.3.6 Сообщение "Вызов"

Сообщение "Вызов" передает БС на АТ. Его формат приведен в таблице 34.

Таблица 34 - Формат сообщения "Вызов"

Поле

Длина (бит)

Описание

RSV

24

Резерв, все биты установлены в 0

PagingType

2

0: сообщение "Вызов общего формата"

1: сообщение "Только вызов" (без последующей установки соединения)

остальные значения: резерв

UID

32

Идентификационный номер АТ

RSV

20

Резерв, все биты установлены в 0

5.5.5.1.1.3.7 Сообщение "Вызов для пассивного режима"

Когда АТ находится в пассивном режиме, БС будет посылать к нему вызовы в формате сообщения "Вызов для пассивного режима", приведенном в таблице 35.

Таблица 35 - Формат сообщения "Вызов для пассивного режима"

Поле

Длина (бит)

Описание

N_SLEEP_PAGING

3

Номер вызова

for(i=0; i < 5; i++){

-

-

Paging_Index_i

14

Идентификатор ID вызываемого абонента (i обозначает порядковый номер вызываемого абонента в сообщении)

RSV

1

Резерв, бит установлен в 0

}

-

-

5.5.5.1.1.3.8 Сообщение "Широковещательные данные"

В широковещательном режиме "Трансляция данных широковещательной ОДп-сессии" БС передает сообщения ("Широковещательные данные") для множества АТ. Формат сообщения "Широковещательные данные" приведен в таблице 36.

Таблица 36 - Формат сообщения "Широковещательные данные"

Поле

Длина (бит)

Описание

FC

2

Индикатор сегмента:

0b00: нет сегментации

0b01: начальный сегмент

0b10: средний сегмент

0b11: последний сегмент

SEQNUM

4

ID последовательный номер сегмента

DATA

72

Широковещательные данные (ОДп-режим)

5.5.5.1.2 Канал запроса доступа (ЗД-канал)

5.5.5.1.2.1 Общее описание

ЗД-пакеты МАС-подуровня могут иметь следующие форматы:

- запрос доступа методом случайного доступа;

- ответ на обычный вызов;

- ответ на сообщение "Только вызов";

- "Зондирование хэндовера";

- "Хэндовер";

- запрос установки пассивного режима.

Расчет проверочных CRC-бит для ЗД-пакета МАС-подуровня производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

Все ЗД-пакеты имеют фиксированный размер 96 бит.

5.5.5.1.2.2 Сообщения

5.5.5.1.2.2.1 Типы сообщений

ЗД-пакет МАС-подуровня, транслируемый по ЗД-каналу, может содержать сообщения, типы которых приведены в таблице 37.

Таблица 37 - Допустимые типы сообщений ЗД-канала МАС-подуровня

Тип сообщения

Имя сообщения

Описание

Логический канал

0

Запрос доступа

Указан в таблице 38

ЗД

1

Ответ на обычный вызов

Указан в таблице 39

2

Ответ на сообщение "Только вызов"

Указан в таблице 40

3

Зондирование хэндовера

Указан в таблице 41

4

Хэндовер

Указан в таблице 42

5

Запрос установки пассивного режима

Указан в таблице 43

5.5.5.1.2.2.2 Запрос доступа (запрос канала в случайном режиме)

АТ в случае необходимости организации канала радиосвязи отправляет по ЗД-каналу на БС в режиме случайного доступа сообщение "Запрос доступа". Формат сообщения "Запрос доступа" приведен в таблице 38.

Таблица 38 - Формат сообщения "Запрос доступа"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса АТ

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Type

3

0: Случайный доступ

for (scg=0; scg<5; scg++){

-

-

Cl

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

RSV

3

Резерв, каждый бит устанавливается в 0

Lopt

6

Коэффициент загрузки, используемый в радиолинии DL (в радиолинии DL применяется наиболее оптимальный вариант коэффициента загрузки = Lopt+1)

PM

6

Предел изменения мощности передатчика Тх в дБ

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RATE

3

Запрашиваемая АТ полоса канала в бит/с:

0: 8k

1: 128K

2: 256K

3: 512K

4: 1М

5: 2М

6: 5М

7: резерв

Target_Freq

1

Индикатор соотношения частот для целевой и исходной БС в режиме "Хэндовер":

0: "Хэндовер" на одной и той же частоте (в этом сообщении не несет информации)

1: "Хэндовер" с изменением рабочей частоты (в этом сообщении не несет информации)

BCH_SCG

3

Номер группы поднесущих (ГПЧ), в котором АТ принимает вещательный канал

FORBID_TS_MASK

8

Маска тайм-слотов. Каждый бит соответствует одному тайм-слоту.

Бит младшего значащего разряда - маска тайм-слота с номером 0.

0: включен

1: отключен

ANCHOR_SCG

3

Номер группы поднесущих (ГПЧ) обслуживающей БС, к которой привязан АТ

BY_FRAME

1

Индикатор допустимости режима организации обмена данными, в котором заполнение данными происходит с переключением между кадрами:

0: не применяется ("Прозрачный режим")

1: применяется ("Непрозрачный режим c ARQ")

CRC

16

Проверочные CRC-биты контроля ошибок

5.5.5.1.2.2.3 Ответ на обычный вызов

Когда в сообщении "Вызов", отправленном с БС на АТ, содержится индикация "Вызов общего формата" (см. 5.5.5.1.1.3.6), АТ должен в ответ передать на БС сообщение "Ответ на обычный вызов". Формат этого сообщения приведен в таблице 39.

Таблица 39 - Формат сообщения "Ответ на обычный вызов"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса АТ

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Type

3

1: "Ответ на обычный вызов"

for (scg=0; scg<5; scg++){

-

-

Cl

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

RSV

3

Резерв, каждый бит устанавливается в 0

Lopt

3

Коэффициент загрузки, используемый в радиолинии DL (в радиолинии DL применяется наиболее оптимальный вариант коэффициента загрузки = Lopt+1)

PM

6

Предел изменения мощности передатчика Тх в дБ

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RATE

3

Запрашиваемая АТ полоса канала в бит/с:

0: 8k

1: 128K

2: 256K

3: 512K

4: 1М

5: 2М

6: 5М

7: резерв

Target_Freq

1

Индикатор сохранения/несохранения частот для целевой и исходной БС в режиме "Хэндовер":

0: "Хэндовер" на одной и той же частоте (в этом сообщении не несет информации)

1: "Хэндовер" с изменением рабочей частоты (в этом сообщении не несет информации)

BCH_SCG

3

Номер группы поднесущих (ГПЧ), в котором АТ принимает вещательный канал

FORBID_TS_MASK

8

Маска тайм-слота. Каждый бит соответствует одному тайм-слоту. Бит младшего значащего разряда - маска тайм-слота с номером 0.

0: включен

1: отключен

ANCHOR_SCG

3

Номер группы поднесущих (ГПЧ) обслуживающей БС, к которой привязан АТ

BY_FRAME

1

Индикатор допустимости режима организации обмена данными, в котором заполнение данными происходит с переключением между кадрами:

0: не применяется ("Прозрачный режим")

1: применяется ("Непрозрачный режим c ARQ")

CRC

16

Проверочные CRC-биты контроля ошибок

5.5.5.1.2.2.4 Ответ на "Только вызов"

Когда индикатор "Только вызов" присутствует в сообщении "Вызов" (см. 5.5.5.1.1.3.6), отправленном БС, АТ должен передать на БС сообщение "Ответ на "Только вызов". Формат такого сообщения приведен в таблице 40.

Таблица 40 - Формат сообщения "Ответ на "Только вызов"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса АТ

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Type

3

2: "Ответ на "Только вызов"

for (scg=0; scg<5; scg++){

-

-

CI

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

RSV

3

Резерв, каждый бит устанавливается в 0

Lopt

3

Коэффициент загрузки, используемый в радиолинии DL (в радиолинии DL применяется наиболее оптимальный вариант коэффициента загрузки = Lopt+1)

РМ

6

Предел изменения мощности передатчика Тх в дБ

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RATE

3

Запрашиваемая АТ полоса канала в бит/с:

0: 8k

1: 128K

2: 256K

3: 512K

4: 1М

5: 2М

6: 5М

7: резерв

Target_Freq

1

Индикатор сохранения/изменения частоты в режиме "Хэндовер":

0: "Хэндовер" на одной и той же частоте (в этом сообщении не несет информации)

1: "Хэндовер" с изменением рабочей частоты (в этом сообщении не несет информации)

BCH_SCG

3

Номер группы поднесущих (ГПЧ), в котором АТ принимает вещательный канал

FORBID_TS_MASK

8

Маска тайм-слота. Каждый бит соответствует одному тайм-слоту.

Бит младшего значащего разряда - маска тайм-слота с номером 0.

0: включен

1: отключен

ANCHOR_SCG

3

Номер группы поднесущих (ГПЧ) обслуживающей БС, к которой привязан АТ

BY_FRAME

1

Индикатор допустимости режима организации обмена данными, в котором заполнение данными происходит с переключением между кадрами:

0: не применяется ("Прозрачный режим")

1: применяется ("Непрозрачный режим c ARQ")

CRC

16

Проверочные CRC-биты контроля ошибок

5.5.5.1.2.2.5 Запрос зондирования хэндовера

АТ должен отправить сообщение "Запрос зондирования хэндовера", чтобы инициировать процесс тестирования для режима "Хэндовер". Формат сообщения приведен в таблице 41.

Таблица 41 - Формат сообщения "Запрос зондирования хэндовера"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса АТ

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Type

3

3: "Запрос зондирования хэндовера"

for (scg=0; scg<5; scg++){

-

-

Cl

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

RSV

3

Резерв, каждый бит устанавливается в 0

Lopt

3

Коэффициент загрузки, используемый в радиолинии DL (в радиолинии DL применяется наиболее оптимальный вариант коэффициента загрузки = Lopt+1)

PM

6

Предел изменения мощности передатчика Тх в дБ

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RATE

3

Запрашиваемая АТ полоса канала в бит/с:

0: 8k

1: 128K

2: 256K

3: 512K

4: 1М

5: 2М

6: 5М

7: резерв

Target_Freq

1

Индикатор соотношения частот для целевой и исходной БС в режиме "Хэндовер":

0: "Хэндовер" на одной и той же частоте

1: "Хэндовер" с изменением рабочей частоты

5.5.5.1.2.2.6 Сообщение "Хэндовер"

АТ отправляет сообщение "Хэндовер" на БС, чтобы выполнить запрос на процедуру "Хэндовер". Формат такого сообщения приведен в таблице 42.

Таблица 42 - Формат сообщения "Хэндовер"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса АТ

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Type

3

4: "Хэндовер"

for (scg=0; scg<5; scg++){

-

-

Cl

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

RSV

3

Резерв, каждый бит устанавливается в 0

Lopt

3

Коэффициент загрузки, используемый в радиолинии DL (в радиолинии DL применяется наиболее оптимальный вариант коэффициента загрузки = Lopt+1)

PM

6

Предел изменения мощности передатчика Тх в дБ

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RATE

3

Запрашиваемая АТ полоса канала в бит/с:

0: 8k

1: 128K

2: 256K

3: 512K

4: 1М

5: 2М

6: 5М

7: резерв

Target_Freq

1

Индикатор соотношения частот для целевой и исходной БС в режиме "Хэндовер":

0: "Хэндовер" на одной и той же частоте

1: "Хэндовер" с изменением рабочей частоты

BCH_SCG

3

Номер группы поднесущих (ГПЧ), в котором АТ принимает вещательный канал

ANCHOR_SCG

3

Номер группы поднесущих (ГПЧ) обслуживающей БС, к которой привязан АТ

BY_FRAME

1

Индикатор допустимости режима организации обмена данными, в котором заполнение данными происходит с переключением между кадрами:

0: не применяется ("Прозрачный режим")

1: применяется ("Непрозрачный режим с ARQ")

CRC

16

Проверочные CRC-биты контроля ошибок

5.5.5.1.2.2.7 Запрос на установку пассивного режима

Чтобы перейти в пассивный режим работы, АТ отправляет на БС сообщение "Запрос на установку пассивного режима", формат которого приведен в таблице 43.

Таблица 43 - Формат сообщения "Запрос на установку пассивного режима"

Поле

Длина (бит)

Описание

UID

32

Идентификационный номер АТ

Distance

1

0: нормальное расстояние распространения радиосигнала

1: большое расстояние распространения радиосигнала

UT_TYPE

2

1: 1 MHz - допустимая рабочая полоса AT

3: 5 MHz - допустимая рабочая полоса АТ

Остальные: резерв

Туре

3

5: "Запрос на установку пассивного режима"

for (scg=0; scg<5; scg++){

-

-

Cl

2

Уровень помех по отношению к уровню теплового шума в полосе частот группы поднесущих (ГПЧ) с номером scg:

0: 0-11 dB

1: 12-23 dB

2: 24-35 dB

3: более 36 dB

}

-

-

Sleep_Mode

3

0: самый глубокий пассивный режим, имеющий самый длинный цикл периодических активаций для контроля вызовов. При этом обеспечивается минимум потребления энергии (работать в таком режиме могут, например, мобильный телефон или широкополосный модем передачи данных, когда аккумулятор находится в состоянии, близком к разряженному)

1: неглубокий пассивный режим, в котором используется более короткий цикл периодических активаций контроля (такой режим, например, может использовать мобильный телефон, работающий в сетях, построенных на двух различных стандартах)

2: пассивный режим с самым коротким циклом периодических активаций контроля

7: отключить пассивный режим (такой режим, например, может использовать работающий модем передачи данных)

Другие: резерв

RSV

13

Резерв, каждый бит устанавливается в 0

UID_L16

16

Поле рассчитывается по формуле:

((UID and 0xff) xor (BTS_FN and 0xff)) or ((UID or 0xff00) xor (BTS_FN and 0xff) shl 8)),

где UID - идентификационный номер AT, BTS_FN - номер текущего кадра на ВС;

and, or и xor - логические побитовые операции И, ИЛИ и исключающее ИЛИ соответственно;

shl 8 - логическая операция побитового сдвига влево на 8 позиций

CRC

16

Проверочные CRC-биты контроля ошибок

5.5.5.1.3 Канал ответа на запрос случайного доступа (ОЗД-канал)

5.5.5.1.3.1 Общее описание

Пакет данных ОЗД-канала (канал ответа на запрос случайного доступа) может содержать следующую информацию:

- конфигурация радиоканала (РК-конфигурация);

- ответ на запрос зондирования хэндовера;

- ответ на запрос установки пассивного режима.

Расчет проверочных CRC-бит для пакета ОЗД МАС-подуровня производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

Все пакеты имеют фиксированный размер 96 бит.

5.5.5.1.3.2 Сообщения

5.5.5.1.3.2.1 Тип сообщения

В таблице 44 приведены типы сообщений, посылаемые в ПД МАС-подуровня по ОЗД-каналу.

Таблица 44 - Типы сообщений ОЗД-канала МАС-подуровня

Тип сообщения

Имя сообщения

Описание

Логический канал

0

Конфигурация радиоканала

БС посылает информацию АТ о назначении полосы канала, формат приведен в таблице 45

ОЗД

1

Фиксированная конфигурация радиоканала

Конфигурация фиксированной полосы радиоканала, формат приведен в таблице 45

2

Ответ на запрос зондирования хэндовера

Ответ БС на полученное от АТ сообщение "Запрос зондирования хэндовера", формат приведен в таблице 46

3

Ответ на запрос установки пассивного режима

Ответ БС на полученный от АС запрос "Установка пассивного режима", формат приведен в таблице 47

5.5.5.1.3.2.2 Конфигурация радиоканала

БС посылает на АТ информацию о назначении полосы радиоканала, используя сообщение "Конфигурация радиоканала". У данного сообщения есть два формата, которые предопределяет поле "Туре".

Когда в посылаемом сообщении в поле "Туре" установлена 1, это означает, что сообщение задает фиксированную конфигурацию полосы радиоканала для АТ. Формат сообщения приведен в таблице 45.

Таблица 45 - Формат сообщения "Конфигурация радиоканала"

Поле

Длина (бит)

Описание

Туре

2

0: информация о назначении полосы радиоканала

1: фиксированная полоса радиоканала (зарезервировано для тестирования)

Result

1

0: запрос принят (на него сформирован данный ответ)

1: запрос отклонен

PC

3

Параметр управления подстройкой мощности, от -3 до +4 dB

SS

2

Параметр подстройки временного сдвига для синхронизации (в единицах 1/8 мкс). Диапазон от -1 до +2

If (Type == 0 && Result == 0){

-

-

SLOT_MASK

8

Маска доступности к использованию тайм-слотов. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

for (j=0; j<3; j++) {

-

-

SCH_MASK

16

Маска доступности к использованию ПдК. Каждый бит соответствует одному ПдК. Бит младшего разряда отмечает ПдК с номером 0.

0: подканал нельзя использовать

1: подканал можно использовать

}

-

-

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

for (j=0; j<3; j++) {

-

-

Loading

3

Коэффициент загрузки (= Loading+1) с допустимыми значениями в пределах от 1 до 8

}

-

-

for (j=0; j<3; j++) {

-

-

Modulation

3

Схема модуляции. Указана в таблице 56

}

-

-

SCG_MASK

5

Маска рабочих ГПЧ. Каждый бит соответствует одной ГПЧ. Бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: ГПЧ не используется

1: ГПЧ является рабочей

Всего может быть до трех рабочих ГПЧ

}

-

-

if (Type == 0 && Result == 1){

-

-

Reason

8

Причина отклонения запроса:

0: нет ресурсов для обеспечения запроса

Остальные: резерв

RSV

72

Резерв, все биты установлены в 0

}

-

-

if (Type ==1){

-

-

Profile Index

8

Индекс профиля

RSV

9

Резерв, все биты установлены в 0

STC

1

Используется ли режим адаптивной самонастройки параметров:

0: не используется

1: используется

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

SCG_MASK

5

Маска рабочих ГПЧ. Каждый бит соответствует одной ГПЧ. Бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: ГПЧ не используется

1: ГПЧ является рабочей

RSV

56

Резерв, все биты установлены в 0

}

-

-

CRC

8

Проверочные CRC-биты контроля ошибок

5.5.5.1.3.2.3 Ответ на зондирование хэндовера

Получив запрос "Зондирование хэндовера" от АТ, БС должна отправить сообщение "Ответ на зондирование хэндовера" на данный АТ. Формат сообщения приведен в таблице 46.

Таблица 46 - Формат сообщения "Ответ на зондирование хэндовера"

Поле

Длина (бит)

Описание

Туре

2

2: "Ответ на зондирование хэндовера"

Result

1

0: запрос на "Хэндовер" принят

1: запрос на "Хэндовер" отклонен

PC

3

Параметр управления подстройкой мощности, от -3 до +4 dB

SS

2

Параметр подстройки временного сдвига для синхронизации (в единицах 1/8 мкс). Диапазон от -1 до +2

BtsSeq

4

Идентификационный номер ID БС

RSV

8

Резерв, все биты установлены в 0

BtsFreq

12

Несущая частота БС, представленная в единицах значимостью 50 кГц

BID

16

Последние 16 бит идентификационного номера ID БС

NID

16

Последние 16 бит идентификационного номера сети ID Network

RSV

24

Резерв, все биты установлены в 0

CRC

8

Проверочные CRC-биты контроля ошибок

5.5.5.1.3.2.4 Ответ на запрос установки пассивного режима

Получив запрос от АТ "Установка пассивного режима", БС должна отправить на указанный АТ сообщение "Ответ на запрос установки пассивного режима". Формат сообщения приведен в таблице 47.

Таблица 47 - Формат сообщения "Ответ на запрос установки пассивного режима"

Поле

Длина (бит)

Описание

Туре

2

3: "Ответ на запрос установки пассивного режима"

Result

1

0: "Запрос на установку пассивного режима" принят

1: "Запрос на установку пассивного режима" отклонен

PC

3

Параметр управления подстройкой мощности, от -3 до +4 dB

SS

2

Параметр подстройки временного сдвига для синхронизации (в единицах 1/8 мкс). Диапазон от -1 до +2

RSV

8

Резерв, все биты установлены в 0

Sleep paging index

14

Выделенный номер для организации вызовов в пассивном режиме

RSV

2

Резерв, все биты установлены в 0

Sleep_Paging_Start_FN

9

Номер стартового кадра, с которого начинается пассивный режим

Sleep_Paging_BCH_SCGIndex

3

Номер ГПЧ, в которой организован вещательный канал для пассивного режима

Sleep_Paging_BCH_TS

3

Номер тайм-слота, в котором организован вещательный канал для пассивного режима

RSV

1

Резерв, бит установлен в 0

Sleep_Paging_lnterval

9

Интервал периодической активации в пассивном режиме, выраженный в единицах фреймов (кадров)

RSV

31

Резерв, все биты установлены в 0

CRC

8

Проверочные CRC-биты контроля ошибок

5.5.5.1.4 Канал ОЗКЗ

Ответное сообщение на "Запрос коррекции задержки" должно быть отправлено в виде ПД МАС-подуровня по каналу ОЗКЗ. Формат сообщения "ПД MAC ОЗКЗ" приведен в таблице 48.

Пакет данных имеет размер 36 бит.

Таблица 48 - Формат сообщения "ПД MAC ОЗКЗ"

Поле

Длина (бит)

Описание

ЗКЗ ID

6

Идентификатор ID сообщения "Запрос коррекции задержки" [определяется номером (0~23) ЗКЗ-последовательности, выбранным АТ при формировании сообщения "Запрос коррекции задержки" (см. приложение А, таблица А.2)], на которое сформирован данный ответ

RANGING_OFFSET

9

Корректирующий сдвиг задержки в единицах 1/2 мкс, в формате целого со знаком числа (-256, -255, ..., 255)

RSV

4

Резерв, все биты установлены в 0

PC

5

Параметр управления подстройкой мощности, от -16 до +15 dB

CRC

12

Проверочные CRC-биты контроля ошибок

Расчет проверочных CRC-бит для пакета MAC ОЗКЗ производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

5.5.5.1.5 Канал КПТ

5.5.5.1.5.1 Общее описание

Пакеты данных (ПД) трафика передаются через МАС-подуровень по КПТ-каналу в формате, приведенном в таблице 49. Головная часть МАС-кадра, называемая "Универсальный заголовок МАС-подуровня", имеет постоянную длину 16 бит. Следующая за ним часть МАС-кадра (ПД МАС-подуровня) имеет переменную длину. Пакеты данных ОДп-подуровня (режим обмена данными), ОРп-подуровня (режим обмена речевыми сообщениями) и управляющих сообщений МАС-подуровня должны передаваться посредством МАС-кадров.

Таблица 49 - Формат МАС-кадра

Поле

Длина (бит)

Описание

Generic MAC Header

16

Универсальный заголовок МАС-подуровня

Payload

Переменная

Переменная часть, содержащая полезную информацию (ПД МАС-подуровня)

5.5.5.1.5.2 Универсальный заголовок MAC

Формат универсального заголовка МАС-подуровня приведен в таблице 50.

Таблица 50 - Формат универсального заголовка МАС-подуровня

Поле

Длина (бит)

Описание

FMT

2

Тип пакета передачи данных:

0b00 :ОДп

0b01: ОРп

0b10: управляющий пакет МАС-подуровня

0b11: резерв

if (FMT == 00) OR (FMT == 10) {

-

-

FC

2

Индикатор фрагмента:

0b00: фрагментация не используется

0b01: головной фрагмент

0b10: средний фрагмент

0b11: последний фрагмент

LEN

6

Длина части, содержащей полезную информацию в единицах размером 16 бит

}

-

-

if (FMT == 01){

-

-

if(Z-Module){

-

Флаг Z-Module устанавливает:

1: число пользователей сессии речевого соединения больше 1

0: число пользователей сессии речевого соединения равно 1

СID

5

Идентификационный номер сессии речевого соединения (ситуация, когда число пользователей >1)

}

-

-

else{

-

-

VSN

5

Порядковый номер речевого пакета (изменяется в пределах 0-31)

}

-

-

SS

1

Управление сдвигом для поддержки синхронизации по задержке. Измеряется в единицах 1/8 мкс, и может составлять -1 (для SS=0) или 1 (для SS=1)

PC

2

Параметр управления подстройкой мощности, от -2 до +1 dB (0b10, 0b11, 0b00, 0b01)

}

-

-

HCRC 6

6

Проверочные CRC-биты контроля ошибок заголовка МАС-кадра

Расчет проверочных HCRC-бит для заголовка МАС-кадра производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

5.5.5.1.5.3 Формат МАС-кадра

ПД ОДп-подуровня (режим обмена данными), ОРп-подуровня (режим обмена речевыми сообщениями) и управляющих сообщений МАС-подуровня должны передаваться по каналу КПТ в ПД МАС-подуровня, составляющего информационную часть МАС-кадров. Формат ПД МАС-подуровня, дополненный полем "Generic Mac Header", приведен в таблице 51.

Таблица 51 - Формат ПД МАС-подуровня, передаваемого по КПТ-каналу

Поле

Длина (бит)

Описание

Generic Mac Header

16

Универсальный заголовок МАС-подуровня

if (FMT == 00) {

-

-

DAC PDU

Переменная

ПД ОДп-подуровня переменной длины, см. таблицу 68

}

-

-

if (FMT == 01){

-

-

VAC PDU

Переменная

ПД ОРп-подуровня переменной длины, см. таблицу 88

}

-

-

if (FMT == 10) {

-

-

MAC Control PDU

Переменная

Управляющий пакет МАС-подуровня переменной длины, см. таблицу 52

}

-

-

5.5.5.1.5.4 Формат управляющего пакета МАС-подуровня

Управляющие сообщения МАС-подуровня, показанные в таблице 53, передаются в управляющих ПД МАС-подуровня, формат которых приведен в таблице 52.

Таблица 52 - Формат управляющего ПД МАС-подуровня

Поле

Длина (бит)

Описание

Entity

3

Объект управления

0: управляющее сообщение МАС-подуровня, см. таблицу 53

1: резерв

2: управляющее сообщение ОРп-подуровня, см. таблицу 89

Другие: резерв

Туре

5

Тип управляющего сообщения

Content

Переменная

Содержание сообщения

Padding

Переменная

Дополняющие биты до размера, кратного 16 бит

CRC

16

Проверочные CRC-биты контроля ошибок

Расчет проверочных CRC-бит для управляющего пакета МАС-подуровня производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

5.5.5.1.5.5 Управляющие сообщения МАС-подуровня

Типы управляющих сообщений, отправляемых МАС-подуровнем в управляющих ПД, приведены в таблице 53.

Таблица 53 - Управляющие сообщения МАС-подуровня

Тип
сообщения

Имя сообщения

Описание

Логи-
ческий
канал

Описание

0

Запрос ресурса радиоканала

Запрос полосы канала, формат приведен в таблице 54

КПТ

Радиолиния UL

1

Переконфигурация радиоканала

Назначение новой полосы канала, формат приведен в таблице 55

Радиолиния DL

2

Резерв

Резерв

-

3

Рапорт ФУ-1

Рапорт 1. Физический уровень, формат приведен в таблице 57

Радиолиния UL

4

Рапорт ФУ-2

Рапорт 2. Физический уровень, формат приведен в таблице 58

Радиолиния UL

5

Запрос завершения МАС-соединения

Запрос на завершение соединения, формат приведен в таблице 59

Радиолиния UL

6

Подтверждение завершения МАС-соединения

Подтверждение завершения соединения, формат приведен в таблице 61

Радиолиния UL

7

Команда завершения МАС-соединения

Команда на завершение соединения, формат приведен в таблице 62

Радиолиния DL

8

УМ-УС

Сообщения управления мощностью/синхронизацией, формат приведен в таблице 63

Радиолинии UL/ DL

9

Пассивный режим

"Пассивный режим", формат приведен в таблице 64

Радиолиния DL

5.5.5.1.5.5.1 Запрос ресурса радиоканала

Сообщение "Запрос ресурса радиоканала" отправляется АТ на БС, чтобы запросить полосу радиоканала. Формат сообщения "Запрос ресурса радиоканала" приведен в таблице 54.

Таблица 54 - Формат сообщения "Запрос ресурса радиоканала"

Поле

Длина (бит)

Описание

FORBID_TS_MASK

8

Маска доступности к использованию тайм-слотов. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

BW_TYPE

2

0: общий запрос на полосу радиоканала

1: запрос на изменение параметра "Коэффициент загрузки"

2: установка сессии для ОДп/ОРп-подуровня

3: резерв

for(qam = 4, 16, 64){

соответственно QAM4, QAM16 и QAM64

Loading_qam

3

Оптимальный коэффициент загрузки (= Loading_qam+1) с допустимыми значениями в пределах от 1 до 8

}

-

-

BW For Handover

1

"Запрос ресурса для хэндовера":

0: не для хэндовера

1: для хэндовера

OPTION_MASK

3

Бит младшего разряда (Bit#0) указывает: поддерживается процедура реконфигурации в режиме аренды радиоканала или нет:

0: нет

1: да

Другие два бита: резерв, установлены в 0

LEASE_REQ

1

0: запрос не для арендной линии

1: запрос для арендной линии

RATE

16

Скорость передачи: измеряется в единицах, где 1 соответствует величине 96 бит на кадр, т.е. на каждые 10 мс

MISC

16

Бит младшего разряда (Bit#0) указывает: применяется ли режим организации обмена данными, в котором заполнение данными происходит с переключением между кадрами:

0: не применяется ("Прозрачный режим")

1: применяется ("Непрозрачный режим c ARQ")

Другие биты: резерв

5.5.5.1.5.5.2 Команда "Переконфигурация радиоканала"

Команда "Переконфигурация радиоканала" используется для изменения ресурсов радиоканала. Формат команды "Переконфигурация радиоканала" приведен в таблице 55.

Таблица 55 - Формат команды "Переконфигурация радиоканала"

Поле

Длина (бит)

Описание

Transld

5

Идентификатор транзакции ID, распределяет БС

CMD_TYPE

3

0: "Выполнить переконфигурацию"

Другие: резерв

BWForHandover

1

"Запрос ресурса для хэндовера":

0: не для хэндовера

1: для хэндовера

Mobility

1

Индикатор мобильности:

0: работа в стационарном режиме

1: работа в мобильном режиме

RS KEY

1

Индикация требования инвертирования проверочных бит RS-кода в ответном на данную команду сообщении:

0: не надо инвертировать

1: надо инвертировать

SCG_MASK

5

Маска рабочих ГПЧ. Каждый бит соответствует одной ГПЧ. Бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: ГПЧ не используется

1: ГПЧ является рабочей

for(i=0; i < #SCG; i++){

-

Параметр #SCG формируется из поля SCG_MASK и равен числу ГПЧ, доступных для использования

SLOT_MASK

8

Маска доступности к использованию тайм-слотов. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

for(j=0; j<#SLOT; j++){

Параметр #SLOT получается из поля SLOT_MASK как общее число тайм-слотов, которые доступны к использованию

SCH_MASK

16

Маска доступности к использованию ПдК. Каждый бит соответствует одному ПдК. Бит младшего разряда отмечает ПдК с номером 0.

0: подканал нельзя использовать

1: подканал можно использовать

Loading

3

Коэффициент загрузки = Loading+1

Modulation

3

Схема модуляции. Указаны в таблице 56

...}

-

-

}

-

-

OPTION_MASK

16

Бит младшего разряда (Bit#0) указывает, поддерживается операция аренды или нет:

0: нет

1: да

Бит предпоследнего младшего разряда (Bit#1) указывает, используется ли режим адаптивной самонастройки параметров:

0: нет

1: да

Другие биты: резерв

LEASE_LEN

10

Размер арендуемого ресурса в единицах числа бит на кадр:

0: если нет операции аренды

Таблица 56 - Схемы модуляции

Значение

Определение

2

QPSK

3

8PSK

4

QAM16

0, 1, 5, 7

Резерв

6

QAM 64

5.5.5.1.5.5.3 Сообщение "Рапорт ФУ-1"

Сообщение "Рапорт ФУ-1" (отчет 1 физического уровня) периодически отправляется БС на АТ. БС использует такое сообщение для конфигурации и выделения ресурса для АТ. Формат сообщения "Рапорт ФУ-1" приведен в таблице 57.

Таблица 57 - Формат сообщения "Рапорт ФУ-1"

Поле

Длина (бит)

Описание

SCG_MASK

5

Маска рабочих ГПЧ. Каждый бит соответствует одной ГПЧ. Бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: ГПЧ не используется

1: ГПЧ является рабочей

for(i=0; i<#SCG; i++){

-

Параметр #SCG формируется из поля SCG_MASK и равен числу ГПЧ, доступных для использования

SLOT_MASK

8

Маска доступности к использованию тайм-слотов в радиолинии UL. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

for(j=0; j<#SLOT; j++){

Параметр #SLOT получается из поля SLOT_MASK как общее число временных интервалов, которые доступны к использованию в радиолинии UL

PPC_avg

6

Средняя мощность передачи, приходящаяся на один ПдК, в дБм

}

-

-

}

-

-

TS_MASK

8

Общая маска доступности к использованию тайм-слотов. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

DOWN_SCH

8

Число используемых ПдК в радиолинии "вниз" (DL)

UP_SCH

8

Число используемых ПдК в радиолинии "вверх" (UL)

Powercap

8

Максимально допустимая мощность передачи АТ в радиолинии "вверх" (UL), в дБм

for(qam == 4,16,64){

Соответственно QAM4 (QPSK), QAM16 и QAM64

Lopt_qam

3

Рекомендуемый коэффициент загрузки = Lopt_qam+1

Prsv_qam

3

Предварительно установленный резерв для управления мощностью трансляции в дБ

}

-

-

5.5.5.1.5.5.4 Сообщение "Рапорт ФУ-2"

Сообщение "Рапорт ФУ-2" (отчет 2 физического уровня) используется для сообщений информации физического уровня, его формат приведен в таблице 58.

Таблица 58 - Формат сообщения "Рапорт ФУ-2"

Поле

Длина (бит)

Описание

PREAMBLE_RSS

7

Уровень сигнала преамбулы на приеме, единица измерения - 1dBm

FREQ_OFFSET

8

Фактическое смещение несущей частоты = FREQ_OFFSET·32·800/ (2·3.14·16.384) Гц

DISTANCE

11

Актуальное расстояние до АТ = DISTANCE·10 м

SCG_MASK

5

Маска рабочих ГПЧ. Каждый бит соответствует одной ГПЧ. Бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: ГПЧ не используется

1: ГПЧ является рабочей

for(i=0; i<#SCG; i++){

-

Параметр #SCG формируется из поля SCG_MASK и равен числу ГПЧ, доступных для использования

SLOT_MASK

8

Маска доступности к использованию временных интервалов в радиолинии DL. Каждый бит соответствует одному временному интервалу. Бит младшего разряда отмечает временной интервал DL с номером 0.

0: временной интервал нельзя использовать

1: временной интервал можно использовать

for(j=0; j < #SLOT; j++){

-

Параметр #SLOT получается из поля SLOT_MASK как общее число тайм-слотов, которые доступны к использованию в радиолинии DL

TCH_RSS

7

Мощность принимаемого сигнала КПТ в радиолинии DL, величина в 1dBm

SINR_out4

5

Среднестатистическое значение отношения сигнал/шум на приеме в радиолинии DL, величина в дБ

}

-

-

for(j=0; j < #SLOT; j++){

-

Параметр #SLOT получается из поля SLOT_MASK как общее число временных интервалов (тайм-слотов), которые доступны к использованию в радиолинии DL

Cl

5

Уровень помех, наблюдаемый в полосе ГПЧ в заданном тайм-слоте, = CI - 109, величина в дБм

}

-

-

}

-

-

FORBID_TS_MASK

8

Маска запрещенных к использованию тайм-слотов. Каждый бит соответствует одному тайм-слоту. Бит младшего разряда отмечает тайм-слот с номером 0.

0: тайм-слот нельзя использовать

1: тайм-слот можно использовать

QAM64_FORBID

1

Индикатор допустимости использования модуляции QAM64:

0: можно использовать QAM64

1: нельзя использовать QAM64

CI_REPORTING

1

Индикатор того, что CI_MASK далее включена в пакет

if(CI_REPORTING){

-

-

for(i=0; i<#SCG; i++){

Параметр #SCG формируется из поля SCG_MASK и равен числу ГПЧ, доступных для использования

for(j=0; j<# SLOT; j++){

Параметр #SLOT получается из поля SLOT_MASK как общее число тайм-слотов, которые доступны к использованию в радиолинии DL

CI_MASK

16

Запрещается использование подканала из-за слишком высокой интерференции или нет. Каждый бит соответствует одной ГПЧ и бит в наименьшем значащем разряде - отмечает ГПЧ с номером 0.

0: отключен

1: доступен

}

-

-

}

-

-

}

-

-

5.5.5.1.5.5.5 Сообщение "Запрос завершения МАС-соединения"

Сообщение "Запрос завершения МАС-соединения" используется, чтобы запустить процедуру разрыва соединения по радиоканалу. Формат указанного запроса приведен в таблице 59.

Таблица 59 - Формат сообщения "Запрос завершения МАС-соединения"

Поле

Длина (бит)

Описание

REQ

8

0: "Запрос завершения"

Другие: резерв

RLS-REASON

8

Причина завершения: более детально см. таблицу 60

RSV

8

Резерв, все биты установлены в 0

UID

32

Идентификационный номер АТ

Причины завершения МАС-соединения приведены в таблице 60.

Таблица 60 - Причины завершения МАС-соединения

Причины (5 бит в младших разрядах)

Описание

0

Нормальное завершение по инициативе БС

1

БС на приеме в радиолинии UL наблюдает слишком слабый сигнал

2

Запрос завершения с верхних уровней на стороне БС

3

БС получила запрос на соединение, уже находясь в состоянии связи (ошибка повторного вызова)

4

Ошибка МАС-подуровня на стороне БС

5

БС не может получить сообщения "Рапорт ФУ-1" и "Рапорт ФУ-2" в течение длительного времени

6

БС обнаружила несоответствие рабочих характеристик у АТ

7

Резерв

8

Нормальное завершение по инициативе АТ

9

АТ на приеме в радиолинии DL наблюдает слишком слабый сигнал

10

Запрос завершения с верхних уровней на стороне АТ

11

АТ принимает запрос от БС, уже находясь в состоянии связи (ошибка повторного вызова)

12

Ошибка МАС-подуровня на стороне АТ

13

АТ запрашивает прекращение (разрыв) процедуры "Хэндовер"

Другие

Резерв

5.5.5.1.5.5.6 Сообщение "Подтверждение завершения МАС-соединения"

Сообщение "Подтверждение завершения МАС-соединения" является ответом на "Запрос завершения МАС-соединения". Его формат приведен в таблице 61.

Таблица 61 - Формат сообщения "Подтверждение завершения МАС-соединения"

Поле

Длина (бит)

Описание

RSV

8

Резерв, все биты установлены в 0

UID

32

Идентификационный номер АТ

5.5.5.1.5.5.7 Сообщение "Команда завершения МАС-соединения"

Сообщение "Команда завершения МАС-соединения" используется для разрыва соединения по радиоканалу. Ее формат приведен в таблице 62.

Таблица 62 - Формат сообщения "Команда завершения МАС-соединения"

Поле

Длина (бит)

Описание

RLS-REASON

8

Причина завершения: более детально см. таблицу 60

UID

32

Идентификационный номер АТ

SLEEP

1

Выходить в пассивный режим после завершения соединения:

0: нет

1: да

RSV

8

Резерв, все биты установлены в 0

5.5.5.1.5.5.8 Сообщение "Управление мощностью и синхронизацией УМ-УС"

Сообщение "Управление мощностью и синхронизацией УМ-УС" используется как сообщение о регулировке мощности и синхронизации по задержке, формат приведен в таблице 63.

Таблица 63 - Формат сообщения "Управление мощностью и синхронизацией УМ-УС"

Поле

Длина (бит)

Описание

RSV

8

Резерв, все биты установлены в 0

SS

2

Подстройка задержки для синхронизации по времени (сдвиг), в единицах 1/8 мкс. Значения от -1 до +2.

В радиолинии UL это поле устанавливается нулевым

РС0

2

Корректировка мощности 0: от -1 до +2 дБ для тайм-слота N 1 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС1

2

Корректировка мощности 1: от -1 до +2 дБ для тайм-слота N 2 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС2

2

Корректировка мощности 2: от -1 до +2 дБ для тайм-слота N 3 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС3

2

Корректировка мощности 3: от -1 до +2 дБ для тайм-слота N 4 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС4

2

Корректировка мощности 4: от -1 до +2 дБ для тайм-слота N 5 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС5

2

Корректировка мощности 5: от -1 до +2 дБ для тайм-слота N 6 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

РС6

2

Корректировка мощности 6: от -1 до +2 дБ для тайм-слота N 7 радиолинии UL или DL (в зависимости от того, по какой из радиолиний DL или UL передается данное сообщение)

5.5.5.1.5.5.9 Сообщение "Режим бездействия"

Сообщение "Режим бездействия" используется для индикации режима перерыва в работе работы*. Формат этого сообщения приведен в таблице 64.

________________

* Текст документа соответствует оригиналу. - .

Таблица 64 - Формат сообщения "Режим бездействия"

Поле

Длина (бит)

Описание

RSV

3

Резерв, все биты установлены в 0

Transld

5

Идентификатор транзакции ID, распределяет БС

Frames

16

Число последовательных кадров, в которых будет действовать режим бездействия

5.5.5.1.5.6 Трафиковые ПД МАС-подуровня (КПТ-канал): сегментация/десегментация

МАС-подуровень поддерживает функции сегментации/десегментации сообщений (блоков данных (БД)) ОДп-подуровня и управляющих сообщений MAC, которые впоследствии передаются в ПД трафикового канала МАС-подуровня.

МАС-подуровень стороны отправителя должен разбить на сегменты сообщения (БД) ОДп-подуровня или управляющие сообщения МАС-подуровня. Число сегментов может быть от 1 до N, в зависимости от величины канального ресурса и размера БД. Каждый из указанных сегментов МАС-подуровень должен разместить в поле полезной нагрузки одного МАС-кадра и указать признак операции сегментирования в универсальном заголовке МАС-подуровня (см. 5.5.5.1.5.2), используя для этого поле "FC".

МАС-подуровень на стороне получателя должен собрать из сегментов БД ОДп-подуровня или управляющие сообщение МАС-подуровня в соответствии с информацией, содержащейся в полях "FC" универсальных заголовков принятых ПД МАС-подуровня.

5.5.6 Сервис доставки сообщений

На МАС-подуровне правило доставки данных является заранее установленным (предопределенным). Эта правило жестко увязано с доступностью ресурсов для сессий разной приоритетности. Сами уровни приоритетности устанавливаются службой QoS МАС-подуровня. МАС-подуровень получает сообщения из различных очередей верхних уровней. Эти сообщения могут представлять собой БД или ПД ОРп-подуровня, управляющие сообщения ОРп-подуровня, БД или ПД ОДп-подуровня, управляющие сообщения ОДп-подуровня, управляющие сообщения МАС-подуровня, а также управляющие сообщения высших уровней. Для гарантирования требуемого качества связи служба QoS устанавливает следующую очередность (приоритетность) передачи сообщений:

- управляющие сообщения МАС-подуровня;

- управляющие сообщения ОРп-подуровня;

- БД или ПД ОРп-подуровня;

- управляющие сообщения ОДп-подуровня;

- БД или ПД ОДп.

МАС-подуровень также управляет очередностью передачи на множестве БД или ПД ОДп-подуровня, используя для этого приоритеты, установленные в поле "Priority ID" (см. 5.6.3.3).

5.6 Подуровень обмена пакетами данных (ОДп-подуровень)

5.6.1 Функции

1 ARQ (Automatic Retransmission Request) - Процедура автоматического перезапроса передачи для устранения ошибок;

2 Сегментация блоков данных верхних уровней перед трансляцией и сборка из сегментов блоков данных верхних уровней после приема;

3 Управление полосой и параметрами радиоканала.

5.6.2 Связь между подуровнями

5.6.2.1 Краткое введение

ОДп-подуровень осуществляет взаимодействие и обменивается данными с другими подуровнями с помощью межподуровневых сообщений (примитивов). Ниже приводятся типы примитивов и их форматы (поля), но не раскрывается их применение.

ОДп-подуровень взаимодействует с иерархией верхних уровней через подуровень формирования трафика (ПФТ-подуровень) и с нижними подуровнями - через МАС-подуровень. Далее приведено описание примитивов ОДп-подуровня, используемых для такого взаимодействия.

5.6.2.2 Примитивы обмена данными между ОДп и ПФТ-подуровнями

5.6.2.2.1 Примитив "Запрос передачи данных на ОДп-подуровень"

АТ/БС ПФТ-подуровень использует этот примитив, чтобы запросить ОДп-подуровень передать данные. Формат примитива приведен в таблице 65.

Таблица 65 - Формат примитива "Запрос передачи данных на ОДп-подуровень"

Поле

Описание

UID

Идентификационный номер АТ

SFID

Идентификационный номер обслуживаемого потока

Data

Пакет данных ПФТ-подуровня

5.6.2.2.2 Примитив "Индикация ОДп-подуровня о готовности предоставить принятые данные на ПФТ-подуровень"

АТ/БС ОДп-подуровень использует этот примитив для информирования ПФТ-подуровня о том, что для него приняты данные, переданные удаленной стороной. Описание указанного примитива приведено в таблице 66.

Таблица 66 - Формат примитива "Готовность ОДп-подуровня предоставить принятые данные на ПФТ-подуровень"

Поле

Описание

UID

Идентификационный номер АТ

SFID

Идентификационный номер обслуживаемого потока

Data

Принятый пакет данных ПФТ-подуровня

5.6.2.3 Примитивы обмена данными между ОДп- и МАС-подуровнями

Детальное описание приведено в 5.5.4.3.

5.6.3 Связь подуровней равной иерархии

5.6.3.1 Процедура сегментации/десегментации

Процедура сегментации блока данных (БД) ОДп-подуровня на пакеты данных (ПД) ОДп-подуровня и обратная процедура сборки (десегментации) БД ОДп-подуровня из принятых ПД ОДп-подуровня (на противоположной стороне линии связи) приведены на рисунке 30.


Рисунок 30 - Процедура сегментации/десегментации БД ОДп-подуровня на разных концах линии связи

5.6.3.2 Блок данных ОДп-подуровня

Блок данных ОДп-подуровня (БД ОДп) состоит из заголовка (головной части), индикатора приоритета обслуживания (SFID) (идентификационный номер обслуживаемого потока), поля размера БД, указывающего длину блока данных с учетом содержащейся полезной информации. Ключевым полем, определяющим формат БД ОДп, является индикатор SFID. В принципе, различные поля SFID предопределяют использование БД ОДп-подуровня различных форматов, но на данный момент все представленные ниже SFID привязаны к единому формату БД ОДп-подуровня, приведенному в таблице 67.

Таблица 67 - Формат БД ОДп-подуровня

Поле

Длина (бит)

Описание

Header

16

0x3227 заголовок

SFID

3

0b000: управляющее сообщение верхнего уровня

0b001: резерв

0b010: обслуживание высокого приоритета

0b011: обслуживание низкого приоритета

Остальные: резерв

Length

13

Длина блока данных (в байтах)

Content

Пере-
менная

Данные (полезная нагрузка)

5.6.3.3 Пакеты данных ОДп-подуровня

Пакеты данных ОДп-подуровня (ПД ОДп-подуровня) формируются как составная часть ПД МАС-подуровня, формат которого приведен в таблице 51. В этом случае в универсальном заголовке МАС-кадра поле FMT=00, указывая на то, что поле полезной информации содержит ПД ОДп-подуровня.

Формат ПД ОДп-подуровня, используемого в указанном случае, приведен в таблице 68. Каждый ПД ОДп-подуровня выравнивается с помощью дополнительных бит до размера, кратного 16 бит, а также дополняется проверочными CRC-битами.

Таблица 68 - Формат ПД ОДп-подуровня

Поле

Длина (бит)

Описание

Туре

1

0: данные

1: команды управления ОДп-подуровня (см. таблицу 70)

If (Туре == 0){

ОДп-данные

Priority ID

3

Уровень приоритета

BSN

12

Порядковый номер передаваемого пакета данных (ПД) МАС-подуровня (по mod 4096)

Content

Перемен-
ная

Блок данных (БД) или сегмент БД ОДп-подуровня

}

-

-

lf(Type ==1){

Служебное сообщение ОДп-подуровня

SIG_TYPE

4

Тип служебного сообщения ОДп-подуровня

If (SIG_TYPE0) {

-

-

Transld

16

Идентификационный номер (ID) задачи передающей стороны

}

-

-

Content

Перемен-
ная

Данные

}

-

-

Padding

-

Выравнивание до границы 16 бит

CRC

16

Проверочные CRC-биты контроля ошибок

Расчет проверочных CRC-бит для ПД МАС-подуровня производится вычислением остатка деления на полином

.

Примечание - Так как коэффициент свободного члена полинома всегда равен 1, то из шестнадцатеричного представления он исключен.

Индикатор приоритета ID=0 и используется для передачи речевых пакетов и служебных сообщений для транзакций "из конца в конец".

В ОДп-сеансе каждого пользователя ОДп-подуровень может поддерживать 8 очередей, различающихся по приоритету. Каждая из таких очередей обладает своими собственными свойствами и характеристиками, такими как поддержка режима автоматического перезапроса ARQ, допустимый размер блока при организации повторных запросов передачи (RQ) и т.д. Свойства и характеристики алгоритмов организации работы с очередями приоритетов определяются и согласовываются перед запуском ОДп-сеанса. Приоритет очереди устанавливается полем "Priority ID" наличием приоритетного идентификационного номера. В настоящее время для Priority ID используются только значения 0, 1 и 2. Оставшиеся 3~7 зарезервированы.

Поскольку показатель приоритетности ОДп-соединения (Priority ID) реализуется как определенное свойство индикатора приоритета обслуживания SFID, то для БС и АТ в сети по умолчанию используется фиксированное отображение значений индикатора SFID на Priority ID. Оно приведено в таблице 69.

Таблица 69 - Отображение SFID на приоритетность ОДп-соединения

Индикатор SFID обслуживаемого потока

Приоритетность ОДп-соединения (Priority ID)

0b000

1

0b010

1

0b011

2

Управляющие сообщения транзакций "из конца в конец" для речевых соединений (в них поле SFID игнорируется)

0

5.6.3.4 Управляющие сообщения ОДп-подуровня

5.6.3.4.1 Тип управляющего сообщения

Управляющие сообщения ОДп-подуровня передаются в ПД ОДп-подуровня (см. таблицу 68, тип указывается в поле SIG_TYPE) по КПТ-каналу. Возможные типы служебных сообщений приведены в таблице 70.

Таблица 70 - Список служебных сообщений ОДп-подуровня

Тип

Имя сообщения

Описание

Направление

0

Служебное сообщение ARQ

Служебное сообщение ARQ (см. таблицу 71)

Радиолинии UL/DL

1

Резерв

Резерв

-

2

Запрос установки соединения ОДп-подуровня

Запрос установки соединения ОДп-соединения (см. таблицу 72)

Радиолинии UL/DL

3

Ответ на запрос установки соединения ОДп-подуровня

Ответ на запрос установки соединения ОДп-подуровня (см. таблицу 74)

Радиолинии UL/DL

4

Запрос завершения соединения ОДп-подуровня

Запрос завершения соединения ОДп-подуровня (см. таблицу 75)

Радиолиния "вверх" UL

5

Команда завершения соединения ОДп-подуровня

Команда завершения соединения ОДп-подуровня (см. таблицу 76)

Радиолиния "вниз" DL

6

Ответ на команду завершения соединения ОДп-подуровня

Ответ на команду завершения соединения ОДп-подуровня (см. таблицу 77)

Радиолиния "вверх" UL

5.6.3.4.2 Служебное сообщение ARQ

Таблица 71 - Формат служебного сообщения ARQ

Поле

Длина (бит)

Описание

Priority ID

3

Уровень приоритета

Loop {

-

-

LAST

1

Индикатор последнего служебного ARQ блока:

0 - не последний

1 - последний

ACK_TYPE

3

0: подтверждение интегрального типа [все вплоть до номера (BSN-1) mod 4096].

1: резерв

2: Подтверждение интегрально-выборочного типа

Другие: резерв

BSN

12

Номер блока ARQ, вплоть до которого подтверждается прием (BSN - номер блока ARQ, который ожидается на прием)

if(ACK_TYPE == 2){

-

-

N_ACK_MAP

8

Количество фрагментов в битовой последовательности подтверждения приема отдельных блоков ARQ

for(i=0; i < N_АСK_MAP; i++){

Цикл по фрагментам

Length

4

Длина фрагмента битовой последовательности подтверждений приема отдельных блоков

Selective_ACK_MAP

12

Фрагмент битовой последовательности подтверждений приема отдельных блоков (бит старшего разряда в битовой последовательности соответствует номеру BSN). Значение 1 в каждой битовой позиции последовательности указывает на подтверждение приема соответствующего блока ARQ-последовательности, используемой процедурой ARQ (передача осуществляется в порядке от старших разрядов к младшим)

}

-

-

}

-

-

} While(LAST == 0)

-

-

5.6.3.4.3 Запрос установки соединения ОДп-подуровня

Сообщение "Запрос установки соединения ОДп-подуровня" используется, чтобы запросить установку логического соединения на ОДп-подуровне. Формат запроса приведен в таблице 72.

Таблица 72 - Формат сообщения "Запрос установки соединения ОДп-подуровня"

Поле

Длина (бит)

Описание

Блок параметров в запросах/ответах установки соединения ОДп-подуровня

Перемен-
ная

См. таблицу 73

5.6.3.4.3.1 Блок параметров, используемый в запросах и ответах установки соединения ОДп-подуровня

Формат блока управляющих параметров в сообщениях запросов и ответов на установку соединения ОДп-подуровня приведен в таблице 73.

Таблица 73 - Формат блока параметров в запросах/ответах установки соединения ОДп-подуровня

Поле

Длина (бит)

Описание

RSV

2

Резерв, все биты установлены в 0

ARQ_WINLENGTH

3

Размер окна в режиме ARQ (число блоков ARQ, которое можно передавать "в глубину", отсчитывая от позиции номера, "ниже" которого нет блоков ARQ без подтверждения приема):

0: 256

1: 512 (рекомендуемый)

2: 1024

3: 2048

Другие: резерв

ARQ_BLK_LENGTH

4

Размер блока ARQ:

0: 42 байта

Другие: резерв

TX_BSN_BEGIN1

12

Стартовый номер BSN, с которого начинается отсчет номеров передаваемых блоков ARQ для очереди с приоритетом Priority ID_1

TX_BSN_BEGIN2

12

Стартовый номер BSN, с которого начинается отсчет номеров передаваемых блоков ARQ для очереди с приоритетом Priority ID_2

Nextlndication

2

Индикатор есть/нет далее в сообщении информация о конечном номере блока ARQ для данного соединения ОДп-подуровня:

0: нет

1: есть

Другие: резерв

TX_BSN_NEXT 1

12

Номер ARQ блока BSN, с которого начнется следующее соединение ОДп-подуровня (он определяет и где закончится текущее соединение) для очереди с приоритетом Priority ID_1

TX_BSN_NEXT2

12

Номер ARQ блока BSN, с которого начнется следующее соединение ОДп-подуровня (он определяет и где закончится текущее соединение) для очереди с приоритетом Priority ID_2

5.6.3.4.4 Ответ на запрос установки соединения ОДп-подуровня

Сообщение "Ответ на запрос установки соединения ОДп-подуровня" используется как ответ на "Запрос установки соединения ОДп-подуровня". Его формат приведен в таблице 74.

Таблица 74 - Формат сообщения "Ответ на запрос установки соединения ОДп-подуровня"

Поле

Длина (бит)

Описание

Result

2

0: принято

1: отказано

Другие: резерв

Блок параметров в запросах/ответах установки соединения ОДп

Перемен-
ная

См. таблицу 73

5.6.3.4.5 Запрос завершения соединения ОДп-подуровня

Сообщение "Запрос завершения соединения ОДп-подуровня" используется для запроса завершения соединения ОДп-подуровня. Его формат представлен в таблице 75.

Таблица 75 - Формат сообщения "Запрос завершения соединения ОДп-подуровня"

Поле

Длина (бит)

Описание

Reason

4

Причина:

0: нормальное завершение

Другие: резерв

5.6.3.4.6 Команда завершения соединения ОДп-подуровня

Сообщение "Команда завершения соединения ОДп-подуровня" используется, чтобы передать команду от БС на АТ на завершение соединения ОДп-подуровня. Формат указанного сообщения представлен в таблице 76.

Таблица 76 - Формат сообщения "Команда завершения соединения ОДп-подуровня"

Поле

Длина (бит)

Описание

Reason

4

Причина:

0: нормальное завершение

Другие: резерв

5.6.3.4.7 Ответ на команду завершения соединения ОДп-подуровня

Сообщение "Ответ на команду завершения соединения ОДп-подуровня" используется для ответа на команду завершить соединение ОДп-подуровня. Оно посылается от АТ на БС. Формат указанного сообщения приведен в таблице 77.

Таблица 77 - Формат сообщения "Ответ на команду завершения соединения ОДп-подуровня"

Поле

Длина (бит)

Описание

Reason

4

Причина:

0: нормальное завершение

Другие: резерв

5.6.4 Функция ARQ

Примечание - Функция ARQ (Автоматический запрос на повторную передачу) может быть включена или отключена с помощью использования соответствующего идентификатора приоритета (Priority ID). Параметры процедуры ARQ должны быть указаны и согласованы во время установки соединения. Если параметры или часть параметров процедуры ARQ при установке соединения не будут определены, то для них будут использоваться значения по умолчанию.

5.6.4.1 Параметры процедуры ARQ

1 ARQ_BSN_MODULUS: (модуль нумерации блоков ARQ);

2 ARQ_WINDOW_LENGTH: Максимальное допустимое число переданных блоков ARQ и не получивших подтверждение приема. ARQ_WINDOW_LENGTH <= ARQ_BSN_MODULUS / 2;

3 ARQ_TX_BEGIN: Параметр, который показывает, что все блоки данных ARQ-последовательности с номерами BSN вплоть до ARQ_TX_BEGIN-1 получили подтверждение о корректном приеме на удаленной стороне;

4 ARQ_TX_NEXT: BSN - номер блока ARQ, начиная с которого будет передаваться следующий блок данных (БД) ОДп-соединения. Значение этого номера должно находиться в интервале от ARQ_TX_BEGIN до (ARQ_TX_BEGIN+ARQ_WINDOW_LENGTH);

5 ARQ_RX_BEGIN: Bсe ARQ-блоки с номерами BSN до (ARQ_RX_BEGIN-1) были правильно приняты на данном конце соединения;

6 ARQ_RX_NEXT: Наибольший номер BSN блока ARQ, корректно принятого на данном конце соединения, плюс один. Значение должно находиться в интервале от ARQ_RX_BEGIN до (ARQ_RX_ BEGIN+ARQ_WINDOW_LENGTH);

7 ARQ_RETRANSMIT_TIMEOUT: Минимальный промежуток времени, в течение которого передающая сторона линии логического соединения должна находиться в режиме ожидания, не выходя на повторную трансляцию блоков данных по принимаемым от удаленной стороны запросам ARQ. Устанавливается равным минимально возможной задержке, наблюдаемой от момента передачи данных до получения подтверждения, плюс длительность одного кадра. Запросы ARQ, полученные в указанном промежутке, рассматриваются как неактуальные;

8 ARQ_NAK_UNAWARE_TIMEOUT: Интервал времени, в течение которого после повторной передачи блока ARQ передающая сторона линии логического соединения должна игнорировать принимаемые сообщения о неудачном приеме (NAK) от удаленной стороны соединения. Указанный интервал устанавливается равным минимально возможной задержке, наблюдаемой от передачи данных до получения ответа подтверждения (АСK);

9 ARQ_RESET_TIMEOUT: Максимальный промежуток времени, в течение которого параметры ARQ_TX_BEGIN и ARQ_RX_BEGIN могут оставаться неизменными. В случае сохранения состояний ARQ_TX_BEGIN и ARQ_RX_BEGIN неизменными в течение более длительного времени, если только соединение не было завершено, фиксируется потеря синхронизации процедур передачи и приема блоков ARQ на удаленных концах соединения.

5.6.4.2 Состояния процедуры "Управление передачей" на концах соединения с ARQ

Процедура "Управление передачей" на одном из концов логического соединения с ARQ (Автоматический запрос на повторную передачу) может быть в одном из четырех состояний:

- нет трансляций;

- режим ожидания (на интервалах на реакцию удаленной стороны);

- ожидание повторной трансляции;

- повторная трансляция.

Процедура "Управление передачей" должна в первую очередь обрабатывать (транслировать или сбрасывать блоки) запросы очередей, находящихся в состоянии "Ожидание повторной трансляции", а затем обрабатывать запросы очередей, находящихся в состоянии "Нет трансляций". При передаче нескольких блоков сначала передаются блоки с меньшими номерами BSN.

Состояния процедуры управления передачей для соединения c ARQ показаны на рисунке 31.


Рисунок 31 - Состояния процедуры "Управление передачей для соединения с ARQ"

5.6.4.3 Алгоритм работы в режиме ARQ

При приеме ARQ-блока с номером BSN, который попадает в диапазон допустимых номеров, определяемых окном приема, выносится решение о его корректности и производится передача данного блока процедурам дальнейшей обработки. Если же номер принятого ARQ-блока BSN оказывается вне диапазона окна приема, то данный блок "сбрасывается" и рассматривается как некорректный и на дальнейшую обработку не подается. Приемная сторона должна "сбрасывать" дубли ARQ-блоков, наблюдаемые в пределах окна приема.

Окно приема сохраняется так, что переменная ARQ_RX_BEGIN всегда указывает на блoк ARQ с самым наименьшим номером, который не был получен или был получен с ошибками. Когда происходит прием блока ARQ с номером BSN, равным ARQ_RX_BEGIN, окно приема увеличивается (по крайней мере на 1). Таймер ARQ_RESET_TIMEOUT при этом сбрасывается. Алгоритм работы в режиме ARQ показан на рисунке 32.


Рисунок 32 - Алгоритм работы в режиме ARQ

5.6.4.4 Процедура "Перезапуск (reset) ARQ"

1 На передающей стороне модуль передачи осуществляет управление таймером синхронизации, связанным со звеном передачи данных. С этой целью всякий раз, как только окно трансляций смещается, модуль передачи обнуляет (сбрасывает) указанный таймер синхронизации. Когда в течение длительного времени окно трансляций ЗПД не меняется, значение указанного таймера синхронизации начинает превышать пороговый уровень ARQ_RESET_TIMEOUT. Передающая сторона при возникновении такой ситуации должна запускать (инициировать) процедуру аварийного освобождения МАС-соединения, поддерживающего данное ЗПД.

2 На приемной стороне модуль приема осуществляет управление таймером синхронизации, связанным с ЗПД. С этой целью всякий раз, как только окно приема смещается, модуль приема обнуляет (сбрасывает) указанный таймер синхронизации. Когда в течение длительного времени окно трансляций ЗПД не меняется, значение указанного таймера синхронизации начинает превышать пороговый уровень ARQ_RESET_TIMEOUT. Приемная сторона при возникновении такой ситуации должна запускать (инициировать) процедуру "Аварийное освобождение МАС-соединения" для МАС-соединения, поддерживающего данное ЗПД.

5.6.4.5 ACK ARQ (подтверждение приема ARQ-блока)

Каждое служебное сообщение подтверждения приема ARQ-блока(ов) содержит номер BSN, который, в зависимости от сценария работы алгоритма ARQ, интерпретируется по-разному:

- случай подтверждения интегрального типа: BSN указывает, что в пределах окна трансляций все ARQ-блоки с номерами меньше BSN приняты корректно;

- подтверждение интегрально-выборочного типа: каждый бит, установленный в 1 в передаваемом поле "битовой последовательности подтверждений" (см. таблицу 71), указывает, что ARQ-блок с номером, соответствующим данной позиции, был принят корректно (ACK). Бит старшего разряда (передается первым) "битовой последовательности подтверждений" (см. таблицу 71) соответствует номеру BSN интегрального типа подтверждаемой части, содержащейся в данном сообщении. Каждый бит, установленный в 0, указывает номер ARQ-блока, прием которого не подтверждается (NAK).

Для каждого корректно принятого ARQ-блока должно быть сформировано и передано на модуль передачи соответствующее подтверждение, чтобы избежать повторной передачи данного ARQ-блока (дублирования) из-за неполучения подтверждения. Приемная сторона соединения подтверждает все принимаемые ARQ-блоки, номера которых находятся в пределах от ARQ_RX_BEGIN до ARQ_RX_NEXT-1, и одновременно с этим корректирует границы окна приема данного ЗПД.

5.7 Подуровень управления доступом при передаче речевой информации (ОРп-подуровень)

5.7.1 Функции

1 Управление буфером речевых пакетов;

2 Формирование сообщений управления речевым обменом;

3 Запрос полосы канала.

5.7.2 Связь ОРп-подуровня с другими подуровнями

5.7.2.1 Обзор

ОРп-подуровень связывается с другими подуровнями посредством примитивов (служебных сообщений) для обмена данными и посредством команд взаимодействия. Здесь приводятся только их типы и значения полей.

ОРп-подуровень взаимодействует с верхним подуровнем [формирования трафика (ПФТ)] и нижним подуровнем (МАС-подуровнем). Примитивы взаимодействия между ОРп-подуровнем и указанными подуровнями описываются ниже.

5.7.2.2 Набор примитивов управления, используемых между ОРп-подуровнем и верхними подуровнями

57.2.2.1 Запрос установки ОРп-соединения

Верхний уровень АТ/БС использует примитив "Запрос установки ОРп-соединения", чтобы запросить ОРп-подуровень установить ОРп-соединение. Формат указанного запроса приведен в таблице 78.

Таблица 78 - Формат примитива "Запрос установки ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Rate

Запрашиваемая скорость обмена

Reason

Причина запроса

5.7.2.2.2 Индикация установки ОРп-соединения

ОРп-подуровень АТ/БС использует примитив "Индикация установки ОРп-соединения", чтобы сообщить на верхний уровень о том, что удаленная сторона на ОРп-подуровне установила соединение. Формат примитива приведен в таблице 79.

Таблица 79 - Формат примитива "Индикация установки ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Rate

Запрошенная скорость обмена

Reason

Причина запроса

5.7.2.2.3 Ответ на индикацию установки ОРп-соединения

Верхний уровень АТ/БС использует примитив "Ответ на индикацию установки ОРп-соединения" в качестве ответа на служебное сообщение "Индикация установки ОРп-соединения". Формат указанного примитива приведен в таблице 80.

Таблица 80 - Формат примитива "Ответ на индикацию установки ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Result

Результат, посылаемый в ответе

5.7.2.2.4 Подтверждение установки ОРп-соединения

ОРп-подуровень АТ/БС использует примитив "Подтверждение установки ОРп-соединения", чтобы передать на верхний подуровень подтверждение о том, что ОРп-соединение установлено. Формат указанного примитива приведен в таблице 81.

Таблица 81 - Формат примитива "Подтверждение установки ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Result

Результат, присланный в ответе

5.7.2.2.5 Запрос модернизации ОРп-соединения

В ситуациях, когда характеристики ОРп-соединения нужно изменить, примитив "Запрос модернизации ОРп-соединения" используется для активации процедуры модернизации полосы пропускания радиоканала (ресурса), поддерживающего указанное соединение. Формат данного примитива приведен в таблице 82.

Таблица 82 - Формат примитива "Запрос модернизации ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Rate

Запрашиваемая скорость обмена

5.7.2.2.6 Подтверждение модернизации ОРп-соединения

Когда процедура модернизации характеристик ОРп-соединения завершается, примитив "Подтверждение модернизации ОРп-соединения" используется в качестве подтверждающего сообщения на полученный "Запрос модернизации ОРп-соединения". Формат указанного примитива приведен в таблице 83.

Таблица 83 - Формат примитива "Подтверждение модернизации ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

Result

Результат модернизации

5.7.2.2.7 Завершение ОРп-соединения

Верхний подуровень АТ/БС использует примитив "Завершение ОРп-соединения", чтобы запросить ОРп-подуровень завершить ОРп-соединение. Формат указанного примитива приведен в таблице 84.

Таблица 84 - Формат примитива "Завершение ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

5.7.2.2.8 Индикация завершения ОРп-соединения

ОРп-подуровень АТ/БС использует примитив "Индикация завершения ОРп-соединения", чтобы информировать верхний уровень о том, что с удаленной стороны передан запрос на завершение ОРп-соединения. Формат указанного примитива приведен в таблице 85.

Таблица 85 - Формат примитива "Индикация завершения ОРп-соединения"

Поле

Описание

СID

Идентификационный номер соединения

5.7.2.3 Набор примитивов, используемых для обмена данными между ОРп-подуровнем и верхними подуровнями

5.7.2.3.1 Запрос передачи данных на ОРп-подуровень

Подуровень формирования трафика (ПФТ-подуровень) АТ/БС использует примитив "Запрос передачи данных на ОРп-подуровень", чтобы запросить ОРп-подуровень выполнить передачу данных на удаленную сторону. Формат указанного примитива приведен в таблице 86.

Таблица 86 - Формат примитива "Запрос передачи данных на ОРп-подуровень"

Поле

Описание

UID

Идентификационный номер АТ

Data Туре

- Сигнальное управляющее сообщение "из конца в конец" для речевого соединения (пакет формируется как цифровые данные БД/ПД и передается по соединению ОРп)

- Кодированный вокодерный пакет данных (пакет формируется как речевые данные БД/ПД и передается по соединению ОРп)

Data

ПД - пакет данных, сформированный на подуровне ПФТ

5.7.2.3.2 Индикация ОРп-подуровня о готовности предоставить принятые данные на ПФТ-подуровень

ОРп-подуровень АТ/БС использует примитив "Индикация ОРп-подуровня о готовности предоставить принятые данные на ПФТ-подуровень", чтобы передать полученные данные на ПФТ-подуровень. Формат указанного примитива приведен в таблице 87.

Таблица 87 - Формат примитива "Индикация ОРп-подуровня о готовности предоставить принятые данные на ПФТ-подуровень"

Поле

Описание

UID

Идентификационный номер абонента

Data Туре

- Сигнальное управляющее сообщение "из конца в конец" для голосового соединения (пакет формируется как цифровые данные БД/ПД и передается по ОРп-соединению)

- Кодированный вокодерный пакет данных (пакет формируется как речевые данные БД/ПД и передается по ОРп-соединению)

Data

ПД - пакет данных, сформированный на ПФТ-подуровне

5.7.2.4 Набор примитивов, используемых между ОРп-подуровнем и МАС-подуровнем

Детальное описание приведено в 5.5.4.3.

5.7.3 Связь между ОРп-подуровнями (связь равных иерархий)

5.7.3.1 Формирование ПД ОРп-подуровня

Процесс формирования ПД на ОРп-подуровне показан на рисунке 33.


Рисунок 33 - Процесс формирования блоков данных (БД) и пакетов данных (ПД) на ОРп-подуровне

5.7.3.2 Блок данных ОРп (речевой БД)

Формат блока данных ОРп (речевого блока данных) приведен в таблице 88.

Таблица 88 - Формат блока данных ОРп-подуровня

Поле

Длина (бит)

Описание

if(Codec == G.729){

-

VG729

80

Речевые данные, сформированные по стандарту ITU-T G.729 (блоки данных речевого вокодера, скорость 8 кбит/с)

}

-

-

if(Codec == G.711){

-

-

VG711

640

Речевые данные, сформированные по стандарту ITU-T G.711 (блоки данных речевого вокодера, скорость 64 кбит/с)

}

-

-

5.7.3.3 Формат ПД ОРп-подуровня (речевой ПД)

ПД ОРп-подуровня (речевой ПД) переносится в пакетах данных МАС-подуровня, передаваемых по КПТ-каналу (см. 5.5.5.1.5.3, таблица 51).

Формат ПД ОРп-подуровня совпадает с форматом блока данных ОРп-подуровня (никакие дополнительные поля при переходе от БД ОРп-подуровня к ПД ОРп-подуровня не используются).

5.7.3.4 Управляющие сообщения иерархии ОРп-подуровня (обмен между ОРп-подуровнями)

5.7.3.4.1 Типы сообщений

Управляющее сообщение ОРп-подуровня переносятся в управляющем ПД МАС-подуровня, показанном в таблице 52 (в заголовке "Generic Mac Header", в этом случае поле FMT=10, см. таблицу 51). Типы управляющих сообщений ОРп-подуровня приведены в таблице 89.

Таблица 89 - Таблица управляющих сообщений ОРп-подуровня

Тип

Имя сообщения

Описание

Направление

0

Запрос установки ОРп-соединения

Запрос на установление речевого соединения (см. таблицу 90)

Радиолинии UL/DL

1

Ответ на запрос установки ОРп-соединения

Ответ на запрос установления речевого соединения (см. таблицу 92)

Радиолинии UL/DL

2

Запрос модернизации ОРп-соединения

Запрос на модернизацию радиоканала, поддерживающего речевое соединение (см. таблицу 93)

Радиолинии UL/DL

3

Ответ на запрос модернизации ОРп-соединения

Ответ на запрос модернизации радиоканала, поддерживающего речевое соединение (см. таблицу 94)

Радиолинии UL/DL

4

Запрос завершения ОРп-соединения

Запрос завершения речевого соединения (см. таблицу 95)

Радиолиния "вверх" UL

5

Команда "Завершить ОРп-соединение"

Команда завершения речевого соединения (см. таблицу 96)

Радиолиния "вниз" DL

6

Ответ на команду "Завершить ОРп-соединение"

Ответ на команду завершения речевого соединения (см. таблицу 97)

Радиолиния "вверх" UL

7

Запрос NAK

Сообщение запроса на повторную передачу непринятых пакетов данных

Радиолинии UL/DL

5.7.3.4.2 Сообщение "Запрос установки ОРп-соединения"

Это сообщение используется для запроса установки речевого соединения через ОРп-подуровень. Формат указанного примитива приведен в таблице 90.

Таблица 90 - Формат сообщения "Запрос установки ОРп-соединения"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Voice_VSN_BEGIN

5

Начальный номер блоковой последовательности передачи пакетов данных

RSV

3

Резерв

TX_BSN_BEGIN0

12

Начальный номер блоковой последовательности (BSN) логического соединения обмена сообщениями речевой сигнализации высшего уровня, переносимыми ПД ОДп-подуровня с приоритетом Priority ID, заданным при установке ОДп-соединения для начального номера BSN_BEGIN0 (см. таблицу 73).

Примечание - ОДп-соединение организуется "параллельно" ОРп-соединению для управления "из конца в конец"

OptionMask

4

Bit#0 (бит нулевого разряда) используется для индикации того, что в формат сообщения включено поле ТХ BSN NEXT:

0: поле не включено в формат

1: поле включено в формат

TX_BSN_NEXT0

12

Начальный номер блоковой последовательности (BSN) логического соединения обмена сообщениями речевой сигнализации высшего уровня, переносимыми ПД-пакетами ОДп-подуровня с приоритетом Priority ID, заданным при установке ОДп соединения для начального номера BSN_NEXT0 (см. таблицу 73).

Примечание - ОДп-соединение организуется "параллельно" ОРп-соединению для управления "из конца в конец"

RSV

4

Резерв, все биты установлены в 0

5.7.3.4.2.1 Поле "Общая информация об ОРп-соединении"

Формат поля "Общая информация об ОРп-соединении" приведен в таблице 91.

Таблица 91 - Формат поля "Общая информация об ОРп-соединении"

Поле

Длина (бит)

Описание

CID

5

Идентификационный номер соединения

Туре

5

0: эксплуатация в нормальных условиях

1: "Хэндовер"

Transld

16

Идентификационный номер транкзакции

Rate

12

8: G.729 (используемый кодек)

64: G.71 (используемый кодек)

Другие: резерв

5.7.3.4.3 Сообщение "Ответ на запрос установки ОРп-соединения"

Это сообщение используется для подтверждения (или неподтверждения) установки ОРп-соединения. Формат указанного сообщения приведен в таблице 92.

Таблица 92 - Формат сообщения "Ответ на запрос установки ОРп-соединения"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Result

8

0x00: принято

0xff: отказано

TX_BSN_BEGIN0

12

Начальный номер блоковой последовательности (BSN) логического соединения обмена сообщениями речевой сигнализации высшего уровня, переносимыми ПД-пакетами ОДп-подуровня с приоритетом Priority ID, заданным при установке ОДп-соединения для начального номера BSN_BEGIN0 (см. таблицу 73).

Примечание - ОДп-соединение организуется "параллельно" ОРп-соединению для управления "из конца в конец"

OptionMask

4

Bit#0(бит нулевого разряда) используется для индикации того, что в формат сообщения включено поле ТХ BSN NEXT:

0: поле не включено в формат

1: поле включено в формат

TX_BSN_NEXT0

12

Начальный номер блоковой последовательности (BSN) логического соединения обмена сообщениями речевой сигнализации высшего уровня, переносимыми ПД-пакетами ОДп-подуровня с приоритетом Priority ID, заданным при установке ОДп соединения для начального номера BSN_NEXT0 (см. таблицу 73).

Примечание - ОДп-соединение организуется "параллельно" ОРп-соединению для управления "из конца в конец"

RSV

4

Резерв, все биты установлены в 0

5.7.3.4.4 Сообщение "Запрос модернизации ОРп-соединения"

Это сообщение используется для запроса модернизации радиоканала установленного ОРп-соединения. Формат указанного сообщения приведен в таблице 93.

Таблица 93 - Формат сообщения "Запрос модернизации канала ОРп-соединения"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

RSV

8

Резерв, все биты установлены в 0

5.7.3.4.5 Сообщение "Ответ на запрос модернизации ОРп-соединения"

Это сообщение используется для подтверждения модернизации радиоканала установленного ОРп-соединения. Формат указанного сообщения приведен в таблице 94.

Таблица 94 - Формат сообщения "Ответ на запрос модернизации ОРп-соединения"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Result

8

0: принято

1: отклонено

Другие: резерв

5.7.3.4.6 Сообщение "Запрос завершения ОРп-соединения"

Это сообщение используется для запроса на завершение установленного ОРп-соединения. Формат указанного сообщения приведен в таблице 95.

Таблица 95 - Формат сообщения "Запрос завершения ОРп-соединения"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Result

8

Причина разъединения:

0: нормальное разъединение

Другие: резерв

5.7.3.4.7 Команда "Завершить ОРп-соединение"

Это сообщение используется для команды "Завершить ОРп-соединение". Формат указанного сообщения приведен в таблице 96.

Таблица 96 - Формат команды "Завершить ОРп-соединение"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Result

8

Причина разъединения:

0: нормальное разъединение

Другие: резерв

5.7.3.4.8 Сообщение "Ответ на команду "Завершить ОРп-соединение"

Это сообщение используется для ответа на команду "Завершить ОРп-соединение". Формат указанного сообщения приведен в таблице 97.

Таблица 97 - Формат сообщения "Ответ на команду "Завершить ОРп-соединение"

Поле

Длина (бит)

Описание

Общая информация об ОРп-соединении

Перемен-
ная

См. таблицу 91

Result

8

Причина разъединения:

0: нормальное разъединение

Другие: резерв

5.7.3.4.9 Запрос "NAK" (повторной передачи)

Это сообщение используется для индикации неподтверждения и соответствующего запроса на повторную передачу речевого пакета. Только тогда, когда поддерживаемый АТ уровень маршрутизации равен 1, эта функция повторной передачи речевых пакетов будет поддерживаться. Формат указанного сообщения приведен в таблице 98.

Таблица 98 - Формат сообщения "Запроса "NAK" (повторной передачи)"

Поле

Длина (бит)

Описание

СID

5

Идентификационный номер соединения

Session Туре

3

Тип сессии

VSN

8

Номер речевого блока (VSN), которому соответствует бит младшего разряда (Bit#0) в поле маски (MASK)

MASK

8

Если бит установлен равным 1, то это указывает на неподтверждение приема и требование повторной передачи блока с соответствующим номером

CRC

16

Проверочные CRC-биты контроля ошибок

5.8 Подуровень формирования трафика (ПФТ-подуровень)

5.8.1 Структура

Структура ПФТ-подуровня показана на рисунке 34. Она включает модуль "Классификация" и модуль "Безопасность".


Рисунок 34 - Структура ПФТ-подуровня

5.8.2 Функции

Подуровень формирования трафика (ПФТ) обеспечивает следующие основные функции:

1 Формирование и классификация данных

Осуществляет формирование и классификацию данных, поступающих от верхнего уровня. Поступающие данные верхнего уровня включают в себя: управляющие сообщения верхнего уровня, Ethernet-данные, пакеты "сигнализации из конца в конец" речевых соединений и вокодерные пакеты речевых соединений. ПФТ классифицирует эти данные и предоставляет услуги доставки.

2 Шифрование данных

Согласно индикации, данные подвергаются операциям шифрования или дешифрования на стороне АТ.

5.8.3 Связь между уровнями

5.8.3.1 Сообщения (примитивы), используемые между ПФТ-подуровнем и верхними уровнями

5.8.3.1.1 Управляющие сообщения

5.8.3.1.1.1 Примитив "Производительность для ПФТ-подуровня АТ"

Высший уровень АТ использует этот примитив для того, чтобы передать на АТ ПФТ-подуровень информацию о требуемых характеристиках производительности канала связи. Формат указанного примитива приведен в таблице 99.

Таблица 99 - Формат примитива "Производительность для ПФТ-подуровня АТ"

Поле

Описание

UID

Идентификационный номер абонента

Capability IE

Характеристики производительности

5.8.3.1.2 Команды формирования данных

5.8.3.1.2.1 Команда ПФТ-подуровню "Выполнить передачу данных"

Верхний уровень с помощью примитива "Команда ПФТ-подуровню "Выполнить передачу данных" запрашивает ПФТ-подуровень выполнить передачу данных на "удаленный конец соединения". Формат указанного примитива приведен в таблице 100.

Таблица 100 - Формат примитива "Команда ПФТ-подуровню "Выполнить передачу данных"

Поле

Описание

UID

Идентификационный номер абонента

Data

Данные для передачи

5.8.3.1.3 Примитив "Индикация ПФТ-подуровня о приеме данных"

ПФТ-подуровень с помощью указанного примитива передает на высший уровень сообщение о том, что были приняты данные от "удаленного конца соединения". Формат указанного примитива приведен в таблице 101.

Таблица 101 - Формат сообщения "Индикация ПФТ-подуровня о приеме данных"

Поле

Описание

UID

Идентификационный номер абонента

Data

Принятые данные

5.8.3.2 Примитивы между ПФТ-подуровнем и ОДп-подуровнем

Эти примитивы описаны в 5.6.2.2.

5.8.3.3 Примитивы между ПФТ-подуровнем и ОРп-подуровнем

Эти примитивы описаны в 5.7.2.3.

5.8.4 Связь на уровне ПФТ-подуровней

5.8.4.1 Блок данных ПФТ-подуровня (БД ПФТ)

Отдельный блок данных ПФТ-подуровня формируется напрямую из каждого пакета данных (ПД), принимаемого от верхнего уровня. На рисунке 35 показан этот процесс. ПД верхнего уровня обычно обеспечивает следующие услуги:

- Передача данных:

- управляющие сообщения верхнего уровня;

- Ethernet-данные.

- Передача речи:

- вокодерный речевой пакет;

- речевая "сигнализация из конца в конец".


Рисунок 35 - БД ПФТ-подуровня

5.8.4.2 Пакеты данных подуровня формирования блоков (ПД ПФТ-подуровня)

Форматы ПД ПФТ различаются в зависимости от типа передаваемой информации.

5.8.4.2.1 Режим передачи данных

В этом режиме данные, которые получает ПФТ-подуровень от высшего уровня, должны отображаться на ПД ПФТ-подуровня и далее в ПД ОДп-подуровня. Ниже описаны различные ПД ПФТ-подуровня.

5.8.4.2.1.1 Управляющее сообщение верхнего уровня

ПФТ-подуровень формирует из управляющего сообщения, поступившего с верхнего уровня, ПД-пакеты ПФТ, как показано на рисунке 36. После чего ПФТ-подуровень отправляет сформированные ПД на ОДп-подуровень для дальнейшей обработки.


Рисунок 36 - Формирование ПД ПФТ-подуровня из управляющего сообщения верхнего уровня

5.8.4.2.1.2 Ethernet-данные

ПД ПФТ-подуровня, содержащий Ethernet-данные, может быть двух типов, в зависимости от того, применяется шифрование или нет.

1 Случай без шифрования. Способ формирования ПД ПФТ-подуровня показан на рисунке 37.


Рисунок 37 - Формирование ПД ПФТ-подуровня из Ethernet-данных (режим без шифрования)

2 Случай с шифрованием. Способ формирования ПД ПФТ-подуровня показан на рисунке 38.


Рисунок 38 - Формирование ПД ПФТ-подуровня из Ethernet-данных (режим с шифрованием)

Размер поля ключа шифрования устанавливается сообщением с высшего уровня.

5.8.4.2.2 Режим передачи речи

5.8.4.2.2.1 Речевой вокодерный пакет

ПФТ-подуровень формирует из вокодерного речевого пакета, поступившего с верхнего уровня, ПД-пакеты ПФТ-подуровня, как показано на рисунке 39. После чего ПФТ-подуровень отправляет сформированные ПД на ОРп-подуровень для дальнейшей обработки.

Как описано в подразделе 5.8.6, для речевых вокодерных пакетов не допускается использование шифрования в режиме "Обратная связь по выходу" (OFB), в результате чего в режиме шифрования не происходит значительных дополнительных вычислительных затрат. Длина речевого вокодерного пакета после шифрования остается без изменения.


Рисунок 39 - Формирование ПД ПФТ-подуровня из речевого вокодерного пакета

5.8.4.2.2.2 Речевая "сигнализация из конца в конец"

ПФТ-подуровень формирует из пакета речевой "сигнализации из конца в конец" ПД-пакеты ПФТ-подуровня, как показано на рисунке 40. После чего ПФТ-подуровень отправляет сформированные ПД на ОРп-подуровень для дальнейшей обработки. ОРп-подуровень переносит такие ПД ПФТ-подуровня сначала в блоки данных (БД), а потом и в пакеты данных (ПД) ОДп-подуровня. После этого ОДп-подуровень, сопряженный с ОРп-подуровнем, осуществляет их дальнейшую передачу на "удаленный конец".


Рисунок 40 - Формирование ПД ПФТ из пакета речевой "сигнализации из конца в конец"

5.8.5 Классификация процессов обслуживания

ПФТ-подуровень классифицирует данные, которые он получает, и преобразует их в потоки данных различных типов. Для указания типа потока ПФТ-подуровень использует значение поля индикатора сервисного обслуживания (SFID), присутствующего в блоке "Данные (БД) ОДп-подуровня" (см. 5.6.3.2, таблицы 67, 69 или 102).

Состояние индикатора SFID определяется на ПФТ-подуровне. Длина индикатора SFID составляет три бита, поэтому он может содержать значения от 0 до 7, т.е. 8 типов потоков данных, описание которых приведено в таблице 102, а именно: 0 - управляющее сообщение верхнего уровня, 1 - резерв, 2 - трафик высокого приоритета, 3 - трафик низкого приоритета, 4-7 зарезервированы. Когда устанавливается соединение на нижнем уровне, АТ и БС по умолчанию принимают возможность существования потоков всех указанных уровней приоритетности в данном соединении.

Таблица 102 - Формат блока "Данные ОДп-подуровня"

Поле

Длина (бит)

Описание

Header

16

0x3227 заголовок

SFID

3

0b000: управляющие сообщения высшего уровня

0b001: резерв

0b010: трафик высшего приоритета

0b011: трафик низкого приоритета

Другие: резерв

Length

138

Длина блока данных (в байтах)

Content

Перемен-
ная

Данные (полезная информация)

5.8.6 Процедура шифрования

Процедуру шифрования могут инициализировать как АТ, так и БС. Способ и алгоритм шифрования принимаются и координируются на верхнем уровне. Если на АТ заложен алгоритм шифрования, т.е. если АТ поддерживает шифрование потоков данных и речи, то указанные потоки должны шифроваться АТ.

Шифрованию подвергаются только Ethernet-данные и вокодерные пакеты речевых соединений.

Функции шифрования:

- пакет Ethernet-данных имеет переменную длину, и для него применяется алгоритм блочного шифрования в режиме "Обратная связь по выходу" (OFB);

- речевой кодированный пакет имеет фиксированную длину, и для него применяются алгоритмы шифрования non-OFB (т.е. не применяются алгоритмы OFB).

Специальные алгоритмы шифрования в данном стандарте не рассматриваются.

5.9 Процедуры звена передачи данных (канального уровня)

5.9.1 Сообщения вещательного канала

5.9.1.1 Приоритеты сообщений вещательного канала

Перечень сообщений, передаваемых по вещательному каналу:

- блок системной информации-1/2/3/4;

- вызовы;

- вызовы для пассивного режима;

- широковещательные данные.

Уровни приоритета для указанных сообщений в порядке от высокого к низкому: "Вызовы для пассивного режима", "Блок системной информации-1/2/3/4", "Вызовы", "Широковещательные данные".

5.9.1.2 Системные сообщения

БС транслирует последовательную совокупность из четырех системных сообщений "Блок системной информации-1/2/3/4" периодически, с интервалом повторения, установленным для передачи системных сообщений.

5.9.2 Запрос коррекции задержки (ЗКЗ-сообщения)

Эта процедура активизируется со стороны АТ для синхронизации по задержке и настройки мощности трансляции. Когда АТ не имеет синхронизации с БС или происходит обрыв соединения при организации доступа, АТ должна инициировать ЗКЗ-процедуру. При этом АТ случайным образом выбирает группу поднесущих частот (ГПЧ), поддерживающую ответный логический ОЗКЗ-канал, отправляет ЗКЗ-сообщение [выбирает ту ЗКЗ-последовательность (одну из 24), для которой ЗКЗ-процедура была успешно выполнена в последний раз] и затем ожидает ответное сообщение в ОЗКЗ-канале выбранной ГПЧ.

В случае успешного приема ответа (по ОЗКЗ-каналу) АТ корректирует время задержки и производит регулировку мощности передачи согласно принятым от БС корректирующим данным. После этого АТ начинает процедуру "Запрос доступа (ЗД)" (см. 5.5.5.1.2.2.2) или передает по ЗД-каналу одно из сообщений: "Ответ на обычный вызов" (см. 5.5.5.1.2.2.3); "Ответ на "Только вызов" (см. 5.5.5.1.2.2.4).

Если ответ от БС на ЗКЗ-сообщение принять не удается, то АТ ожидает в течение случайного времени перед тем, как повторно инициировать ЗКЗ-процедуру и передавать ЗКЗ-сообщение с максимально возможной мощностью трансляции, чтобы БС могла принять его корректно.

Если ЗКЗ-процедура не завершается корректно после , то МАС-подуровень АТ посылает на физический уровень команду на повторное выполнение процедуры "Синхронизация" (в режиме "Прием"). ЗКЗ-процедура приведена на рисунке 41.


Рисунок 41 - ЗКЗ-процедура

Шаги ЗКЗ-процедуры:

Шаг <1> МАС-подуровень АТ запрашивает посредством примитива "Запрос коррекции задержки (ЗКЗ)" (см. 5.5.4.4.1.2, таблица 24) физический уровень инициировать ЗКЗ-процедуру.

Шаг <2>

- Физический уровень АТ отправляет ЗКЗ-сообщение по радиоканалу и ожидает ответное сообщение;

- если АТ не получает ответных сообщений в течение времени , то повторно дает физическому уровню команду отправить ЗКЗ-сообщение по радиоканалу;

- если после передачи ЗКЗ-сообщений раз ответ не принят, то АТ передает на физический уровень команду на повторное выполнение процедуры "Синхронизация" (в режиме "Прием");

- если по ОЗКЗ-каналу принято ответное сообщение формата "ПД MAC ОЗКЗ" (см. 5.5.5.1.4, таблица 48), то процесс переходит к шагу <5>.

Шаг <3> После приема ЗКЗ-сообщения "Физический уровень" БС посредством примитива "Индикация приема ЗКЗ" (см. 5.5.4.4.1.3, таблица 25) уведомляет об этом МАС-подуровень БС.

Шаг <4> МАС-подуровень БС формирует ответную информацию для принятого ЗКЗ-сообщения и осуществляет передачу сообщения "ПД MAC ОЗКЗ" (см. 5.5.5.1.4, таблица 48), содержащего указанную информацию, по ответному ОЗКЗ-каналу (см. 5.5.2.2.2).

Шаг <5> При получении по ОЗКЗ-каналу (см. 5.5.2.2.2) ответа в виде сообщения "ПД MAC ОЗКЗ" (см. 5.5.5.1.4) МАС-подуровень АТ передает на физический уровень команду "Коррекция мощности и задержки" согласно данным, содержащимся в ответном сообщении "ПД MAC ОЗКЗ" (см. 5.5.5.1.4).

5.9.3 Запрос доступа (ЗД)

До тех пор, пока не будет установлено соединение между МАС-подуровнями АТ и БС, АТ будет инициировать процедуру "Запрос доступа" (в случайном режиме) и запрашивать БС выделить ресурс радиоканала для установки соединения между МАС-подуровнями. Для этого АТ случайным образом формирует последовательность из номеров ГПЧ, поддерживающих ЗД-каналы (см. 5.5.2.3.1), и поочередно транслирует сообщения "Запрос доступа" (см. 5.5.5.1.2.2.2, таблица 38) по соответствующим ЗД-каналам в указанных ГПЧ до тех пор, пока не будет получен положительный ответ в виде ОЗД-сообщения "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45) в очередной ГПЧ. Таким образом, АТ организует ЗД-процедуру в режиме "Случайного доступа", ожидая ответных сообщений по ОЗД-каналу (канал ответа на запрос "Случайного доступа") в соответствующей ГПЧ. Сообщение с "Запросом доступа" несет информацию о ресурсе радиоканала, необходимом для АТ (см. 5.5.5.1.2.2.2).

Процедура "Запрос доступа" приведена на рисунке 42.


Рисунок 42 - Процедура "Запрос доступа"

Шаги процедуры "Запрос доступа":

Шаг <1>

- МАС-подуровень АТ отправляет сообщение "Запрос доступа" на МАС-подуровень БС по ЗД-каналу (см. 5.5.5.1.2.2.2, таблица 38), запрашивая БС о выделении ресурса радиоканала;

- если АТ не получает ответного ОЗД-сообщения "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45) в пределах времени , то АТ снова посылает сообщение "Запрос доступа";

- если на посылаемые сообщения "Запрос доступа" после последовательных попыток не получен ответ, то процедура "Запрос доступа" прекращается.

Шаг <2>

- При получении сообщения "Запрос доступа" МАС-подуровень БС отправляет ответное сообщение в виде "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45) по ОЗД-каналу;

- при успешном приеме ответа в виде сообщения "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45) АТ прекращает процедуру "Запрос доступа";

- при неуспешном завершении процедуры "Запрос доступа" МАС-подуровень АТ должен будет выполнить действия, предусмотренные инструкцией (выполнить заново ЗКЗ-процедуру (см. 5.9.2), послать команду на физический уровень на повторное выполнение процедуры "Синхронизация" и т.д.).

5.9.4 Вызов

Процедура "Вызов" инициируется БС. Конечной целью указанной процедуры является установка соединения между МАС-подуровнями БС и АТ. Если соединения на МАС-подуровне между БС и АТ нет, то появление на БС любых управляющих или полезных сообщений, предназначенных для АТ, будет прежде всего инициировать процедуру "Вызов". Для передачи сообщений "Вызов" БС использует вещательный канал (ВК).

Вызовы подразделяются на два типа в зависимости от того, в каком состоянии (пассивном или активном) находится вызываемый АТ.

5.9.4.1 Вызов абонента, находящегося в активном состоянии

Если АТ находится в активном состоянии, то БС производит его вызов непрерывно в течение "" раз при интервале задержки между попытками "" на ГПЧ, поддерживающих ВК-канал. Иными словами, вызов осуществляется с интервалом времени "", а общее количество сигналов вызова может составлять до "".

Если за время ""·"" БС не получает ответа от АТ на сообщения "Вызов", то БС будет выбирать другую ГПЧ, поддерживающую ВК-канал, и передавать вызовы в нем. Так до тех пор, пока не будут перебраны все ГПЧ, поддерживающие ВК-каналы. Если при переборе всех ГПЧ ответ от АТ так и не приходит, то соответствующее сообщение об этом БС передает на верхний уровень.

5.9.4.2 Вызов абонента, находящегося в пассивном состоянии

Если АТ находится в пассивном состоянии, вызов осуществляется на той ГПЧ и в тех кадрах, на которых АТ осуществляет прием возможной команды на "Пробуждение" (переход в активное состояние). Максимальное число попыток вызова определяется параметром "".

На БС фиксируется ГПЧ, поддерживающая ВК-канал, к которой приписан каждый АТ, находящийся в пассивном состоянии. Поэтому, если за "" попыток ответа от АТ не поступает, то БС не нужно выбирать другую ГПЧ для передачи. При этом АТ регистрируется как терминал в активном состоянии, и последующие попытки вызова осуществляются в соответствии с этим режимом.

5.9.4.3 Процедура "Вызов"

Процедура "Вызов" приведена на рисунке 43.


Рисунок 43 - Процедура "Вызов"

Шаги процедуры "Вызов":

Шаг <1> МАС-подуровень БС передает по ВК-каналу (см. 5.5.2.2.1) сигналы "Вызов" (см. 5.5.5.1.1.3.6, таблица 34) для АТ в активном состоянии и сигналы "Вызов для пассивного режима" (см. 5.5.5.1.1.3.7, таблица 35) для АТ в пассивном состоянии.

Шаг <2> МАС-подуровень вызываемого АТ получает посланное ему сообщение "Вызов" или "Вызов для пассивного режима" и отправляет по ЗД-каналу ответное сообщение "Ответ на обычный вызов" (см. 5.5.5.1.2.2.3, таблица 39) или "Ответ на "Только вызов" (см. 5.5.5.1.2.2.4, таблица 40).

Шаг <3>

- МАС-подуровень БС, получив ответное сообщение, останавливает таймер "" и отправляет по ОЗД-каналу сообщение "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45), тем самым выделяя необходимый ресурс радиоканала для АТ;

- МАС-подуровень АТ получает сообщение "Конфигурация радиоканала" и устанавливает соединение с МАС-подуровнем БС.

5.9.5 Процесс установки соединения

Для услуг передачи речи или данных прежде всего через МАС-подуровни устанавливаются ОРп-соединения или ОДп-соединения соответственно.

Процедуры установки соединений ОРп-подуровня и ОДп-подуровня отличаются друг от друга. Ниже описание для этих двух процедур приведено по отдельности.

5.9.5.1 Установка соединения ОРп-подуровня

5.9.5.1.1 Процедура "Установка соединения ОРп-подуровня по инициативе АТ"

При установке соединения ОРп-подуровня по инициативе АТ будут использоваться различные процедуры в зависимости от того, в каком состоянии находится соединение МАС-подуровней.

В случае отсутствия соединения с БС МАС-подуровнем АТ сначала запускает процедуру "Запрос доступа (ЗД)" (см. 5.9.3, рисунок 42), чтобы запросить у БС ресурс радиоканала для установки соединения на МАС-подуровнях. Указанная процедура приведена на рисунке 44.


Рисунок 44 - Процедура "Установка соединения ОРп-подуровня по инициативе АТ" при отсутствии соединения с МАС-подуровнем БС

Шаги процедуры "Установка соединения ОРп-подуровня по инициативе АТ":

Шаг <1> АТ инициирует запрос на установку ОРп-соединения. Для этого верхний уровень АТ отправляет примитив "Запрос установки ОРп-соединения" (см. 5.7.2.2.1, таблица 78) на ОРп-подуровень.

Шаг <2> После того как ОРп-подуровень АТ получает этот запрос, он отправляет команду "Запрос установки МАС-соединения" (см. 5.5.4.3.1.1, таблица 14) на МАС-подуровень, чтобы установить соединение с МАС-подуровнем БС.

Шаг <3> После получения команды "Запрос установки МАС-соединения" (см. 5.5.4.3.1.1, таблица 14) МАС-подуровень АТ инициирует процедуру "Запрос доступа" (ЗД) (см. 5.9.3).

Шаг <4> После успешной реализации ЗД-процедуры МАС-подуровень АТ отправляет на ОРп-подуровень АТ примитив "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15). При неудачном завершении ЗД-процедуры АТ выполняет действия, описанные в 5.9.3.

Шаг <5>

- ОРп-подуровень АТ получает ответ на "Запрос установки МАС-соединения";

- если в этом ответе содержится информация об успешном выполнении, то АТ передает по КПТ-каналу сообщение "Запрос установки ОРп-соединения" (см. 5.7.3.4.2, таблица 90) на ОРп-подуровень БС, запрашивая установку ОРп-соединения, одновременно с этим запускает таймер контроля установки ОРп-соединения ("") и устанавливает счетчик максимального числа попыток установки ОРп-соединения ("");

- если процесс установки ОРп-соединения заканчивается безуспешно, то на верхний уровень АТ посылается примитив "Подтверждение установки ОРп-соединения" (см. 5.7.2.2.4, таблица 81) с информацией об отказе.

Шаг <6> После приема ОРп-подуровнем БС сообщения "Запрос установки ОРп-соединения" он посылает на верхний уровень БС примитив "Индикация установки ОРп-соединения" (см. 5.7.2.2.2, таблица 79) с данными о параметрах устанавливаемого ОРп-соединения.

Шаг <7> После того как верхний уровень БС получает данные о параметрах устанавливаемого ОРп-соединения, он формирует ответное сообщение в виде примитива "Ответ на индикацию установки ОРп-соединения" (см. 5.7.2.2.3, таблица 80), содержащее подтверждение или отказ, которое отправляет на ОРп-подуровень БС.

Шаг <8>

- ОРп-подуровень БС получает от верхнего уровня БС примитив "Ответ на индикацию установки ОРп-соединения";

- ОРп-подуровень БС передает сообщение "Ответ на запрос установки ОРп-соединения" (см. 5.7.3.4.3, таблица 92), содержащее инструкции подтверждения/отклонения запроса на ОРп-подуровень АТ.

Шаг <9>

- В случае подтверждения запроса ОРп-подуровень БС посылает примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16) на МАС-подуровень БС, в результате чего устанавливается логическая связка между устанавливаемым ОРп-соединением и поддерживающим соединением МАС-подуровней;

- после того как ОРп-подуровень АТ принимает ответное сообщение "Ответ на запрос установки ОРп-соединения", он посылает примитив "Подтверждение установки ОРп-соединения" (см. 5.7.2.2.4, таблица 81), содержащий информацию о результате установки ОРп-соединения, на верхний уровень АТ;

- в случае успешного результата ОРп-подуровень АТ посылает примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16) на МАС-подуровень АТ, в результате чего устанавливается логическая связка между устанавливаемым ОРп-соединением и поддерживающим его соединением МАС-подуровней;

- если верхний уровень АТ получает примитив "Подтверждение установки ОРп-соединения" (см. 5.7.2.2.4, таблица 81), содержащий информацию об успешном результате, то он инициализирует обмен речевыми данными и данными "сигнализации из конца в конец" по установленному ОРп-соединению.

Шаг <10> Процесс обмена речевыми данными.

В случае, когда АТ, инициирующий установку ОРп-соединения, уже имеет соединение с МАС-подуровнем БС, процедура установки ОРп-соединения организуется через существующее соединение МАС-подуровней. Указанная процедура приведена на рисунке 45.


Рисунок 45 - Процедура "Установка соединения ОРп-подуровня по инициативе АТ" при наличии соединения с МАС-подуровнем БС

Трактовка сообщений и запросов описывается выше точно так же, как и для случая отсутствия соединения МАС-подуровней.

5.9.5.1.2 Процедура "Установка соединения ОРп-подуровня по инициативе БС"

При установке соединения ОРп-подуровня по инициативе БС используются различные процедуры в зависимости от того, в каком состоянии находится соединение МАС-подуровней.

В случае отсутствия соединения с АТ МАС-подуровнем БС сначала осуществляет вызов АТ через ВК-канал и затем устанавливает соединение между своим МАС-подуровнем и МАС-подуровнем АТ. Указанная процедура приведена на рисунке 46.


Рисунок 46 - Процедура "Установка соединения ОРп-подуровня по инициативе БС" при отсутствии соединения с МАС-подуровнем АТ

Шаги процедуры "Установка соединения ОРп-подуровня по инициативе БС":

Шаг <1> Верхний уровень БС инициирует "Запрос установки ОРп-соединения" (см. 5.7.2.2.1, таблица 78).

Шаг <2> ОРп-подуровень БС получает примитив "Запрос установки ОРп-соединения" и отправляет на МАС-подуровень БС команду "Запрос установки МАС-соединения" для организации соединения с МАС-подуровнем АТ (см. 5.5.4.3.1.1, таблица 14).

Шаг <3> МАС-подуровень БС получает команду "Запрос установки МАС-соединения" и инициирует процедуру "Вызов" для АТ (см. 5.9.4.3). Если АТ находится в активном состоянии, то МАС-подуровень БС должен использовать сообщение "Вызов" с признаком "Вызов общего формата" в поле "PagingType" (см. 5.5.5.1.1.3.6, таблица 34).

Шаг <4> Если процесс "Вызов" завершается успешно, МАС-подуровень БС отправляет на ОРп-подуровень БС примитив "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15) с информацией об успешном результате. Если процесс вызова завершается безуспешно, то МАС-подуровень БС отправляет на ОРп-подуровень БС примитив "Подтверждение установки МАС-соединения" с информацией об отказе в поле "Result".

Шаг <5>

- ОРп-подуровень БС получает подтверждение успешного выполнения соединения с МАС-подуровнем АТ, после чего по КПТ-каналу передает на ОРп-подуровень АТ сообщение "Запрос установки ОРп-соединения" (см. 5.7.3.4.2, таблица 90), запрашивая установку ОРп-соединения, одновременно с этим запускает таймер контроля установки ОРп-соединения ("") и устанавливает счетчик максимального числа попыток установки ОРп-соединения ("");

- когда ОРп-подуровень БС принимает отказ на установку ОРп-соединения (см. 5.7.3.4.3, таблица 92) или происходит сбой процедуры "Установка соединения ОРп-подуровня", то он отправляет соответствующую информацию на верхний уровень БС.

Шаг <6> После того как ОРп-подуровень АТ принимает сообщение "Запрос установки ОРп-соединения" (см. 5.7.3.4.2, таблица 90) с инструкцией установки, он отправляет на верхний уровень АТ примитив "Индикация установки ОРп-соединения" (см. 5.7.2.2.2, таблица 79), информирующий об установке ОРп-соединения.

Шаг <7> При получении примитива "Индикация установки ОРп-соединения" (см. 5.7.2.2.2, таблица 79) верхний уровень АТ посылает в ответ (на ОРп-подуровень АТ) примитив "Ответ на индикацию установки ОРп-соединения" (см. 5.7.2.2.3, таблица 80), который может содержать подтверждение или отказ в поле "Result".

Шаг <8> После получения ОРп-подуровнем АТ ответного сообщения от верхнего уровня (см. 5.7.2.2.3, таблица 80) ОРп-подуровень АТ передает ОРп-подуровню БС сообщение "Ответ на запрос установки ОРп-соединения" (см. 5.7.3.4.3, таблица 92), чтобы дать информацию об успешной установке соединения или об отказе.

Шаг <9>

- Если установка соединения выполняется успешно, ОРп-подуровень АТ посылает на МАС-подуровень АТ примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОРп-соединением и поддерживающим его соединением МАС-подуровней;

- ОРп-подуровень БС посылает на верхний уровень БС результаты установки ОРп-соединения, используя для этого примитив "Подтверждение установки ОРп-соединения" (см. 5.7.2.2.4, таблица 81);

- в случае положительного результата установки, ОРп-подуровень БС посылает на МАС-подуровень БС примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОРп-соединением и поддерживающим его соединением МАС-подуровней.

Шаг <10> Процесс обмена речевыми данными.

В случае, когда БС, инициирующая установку ОРп-соединения, имеет соединение с МАС-подуровнем АТ, процедура "Установка соединения ОРп-подуровня по инициативе БС" организуется через существующее соединение МАС-подуровней. Указанная процедура приведена на рисунке 47.


Рисунок 47 - Процедура "Установка соединения ОРп-подуровня по инициативе БС" при наличии соединения с МАС-подуровнем АТ

Трактовка сообщений и запросов описывается выше точно так же, как и для случая отсутствия соединения МАС-подуровней.

5.9.5.2 Установка соединения на ОДп-подуровне

5.9.5.2.1 Процедура "Установка соединения ОДп-подуровня (передачи данных) по инициативе АТ"

При установке соединения ОДп-подуровня по инициативе АТ будут использоваться различные процедуры в зависимости от того, в каком состоянии находится соединение МАС-подуровней.

В случае отсутствия соединения с БС МАС-подуровнем АТ сначала запускает процедуру "Запрос доступа" (см. 5.9.3, рисунок 42), чтобы запросить у БС ресурс радиоканала для установки соединения на МАС-подуровнях. Эта процедура приведена на рисунке 48.


Рисунок 48 - Процедура "Установка соединения ОДп-подуровня по инициативе АТ" при отсутствии соединения с МАС-подуровнем БС

Шаги процедуры "Установка соединения ОДп-подуровня по инициативе АТ":

Шаг <1> ПФТ-подуровень АТ отправляет примитив "Запрос передачи данных на ОДп-подуровень" (см. 5.6.2.2.1, таблица 65) на ОДп-подуровень АТ.

Шаг <2> После того как ОДп-подуровень АТ получает примитив "Запрос передачи данных на ОДп-подуровень", он проверяет, существует ли соединение ОДп-подуровня с БС или нет. Если установленного соединения ОДп-подуровня нет, то ОДп-подуровень АТ передает примитив "Запрос на установку МАС-соединения" (см. 5.5.4.3.1.1, таблица 14) на МАС-подуровень АТ, чтобы установить соединение с МАС-подуровнем БС.

Шаг <3> После получения примитива "Запрос на установку МАС-соединения" (см. 5.5.4.3.1.1, таблица 14) МАС-подуровень АТ определяет, что соединения с МАС-подуровнем БС нет. После этого МАС-подуровень АТ инициирует процедуру "Запрос доступа" (см. 5.9.3, рисунок 42), чтобы получить запрашиваемые ресурсы радиоканала.

Шаг <4> После успешной реализации процедуры "Запрос доступа" МАС-подуровень АТ отправляет на ОДп-подуровень АТ примитив "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15) с признаком положительного результата. При неудачном завершении ЗД-процедуры АТ выполняет действия, описанные в 5.9.3.

Шаг <5>

- ОДп-подуровень АТ получает примитив "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15);

- если указанный примитив содержит информацию об успешном выполнении, то ОДп-подуровень АТ передает по КПТ-каналу сообщение "Запрос установки ОДп-соединения" (см. 5.6.3.4.3, таблица 72) на ОДп-подуровень БС. Одновременно с этим ОДп-подуровень АТ запускает таймер контроля попыток установки ОДп-соединения ("") и устанавливает счетчик максимального числа попыток установки ОДп-соединения ("").

Шаг<6> При приеме ОДп-подуровнем БС сообщения "Запрос установки ОДп-соединения" (см. 5.6.3.4.3, таблица 72) ОДп-подуровень БС выносит решение разрешить или отказать в установке ОДп-соединения, а также передает сообщение "Ответ на запрос установки соединения ОДп-подуровня" (см. 5.6.3.4.4, таблица 74), содержащий информацию о результате, по КПТ-каналу на ОДп-подуровень АТ.

Шаг <7>

- Если ОДп-подуровень БС разрешает установку соединения, то он посылает на МАС-подуровень БС примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОДп-соединением и поддерживающим его соединением МАС-подуровней;

- после того как ОДп-подуровень АТ принимает сообщение "Ответ на запрос установки ОДп-соединения" (см. 5.6.3.4.4, таблица 74), содержащее подтверждение, он (ОДп-подуровень АТ) посылает на МАС-подуровень АТ примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОДп-соединением и поддерживающим его соединением МАС-подуровней;

- МАС-подуровни АТ и БС получают примитивы "Запрос на активацию службы МАО" (см. 5.5.4.3.1.3, таблица 16) и осуществляют операции привязки ресурсов и служб управления к устанавливаемому ОДп-соединению.

Шаг <8> Соединение ОДп-подуровня установлено, начинается обмен данными.

В случае, когда АТ, инициирующий установку ОДп-соединения, имеет соединение с МАС-подуровнем БС, процедура "Установка соединения ОДп-подуровня по инициативе АТ" организуется через существующее соединение МАС-подуровней. Указанная процедура приведена на рисунке 49.


Рисунок 49 - Процедура "Установка соединения ОДп-подуровня по инициативе АТ" при наличии соединения с МАС-подуровнем БС

Трактовка сообщений и запросов описывается выше точно так же, как и для случая отсутствия соединения МАС-подуровней.

5.9.5.2.2 Процедура "Установка соединения ОДп-подуровня (передачи данных) по инициативе БС"

При установке соединения ОДп-подуровня по инициативе БС будут использоваться различные процедуры в зависимости от того, в каком состоянии находится соединение МАС-подуровней.

В случае отсутствия соединения с АТ МАС-подуровнем БС сначала запускает процедуру "Вызов АТ" через ВК-канал для установки соединения МАС-подуровней. Эта процедура приведена на рисунке 50.


Рисунок 50 - Процедура "Установка соединения ОДп-подуровня по инициативе БС" при отсутствии соединения с МАС-подуровнем АТ

Шаги процедуры "Установка соединения ОДп-подуровня по инициативе БС" при отсутствии соединения с МАС-подуровнем АТ:

Шаг <1> ПФТ-подуровень БС посылает на ОДп-подуровень БС примитив "Запрос на передачу данных на ОДп-подуровень" (см. 5.6.2.2.1, таблица 65).

Шаг <2> ОДп-подуровень БС, получив указанный примитив, проверяет, установлено ли соединение с ОДп-подуровнем АТ. Если нет, то ОДп-подуровень БС отправляет на МАС-подуровень БС примитив "Запрос установки MAC-соединения" (см. 5.5.4.3.1.1, таблица 14).

Шаг <3> Как только МАС-подуровень БС получает примитив "Запрос установки МАС-соединения" (см. 5.5.4.3.1.1, таблица 14), он запускает процедуру "Вызов" к АТ (см. 5.9.4.3), чтобы установить соединение своего МАС-подуровня с МАС-подуровнем АТ. Если АТ находится в активном состоянии, то МАС-подуровень БС должен использовать сообщение "Вызов" с признаком "Вызов общего формата" в поле "PagingType" (см. 5.5.5.1.1.3.6, таблица 34).

Шаг <4> МАС-подуровень БС при удачном завершении процедуры "Вызов" (см. 5.9.4.3) посылает на ОДп-подуровень БС примитив "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15) с информацией об успехе. При неудачном завершении процедуры вызова МАС-подуровень посылает на ОДп-подуровень БС примитив "Подтверждение установки МАС-соединения" с информацией о неудаче.

Шаг <5> Как только ОДп-подуровень БС получает положительный ответ в формате примитива "Подтверждение установки МАС-соединения" (см. 5.5.4.3.1.2, таблица 15), он передает по КПТ-каналу сообщение "Запрос установки соединения ОДп-подуровня" (см. 5.6.3.4.3, таблица 72) на ОДп-подуровень АТ, запрашивая установку ОДп-соединения. Одновременно с этим ОДп-подуровень БС запускает таймер контроля попыток установки ОДп-соединения ("") и устанавливает счетчик максимального числа попыток установки ОДп-соединения ("").

Шаг <6> Как только ОДп-подуровень АТ принимает сообщение "Запрос установки соединения ОДп-подуровня" (см. 5.6.3.4.3, таблица 72), он передает ответное сообщение "Ответ на запрос установки соединения ОДп-подуровня" (см. 5.6.3.4.4, таблица 74) по КПТ-каналу на ОДп-подуровень БС.

Шаг <7>

- ОДп-подуровень АТ посылает на МАС-подуровень АТ примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОДп-соединением и поддерживающим его соединением МАС-подуровней;

- после того как ОДп-подуровень БС принимает сообщение "Ответ на запрос установки соединения ОДп-подуровня" (см. 5.6.3.4.4, таблица 74), он (ОДп-подуровень БС) посылает на МАС-подуровень БС примитив "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16), чтобы установить логическую связь между устанавливаемым ОДп-соединением и поддерживающим его соединением МАС-подуровней;

- МАС-подуровни АТ и БС получают примитивы "Запрос на активацию службы МАС" (см. 5.5.4.3.1.3, таблица 16) и осуществляют операции привязки ресурсов и служб управления к устанавливаемому ОДп-соединению.

Шаг <8> Соединение ОДп-подуровня установлено, начинается обмен данными.

В случае, когда БС, инициирующая установку ОДп-соединения, имеет соединение с МАС-подуровнем АТ, процедура "Установка соединения ОДп-подуровня по инициативе БС" организуется через существующее соединение МАС-подуровней. Указанная процедура приведена на рисунке 51.


Рисунок 51 - Процедура "Установка соединения ОДп-подуровня по инициативе БС" при наличии соединения с МАС-подуровнем АТ

Трактовка сообщений и запросов описывается выше точно так же, как и для случая отсутствия соединения МAC-подуровней.

5.9.6 Управление полосой пропускания радиоканала

Инициировать процедуру изменения полосы пропускания радиоканала может только МАС-подуровень БС. Процедура организована на основе периодически поступающих рапортов от ОДп/ОРп-подуровней АТ и БС, содержащих данные о требуемом ресурсе.

5.9.6.1 Периодические рапорты, содержащие запросы ресурса

АТ периодически проводит контроль требующейся для связи полосы радиоканала. Если возникает ситуация, требующая увеличения полосы, МАС-подуровень АТ передает на МАС-подуровень БС сообщение "Запрос ресурса радиоканала" (см. 5.5.5.1.5.5.1, таблица 54). Период формирования рапорта с информацией о требуемой полосе определяется установками таймера .

Указанная процедура приведена на рисунке 52.


Рисунок 52 - Процедура "Периодический отчет АТ об используемой ширине полосы радиоканала"

Шаги процедуры "Периодический отчет АТ об используемой ширине полосы радиоканала":

Шаг <1> ОДп/ОРп-подуровни АТ периодически формируют рапорты о требуемой полосе (ресурсе) радиоканала и отправляют примитивы "Запрос конфигурации радиоканала на МАС-подуровень" (см. 5.5.4.3.1.7, таблица 20), содержащие данные о требуемом ресурсе радиоканала, на МАС-подуровень АТ.

Шаг <2> Как только МАС-подуровень АТ получает такой примитив, он отправляет сообщение "Запрос ресурса радиоканала" (см. 5.5.5.1.5.5.1, таблица 54) по КПТ-каналу на МАС-подуровень БС, чтобы запросить требуемую ширину полосы канала радиосвязи.

Шаг <3> При приеме сообщения "Запрос ресурса радиоканала" (см. 5.5.5.1.5.5.1, таблица 54) МАС-подуровень БС записывает запрошенную ширину полосы канала радиосвязи. При первой возможности в дальнейшем указанная полоса устанавливается МАС-подуровнем БС с помощью команды "Переконфигурация радиоканала" (см. 5.5.5.1.5.5.2, таблица 55).

Шаг <4> АТ и БС продолжают передачу данных.

ОДп/ОРп-подуровни БС также периодически проводят контроль требующейся для связи полосы радиоканала. Если возникает ситуация, требующая увеличения полосы, ОДп/ОРп-подуровень БС передает на МАС-подуровень БС примитив "Запрос конфигурации радиоканала на МАС-подуровень" (см. 5.5.4.3.1.7, таблица 20), содержащий данные о требуемом ресурсе радиоканала. Период формирования рапорта с информацией о требуемой полосе определяется установками таймера . При приеме примитива "Запрос конфигурации радиоканала на МАС-подуровень" МАС-подуровень БС записывает запрошенную ширину полосы канала радиосвязи. При первой возможности в дальнейшем указанная полоса устанавливается МАС-подуровнем БС с помощью команды "Переконфигурация радиоканала" (см. 5.5.5.1.5.5.2, таблица 55).

5.9.6.2 Процедура "Переконфигурация радиоканала"

Процедура "Переконфигурация радиоканала" производится со стороны БС и осуществляет перераспределение ресурса радиоканала с целью обеспечения подходящих условий работы как для БС, так и для АТ. Указанная процедура приведена на рисунке 53.


Рисунок 53 - Процедура "Переконфигурация (изменения полосы) радиоканала", осуществляемая БС

Шаги процедуры "Переконфигурация радиоканала":

Шаг <1> МАС-подуровень БС на основе данных об имеющемся ресурсе радиоканала и условий работы БС и АТ выносит решение о необходимости переконфигурации радиоканала, установленного между БС и АТ. Для запуска такой процедуры МАС-подуровень БС передает на МАС-подуровень АТ команду "Переконфигурация радиоканала" (см. 5.5.5.1.5.5.2, таблица 55), содержащую данные о том, как изменяются параметры радиоканала.

Шаг <2> Как только МАС-подуровень АТ принимает команду "Переконфигурация радиоканала", он корректирует настройки радиоканала и посылает на физический уровень АТ команду на установку измененных рабочих параметров радиоканала. Физические уровни АТ и БС согласованно производят перестройку проверочных бит процедуры контроля ошибок на физическом уровне так, как описано в разделе 4.6.

Шаг <3> МАС-подуровень БС на основании декодирования проверочных бит очередных принятых кадров физического уровня определяет, прошла или не прошла команда на изменение параметров радиоканала. Если решение положительно, то МАС-подуровень БС переходит на работу в радиоканале с обновленными параметрами, в противном случае МАС-подуровень БС продолжает работать со старыми параметрами радиоканала.

5.9.7 Процедуры "Завершение установленных соединений"

Процедуры "Завершение установленных соединений" могут инициализироваться как БС, так и АТ. Процедура "Завершение соединения ОРп-подуровня" имеет отличия от процедуры "Завершение соединения ОДп-подуровня". Далее объясняется каждая из указанных процедур.

5.9.7.1 Процедура "Завершение соединения ОРп-подуровня"

Есть два типа процедур завершения соединения ОРп-подуровня:

1) Нормальное завершение, когда процедура завершения соединения ОРп-подуровня основывается на команде "Завершение", поступившей с более высокого уровня. Такие процедуры описаны в последующих подразделах.

2) Аварийное завершение, когда ОРп-подуровень получает примитив "Индикация завершения работы службы МАС" (см. 5.5.4.3.1.5, таблица 18) от МАС-подуровня, поддерживающего существующее ОРп-соединение. В такой ситуации выносится решение, нужно ли восстановить заново (послать новый запрос) МАС-соединение для поддержки текущего ОРп-соединения. Если такая необходимость есть, то ОРп-подуровень посылает на МАС-подуровень запрос на повторную установку МАС-соединения [команда "Запрос установки МАС-соединения" (см. 5.5.4.3.1.1, таблица 14)] для восстановления работы. Но если число неудачных попыток установить МАС-соединение достигает максимально допустимого значения (""), то ресурсы поддержки ОРп-соединения освобождаются. Если такой необходимости нет, то соответствующие ресурсы освобождаются сразу.

5.9.7.1.1 Процедура "Завершение соединения ОРп-подуровня по инициативе АТ"

Процедура "Завершение соединения на ОРп-подуровне", инициируемая со стороны АТ, приведена на рисунке 54.

Рисунок 54 - Процедура "Завершение соединения ОРп-подуровня по инициативе АТ"

Шаги процедуры "Завершение соединения ОРп-подуровня по инициативе АТ":

Шаг <1> Между АТ и БС осуществляется обмен речевыми данными.

Шаг <2> С верхнего уровня АТ на ОРп-подуровень АТ поступает примитив "Завершение ОРп-соединения" (см. 5.7.2.2.7, таблица 84), запрашивающий завершение сеанса речевой связи.

Шаг <3>

- ОРп-подуровень АТ после получения указанного примитива передает по КПТ-каналу на ОРп-подуровень БС сообщение "Запрос завершения ОРп-соединения" (см. 5.7.3.4.6, таблица 95). При этом ОРп-подуровень АТ устанавливает таймер контроля попыток завершения ОРп-соединения "" и устанавливает счетчик максимального числа повторных попыток завершения ОРп-соединения "";

- если все попытки ОРп-подуровня АТ передать сообщение "Запрос завершения ОРп-соединения" заканчивается неудачно (остаются без ответа со стороны ОРп-подуровня БС), то ОРп-подуровень АТ осуществляет завершение ОРп-соединения непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <4>

- ОРп-подуровень БС, как только принимает сообщение "Запрос завершения ОРп-соединения", передает на ОРп-подуровень АТ команду "Завершить ОРп-соединение" (см. 5.7.3.4.7, таблица 96). При этом ОРп-подуровень БС устанавливает таймер контроля попыток выполнения команды завершения "" и счетчик максимального числа повторных попыток для команды завершения "";

- если все попытки ОРп-подуровня АТ передать команду "Завершить ОРп-соединение" заканчиваются неудачно (остаются без ответа со стороны ОРп-подуровня БС), то ОРп-подуровень БС осуществляет завершение ОРп-соединения непосредственно на своей стороне без дополнительных сопровождающих действий;

- ОРп-подуровень БС посылает примитив "Индикация завершения ОРп-соединения" (см. 5.7.2.2.8, таблица 85) на верхний уровень БС;

- как только верхний уровень БС получает от ОРп-подуровня БС примитив "Индикация завершения ОРп-соединения" (см. 5.7.2.2.8, таблица 85), он производит операции по освобождению на своей стороне ресурсов поддержки завершаемого соединения.

Шаг <5> Как только ОРп-подуровень АТ принимает от ОРп-подуровня БС команду "Завершить ОРп-соединение", он посылает по КПТ-каналу ответное сообщение "Ответ на команду "Завершить ОРп-соединение" (см. 5.7.3.4.8, таблица 97), сообщающую о разъединении речевого соединения.

Шаг <6>

- ОРп-подуровень АТ отправляет примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17) на МАС-подуровень АТ и освобождает собственные ресурсы, выделенные для поддержки завершаемого ОРп-соединения;

- ОРп-подуровень БС выполняет операции по освобождению собственных ресурсов, выделенных для поддержки завершаемого ОРп-соединения, как только принимает по КПТ-каналу от ОРп-подуровня АТ сообщение "Ответ на команду "Завершить ОРп-соединение" (см. 5.7.3.4.8, таблица 97);

- ОРп-подуровень БС отправляет примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17) на МАС-подуровень БС.

Шаг <7>

- МАС-подуровни АТ и БС после того, как они получают примитивы "Запрос завершения работы службы МАС", посылают в ответ на свои ОРп-подуровни (АТ и БС) подтверждения в виде примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19);

- после этого МАС-подуровни АТ и БС проводят контроль, не поддерживается ли дополнительно еще ОДп-соединение. Если такого дополнительного ОДп-соединения нет, то МАС-подуровни освобождают ресурсы, связанные с поддержкой завершенного ОРп-соединения. Если же дополнительное ОДп-соединение есть, то МАС-подуровни только ликвидируют логические связи (привязки), которые существовали между их ресурсами и завершаемым ОРп-соединением, но при этом продолжают поддержку существующего соединения ОДп-подуровней;

- ОРп-подуровни АТ и БС после получения от своих МАС-подуровней примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19) заканчивают процедуру "Завершение соединения ОРп-подуровня по инициативе АТ" и освобождают ресурсы, выделенные для поддержки связи со своими МАС-подуровнями.

5.9.7.1.2 Процедура "Завершение соединения ОРп-подуровня по инициативе БС"

Процедура "Завершение соединения ОРп-подуровня по инициативе БС" приведена на рисунке 55.


Рисунок 55 - Процедура "Завершение соединения ОРп-подуровня по инициативе БС"

Шаги процедуры "Завершение соединения ОРп-подуровня по инициативе БС":

Шаг <1> Между АТ и БС осуществляется обмен речевыми данными.

Шаг <2> С верхнего уровня БС на ОРп-подуровень БС поступает примитив "Запрос завершения ОРп-соединения" (см. 5.7.2.2.7, таблица 84), запрашивающий о завершении сеанса речевой связи.

Шаг <3>

- ОРп-подуровень БС после получения от верхнего уровня БС примитива "Запрос завершения ОРп-соединения" передает по КПТ-каналу на ОРп-подуровень АТ команду "Завершить ОРп-соединение" (см. 5.7.3.4.7, таблица 96). При этом ОРп-подуровень БС устанавливает таймер контроля попыток выполнения данной команды "" и счетчик максимального числа повторных попыток для данной команды "";

- если все попытки ОРп-подуровня БС передать команду "Завершить ОРп-соединение" заканчиваются неудачно (остаются без ответа со стороны ОРп-подуровня АТ), то ОРп-подуровень БС осуществляет завершение ОРп-соединения непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <4> Как только ОРп-подуровень АТ принимает от ОРп-подуровня БС команду "Завершить ОРп-соединение" (см. 5.7.3.4.7, таблица 96), он посылает сообщение "Ответ на команду "Завершить ОРп-соединение" (см. 5.7.3.4.8, таблица 97), сообщающую о разъединении речевого соединения, и одновременно отправляет примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17) на МАС-подуровень АТ, а также ОРп-подуровень АТ посылает примитив "Индикация завершения ОРп-соединения" (см. 5.7.2.2.8, таблица 85) на верхний уровень АТ.

Шаг <5>

- ОРп-подуровень БС выполняет операции по завершению ОРп-соединения на своем уровне, как только принимает по КПТ-каналу от ОРп-подуровня АТ сообщение "Ответ на команду "Завершить ОРп-соединение" (см. 5.7.3.4.8, таблица 97);

- одновременно с этим ОРп-подуровень БС посылает примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17) на МАС-подуровень БС;

- как только верхний уровень АТ получает от ОРп-подуровня АТ примитив "Индикация завершения ОРп-соединения" (см. 5.7.2.2.8, таблица 85), он производит связанные с этой процедурой операции по освобождению на своей стороне ресурсов поддержки завершаемого соединения.

Шаг <6>

- МАС-подуровни АТ и БС после того, как они получают примитивы "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17), посылают в ответ на свои ОРп-подуровни (АТ и БС) подтверждения в виде примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19);

- после этого МАС-подуровни АТ и БС проводят контроль: не поддерживается ли дополнительно еще ОДп-соединение. Если такого дополнительного ОДп-соединения нет, то МАС-подуровни освобождают ресурсы, связанные с поддержкой завершенного ОРп-соединения. Если же дополнительное ОДп-соединение есть, то МАС-подуровни освобождают только логические связи (привязки), которые существовали между их ресурсами и завершаемым ОРп-соединением, но при этом продолжают поддержку существующего соединения ОДп-подуровней;

- ОРп-подуровни АТ и БС после получения от своих МАС-подуровней примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19) заканчивают процедуру "Завершение соединения ОРп-подуровня по инициативе БС" и освобождают ресурсы, выделенные для поддержки связи со своими МАС-подуровнями.

5.9.7.2 Процедура "Завершение соединения ОДп-подуровня"

Есть два типа процедуры "Завершение соединения ОДп-подуровня":

1 Нормальное завершение, когда ОДп-подуровень определяет, что есть необходимость завершить ОДп-соединение на основе того, что больше нет данных для передачи. Такие процедуры описаны в последующих подразделах.

2 Аварийное завершение, когда ОДп-подуровень получает примитив "Индикация завершения работы службы МАС" (см. 5.5.4.3.1.5, таблица 18) от МАС-подуровня, поддерживающего существующее ОДп-соединение. В такой ситуации выносится решение, нужно ли восстановить заново (послать новый запрос) соединение MAC для восстановления поддержки текущего ОДп-соединения. Если такая необходимость есть, то ОДп-подуровень посылает на МАС-подуровень запрос на повторную установку МАС-соединения [команда "Запрос установки МАС-соединения" (см. 5.5.4.3.1.1, таблица 14)] для восстановления работы. Но если число неудачных попыток установить соединение MAC достигает максимально допустимого значения (""), то ресурсы поддержки ОДп-соединения освобождаются. Если такой необходимости нет, то соответствующие ресурсы освобождаются сразу.

5.9.7.2.1 Процедура "Завершение соединения ОДп-подуровня по инициативе АТ"

Процедура "Завершение соединения ОДп-подуровня по инициативе АТ" приведена на рисунке 56.


Рисунок 56 - Процедура "Завершение соединения ОДп-подуровня по инициативе АТ"

Шаги процедуры "Завершение соединения ОДп-подуровня по инициативе АТ":

Шаг <1> Между АТ и БС осуществляется обмен данными.

Шаг <2>

- ОДп-подуровень АТ обнаруживает, что данных для передачи больше нет, и передает на ОДп-подуровень БС запрос "Завершение соединения ОДп-подуровня" (см. 5.6.3.4.5, таблица 75). При этом ОДп-подуровень АТ устанавливает таймер контроля попыток завершения ОДп-соединения "" и устанавливает счетчик максимального числа повторных попыток завершения "";

- если все попытки ОДп-подуровня АТ передать сообщение "Запрос завершения соединения ОДп-подуровня" заканчиваются неудачно (остаются без ответа со стороны ОДп-подуровня БС), то ОДп-подуровень АТ осуществляет завершение соединения ОДп-подуровня непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <3>

- ОДп-подуровень БС, приняв по КПТ-каналу сообщение "Запрос завершения соединения ОДп-подуровня" (см. 5.6.3.4.5, таблица 75), передает в ответ по КПТ-каналу на ОДп-подуровень АТ сообщение "Команда завершения соединения ОДп-подуровня" (см. 5.6.3.4.6, таблица 76), устанавливает таймер контроля попыток выполнения данной команды "" и устанавливает счетчик максимального числа повторных попыток данной команды "";

- если все попытки ОДп-подуровня БС передать сообщение "Команда завершения соединения ОДп-подуровня" заканчиваются неудачно (остаются без ответа со стороны ОДп-подуровня АТ), то ОДп-подуровень БС осуществляет завершение соединения ОДп-подуровня непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <4> ОДп-подуровень АТ после получения команды "Завершение соединения ОДп-подуровня" (см. 5.6.3.4.6, таблица 76) передает в ответ на ОДп-подуровень БС сообщение "Ответ на команду завершения соединения ОДп-подуровня" (см. 5.6.3.4.7, таблица 77).

Шаг <5>

- ОДп-подуровень АТ посылает на МАС-подуровень АТ примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17);

- ОДп-подуровень БС после приема сообщения "Ответ на команду завершения соединения ОДп-подуровня" (см. 5.6.3.4.7, таблица 77) производит на своей стороне освобождение ресурсов поддержки завершаемого соединения ОДп-подуровня, после чего посылает на МАС-подуровень БС примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17).

Шаг <6>

- После того как МАС-подуровни АТ и БС получают примитивы "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17), они отправляют в ответ на свои ОДп-подуровни примитивы "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19);

- после этого МАС-подуровни АТ и БС проводят контроль, не поддерживается ли дополнительно еще ОРп-соединение. Если такого дополнительного ОРп-соединения нет, то МАС-подуровни освобождают ресурсы, связанные с поддержкой завершенного соединения ОДп-подуровня. Если же дополнительное ОРп-соединение есть, то МАС-подуровни только ликвидируют логические связи (привязки), которые существовали между их ресурсами и завершаемым соединением ОДп-подуровня, но при этом продолжают поддержку существующего ОРп-соединения;

- ОДп-подуровни АТ и БС после получения от своих МАС-подуровней примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19) заканчивают процедуру "Завершение соединения ОДп-подуровня по инициативе АТ" и освобождают ресурсы, выделенные для поддержки связи со своими МАС-подуровнями.

5.9.7.2.2 Процедура "Завершение соединения ОДп-подуровня по инициативе БС"

Процедура "Завершение соединения ОДп-подуровня по инициативе БС" приведена на рисунке 57.


Рисунок 57 - Процедура "Завершение соединения ОДп-подуровня по инициативе БС"

Шаги процедуры "Завершение соединения ОДп-подуровня по инициативе БС":

Шаг <1> Между АТ и БС осуществляется обмен данными.

Шаг <2> ОДп-подуровень БС обнаруживает, что данных для передачи больше нет и передает на Одп-подуровень АТ сообщение "Команда завершения соединения ОДп-подуровня" (см. 5.6.3.4.6, таблица 76), устанавливает таймер контроля попыток выполнения данной команды "" и устанавливает счетчик максимального числа повторных попыток данной команды "";

- если все попытки ОДп-подуровня БС передать сообщение "Команда завершения соединения ОДп-подуровня" заканчиваются неудачно (остаются без ответа со стороны ОДп-подуровня АТ), то ОДп-подуровень БС осуществляет завершение соединения ОДп-подуровня непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <3> ОДп-подуровень АТ после приема сообщения "Команда завершения соединения Одп-подуровня" (см. 5.6.3.4.6, таблица 76), передает в ответ на ОДп-подуровень БС сообщение "Ответ на команду завершения соединения ОДп-подуровня" (см. 5.6.3.4.7, таблица 77).

Шаг <4>

- ОДп-подуровень АТ посылает на МАС-подуровень АТ примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17);

- ОДп-подуровень БС после приема сообщения "Ответ на команду завершения соединения Одп-подуровня" (см. 5.6.3.4.7, таблица 77) производит на своей стороне освобождение ресурсов поддержки завершаемого соединения ОДп-подуровня, после чего посылает на МАС-подуровень БС примитив "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17).

Шаг <5>

- После того как МАС-подуровни АТ и БС получают примитивы "Запрос завершения работы службы МАС" (см. 5.5.4.3.1.4, таблица 17), они отправляют в ответ на свои ОДп-подуровни примитивы "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19);

- после этого МАС-подуровни АТ и БС проводят контроль, не поддерживается ли дополнительно еще ОРп-соединение. Если такого дополнительного ОРп-соединения нет, то МАС-подуровни освобождают ресурсы, связанные с поддержкой завершенного соединения ОДп-подуровня. Если же дополнительное ОРп-соединение есть, то МАС-подуровни только ликвидируют логические связи (привязки), которые существовали между их ресурсами и завершаемым соединением ОДп-подуровня, но при этом продолжают поддержку существующего ОРп-соединения;

- ОДп-подуровни АТ и БС после получения от своих МАС-подуровней примитивов "Подтверждение завершения работы службы МАС" (см. 5.5.4.3.1.6, таблица 19) заканчивают процедуру "Завершение соединения ОДп-подуровня по инициативе БС" и освобождают ресурсы, выделенные для поддержки связи со своими МАС-подуровнями.

5.9.7.3 Процедура "Завершение соединения МАС-подуровней"

Есть два типа процедур "Завершение соединения МАС-подуровней":

1 Нормальное завершение, когда МАС-подуровень определяет, что все поддерживаемые им соединения на ОДп/ОРп-подуровнях завершены. В таких ситуациях процедура завершения соединения MAC может инициироваться как со стороны БС, так и со стороны АТ;

2 Аварийное завершение, когда качество связи по радиоканалу опускается ниже порога, определяющего возможность поддержки МАС-соединения. В этом случае МАС-подуровень инициирует процедуру завершения МАС-соединения. Когда существуют соединения ОРп/ОДп-подуровней, поддерживаемые на основе завершаемого МАС-соединения, то после завершения соединения со стороны МАС-подуровней на соответствующие ОРп/ОДп-подуровни посылается примитив, информирующий об аварийном завершении соединения МАС-подуровней (см. 5.5.4.3.1.5, таблица 18).

5.9.7.3.1 Процедура "Завершение соединения МАС-подуровней по инициативе АТ"

Процедура "Завершение соединения МАС-подуровней по инициативе АТ" приведена на рисунке 58.


Рисунок 58 - Процедура "Завершение соединения МАС-подуровней по инициативе АТ"

Шаги процедуры "Завершение соединения МАС-подуровней по инициативе АТ":

Шаг <1>

- В случае принятия на АТ решения о разъединения* связи на МАС-подуровне МАС-подуровень АТ по трафиковому каналу (КПТ-каналу) передает на МАС-подуровень БС сообщение "Запрос завершения МАС-соединения" (см. 5.5.5.1.5.5.5, таблица 59) с указанием причины (см. 5.5.5.1.5.5.5, таблица 60). При этом МАС-подуровень АТ устанавливает таймер контроля попыток выполнения запроса завершения "" и устанавливает счетчик максимального числа повторных попыток запросов завершения "";

________________

* Текст документа соответствует оригиналу. - .

- если все попытки МАС-подуровня АТ передать сообщение "Запрос завершения МАС-соединения" заканчиваются неудачно (остаются без ответа со стороны МАС-подуровня БС), то МАС-подуровень АТ осуществляет завершение МАС-соединения непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <2>

- МАС-подуровень БС принимает по КПТ-каналу сообщение "Запрос завершения МАС-соединения" (см. 5.5.5.1.5.5.5, таблица 59) и передает в ответ на МАС-подуровень АТ сообщение "Команда завершения МАС-соединения" (см. 5.5.5.1.5.5.7, таблица 62), повторяя причину завершения (см. 5.5.5.1.5.5.5, таблица 60), принятую в запросе. При этом МАС-подуровень БС устанавливает таймер контроля попыток выполнения команды завершения "" и устанавливает счетчик максимального числа повторных попыток выполнения команды завершения "";

- если все попытки МАС-подуровня БС передать сообщение "Команда завершения МАС-соединения" заканчиваются неудачно (остаются без ответа со стороны МАС-подуровня АТ), МАС-подуровень БС осуществляет завершение МАС-соединения непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <3>

- МАС-подуровень АТ, приняв сообщение "Команда завершения МАС-соединения" (см. 5.5.5.1.5.5.7, таблица 62), посылает по КПТ-каналу на МАС-подуровень БС ответное сообщение "Подтверждение завершения МАС-соединения" (см. 5.5.5.1.5.5.6, таблица 61) и производит освобождение ресурсов, поддерживавших указанное МАС-соединение на стороне АТ;

- МАС-подуровень БС после приема по КПТ-каналу сообщения "Подтверждение завершения МАС-соединения" (см. 5.5.5.1.5.5.6, таблица 61) производит освобождение ресурсов, поддерживавших указанное МАС-соединение на стороне БС.

5.9.7.3.2 Процедура "Завершение соединения МАС-подуровней по инициативе БС"

Процедура "Завершение соединения МАС-подуровней по инициативе БС" приведена на рисунке 59.


Рисунок 59 - Процедура "Завершение соединения МАС-подуровней по инициативе БС"

Шаги процедуры "Завершение соединения МАС-подуровней по инициативе БС":

Шаг<1>

- В случае принятия на БС решения о разъединения* связи на МАС-подуровне МАС-подуровень БС по трафиковому каналу (КПТ-каналу) передает на МАС-подуровень АТ сообщение "Команда завершения МАС-соединения" (см. 5.5.5.1.5.5.7, таблица 62) с указанием причины (см. 5.5.5.1.5.5.5, таблица 60). При этом МАС-подуровень БС устанавливает таймер контроля попыток выполнения команды завершения "" и устанавливает счетчик максимального числа повторных попыток выполнения команды завершения "";

________________

* Текст документа соответствует оригиналу. - .

- если все попытки МАС-подуровня БС передать сообщение "Команда завершения МАС-соединения" заканчиваются неудачно (остаются без ответа со стороны МАС-подуровня АТ), то МАС-подуровень БС осуществляет завершение МАС-соединения непосредственно на своей стороне без дополнительных сопровождающих действий.

Шаг <2>

- МАС-подуровень АТ, приняв сообщение "Команда завершения МАС-соединения" (см. 5.5.5.1.5.5.7, таблица 62), посылает по КПТ-каналу на МАС-подуровень БС ответное сообщение "Подтверждение завершения МАС-соединения" (см. 5.5.5.1.5.5.6, таблица 61) и производит освобождение ресурсов, поддерживавших указанное МАС-соединение на стороне АТ;

- МАС-подуровень БС после приема по КПТ-каналу сообщения "Подтверждение завершения МАС-соединения" (см. 5.5.5.1.5.5.6, таблица 61) производит освобождение ресурсов, поддерживавших указанное МАС-соединение на стороне БС.

5.9.8 Процедура "Хэндовер"

Процедура "Хэндовер" приведена на рисунке 60.


Рисунок 60 - Процедура "Хэндовер"

Шаги процедуры "Хэндовер":

Шаг <1> В процессе обмена данными с обслуживающей БС абонентский терминал (АТ) определяет необходимость выполнения операции "Хэндовер" (операции перехода) на другую БС, которая далее называется "Целевая БС".

Шаг <2> Верхний уровень (L3) АТ посылает на МАС-подуровень АТ примитив "Запрос хэндовера к МАС-подуровню" (см. 5.5.4.2.2, таблица 12), содержащий в поле "Туре" признак "Установка соединения на МАС-подуровне с "Целевой БС". Это сообщение активирует процедуру "Зондирование хэндовера" для "Целевой БС".

Шаг <3> МАС-подуровень АТ получает примитив "Запрос хэндовера к МАС-подуровню" (см. 5.5.4.2.2, таблица 12), после чего передает по ЗД-каналу на МАС-подуровень "Целевой БС" сообщение "Запрос зондирования хэндовера" (см. 5.5.5.1.2.2.5, таблица 41), одновременно с этим устанавливает таймер контроля попыток выполнения зондирования хэндовера "" и устанавливает счетчик максимального числа повторных попыток выполнения зондирования хэндовера "";

- если на сообщение "Запрос зондирования хэндовера" принят отказ (или число попыток его передачи без подтверждения достигло порога ""), то МАС-подуровень АТ отправляет на верхний уровень (L3) АТ примитив "Подтверждение хэндовера от МАС-подуровня" с признаком неуспешного завершения (см. 5.5.4.2.3, таблица 13, поле "Probe_Result" содержит отказ).

Шаг <4> МАС-подуровень "Целевой БС" после приема по ЗД-каналу сообщения "Запрос зондирования хэндовера" сразу передает по ОЗД-каналу на МАС-подуровень АТ ответное сообщение "Ответ на зондирование хэндовера" (см. 5.5.5.1.3.2.3, таблица 46). В поле "Result" в указанном ответном сообщении размещается информация: принят запрос на хэндовер или отклонен.

Шаг <5>

- При приеме по ОЗД-каналу сообщения "Ответ на зондирование хэндовера" (см. 5.5.5.1.3.2.3, таблица 46) МАС-подуровень АТ посылает информацию о результате на верхний уровень (L3) АТ. Для этого используется примитив "Подтверждение хэндовера от МАС-подуровня" (см. 5.5.4.2.3, таблица 13);

- верхний уровень (L3) АТ выполняет действия, соответствующие результату процедуры "Зондирование хэндовера", переданному от "Целевой БС" и доставленному МАС-подуровнем АТ с помощью примитива "Подтверждение хэндовера от МАС-подуровня" (см. 5.5.4.2.3, таблица 13).

Шаг <6>

- Если сообщение "Ответ на зондирование хэндовера" содержит подтверждение, то МАС-подуровень АТ передает по ЗД-каналу на МАС-подуровень "Целевой БС" сообщение "Хэндовер" (см. 5.5.5.1.2.2.6, таблица 42) и одновременно с этим устанавливает таймер контроля попыток выполнения хэндовера "" и устанавливает счетчик максимального числа повторных попыток выполнения хэндовера "";

- если все попытки МАС-подуровня АТ передать сообщение "Хэндовера" оказываются неудачными (остаются без ответа со стороны МАС-подуровня "Целевой БС" или происходит прием ответного сообщения "Конфигурация радиоканала" с признаком отклонения операции, содержащимся в поле "Result"), то МАС-подуровень АТ отправляет на верхний уровень (L3) АТ примитив "Подтверждение хэндовера от МАС-подуровня" с признаком неуспешного завершения процедуры "Хэндовер" (см. 5.5.4.2.3, таблица 13, поле "Probe_Result" содержит отказ). Верхний уровень (L3) АТ при получении данного примитива освобождает ресурсы, выделенные для организации соединения с "Целевой БС".

Шаг <7>

- Как только МАС-подуровень "Целевой БС" принимает по ЗД-каналу сообщение "Хэндовер" (см. 5.5.5.1.2.2.6, таблица 42), он передает по ОЗД-каналу на МАС-подуровень АТ сообщение "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45), содержащее назначения полосы и параметров радиоканала для АТ. Одновременно с этим МАС-подуровень "Целевой БС" выделяет на своей стороне ресурсы МАС-подуровня, посредством которых будет поддерживаться соединение с МАС-подуровнем АТ в формируемом радиоканале;

- после приема по ОЗД-каналу сообщения "Конфигурация радиоканала" (см. 5.5.5.1.3.2.2, таблица 45), содержащего данные о назначении полосы радиоканала, МАС-подуровень АТ создает соединение с МАС-подуровнем БС (см. 5.9.3) с назначенной полосой.

Шаг <8> АТ одновременно поддерживает соединение высшего уровня с обслуживающей (исходной) БС и с "Целевой БС".

Шаг <9>

- МАС-подуровень АТ получает от верхнего уровня AT (L3) примитив "Запрос хэндовера к МАС-подуровню" (см. 5.5.4.2.2, таблица 12), содержащий в поле "Туре" признак "Разрыв соединения на МАС-подуровне с исходной (обслуживающей) БС";

- после этого МАС-подуровень АТ инициирует процедуру "Завершение соединения МАС-подуровней по инициативе АТ" с обслуживающей БС (см. 5.9.7.3.1).

Шаг <10> Процедура "Завершение соединения МАС-подуровней по инициативе АТ" описана в 5.9.7.3.1.

Шаг <11>

- "Целевая БС" становится обслуживающей БС;

- АТ продолжает передачу данных через новую обслуживающую БС, которая в процедуре "Хэндовер" фигурировала как "Целевая БС".

5.9.9 Энергосберегающий режим

Энергосберегающий режим - одна из важных опций АТ, позволяющая сберегать энергетические ресурсы.

Для осуществления режима энергосбережения абонентское оборудование вводят в пассивный режим (режим ожидания).

Пассивный режим (режим ожидания) в зависимости от различных условий может быть двух видов: пассивный режим 1 и пассивный режим 2.

5.9.9.1 Пассивный режим 1

Абонентское оборудование автоматически переходит в пассивный режим 1, когда АТ не может обнаружить БС для привязки после сканирования всего доступного диапазона частот [МАС-подуровень не получает от физического уровня примитива "Синхронизация на физическом уровне" с индикацией в поле "Flag" успешного результата синхронизации (см. 5.5.4.4.1.1, таблица 23)]. АТ в пассивном режиме 1 периодически, с интервалом , "просыпается" для сканирования частотного диапазона в поисках БС для привязки.

5.9.9.2 Пассивный режим 2

Если после завершения процедуры регистрации АТ на БС (см. 5.10.1, рисунок 62) в течение не происходит активных действий, направленных на АТ, то АТ может запросить переход на работу в пассивном режиме 2. Процедура "Переход в пассивный режим 2" приведена на рисунке 61.


Рисунок 61 - Процедура "Переход в пассивный режим 2"

Шаги процедуры "Переход в пассивный режим 2":

Шаг <1>

- МАС-подуровень АТ отправляет по ЗД-каналу на МАС-подуровень БС сообщение "Запрос на установку пассивного режима" (см. 5.5.5.1.2.2.7, таблица 43), запрашивая переход абонентского оборудования на работу в пассивном режиме 2. При этом МАС-подуровень АТ устанавливает таймер контроля попыток входа в пассивный режим 2 "" и счетчик максимального числа попыток входа в пассивный режим 2 "";

- в случае завершения всех "" попыток запроса без ответа (или в случае отрицательного ответа со стороны МАС-подуровня БС) АТ остается в активном состоянии (не переходит в пассивный режим).

Шаг <2>

- МАС-подуровень БС после приема по ЗД-каналу сообщения "Запрос на установку пассивного режима" (см. 5.5.5.1.2.2.7, таблица 43) выносит решение: разрешить или отклонить переход АТ в пассивный режим 2. Далее МАС-подуровень БС отправляет по ОЗД-каналу на МАС-подуровень АТ сообщение "Ответ на запрос установки пассивного режима" (см. 5.5.5.1.3.2.4, таблица 47), содержащий в поле "Result" информацию о принятом решении. В случае положительного решения сообщение "Ответ на запрос установки пассивного режима" содержит в своих полях параметры организации пассивного режима (номер стартового кадра, номер тайм-слота, интервал периодической активации и т.д. (см. 5.5.5.1.3.2.4, таблица 47);

- МАС-подуровень АТ получает сообщение "Ответ на запрос установки пассивного режима" (см. 5.5.5.1.3.2.4, таблица 47). После этого в случае подтверждения запроса АТ переходит на работу в пассивном режиме 2 в соответствии с параметрами, установленными БС.

5.10 Доступ к сети и инициализация

5.10.1 Процесс доступа и инициализации

Процедура "Доступ к сети и инициализация" приведена на рисунке 62.

В процедуру входят:

- процесс начальной загрузки АТ;

- сканирование и процесс синхронизации;

- процесс создания канала обмена данными для регистрации и аутентификации;

- обмен информацией о регистрации и аутентификации.


Рисунок 62 - Процедура "Доступ к сети и инициализация"

5.10.2 Сканирование радиоканала "вниз" (DL) и синхронизация

Путем сканирования радиоканала "вниз" (DL) и выполнения процедуры синхронизации абонентское оборудование определяет подходящую для использования группу поднесущих частот (ГПЧ).

________________

Описание процесса сканирования каналов и синхронизации на физическом уровне в данном стандарте не приводится.

После того как на физическом уровне процесс сканирования и синхронизации завершен, физический уровень АТ направляет на МАС-подуровень АТ примитив "Синхронизация на физическом уровне" (см. 5.5.4.4.1.1, таблица 23). В случае положительного результата это означает, что физический уровень завершил процесс синхронизации. МАС-подуровень АТ при таком результате начинает принимать по ВК-каналу широковещательные сообщения "Блок системной информации-1/2/3/4" (см. 5.5.5.1.1.2, таблица 28, 5.5.5.1.1.3.2-5.5.5.1.1.3.5, таблицы 30-33).

5.10.3 Принимаемые широковещательные сообщения

После того как МАС-подуровень АТ получает примитив, подтверждающий установку синхронизации на физическом уровне (см. 5.5.4.4.1.1, таблица 23), он (МАС-подуровень АТ) запускает таймер и начинает прием системных широковещательных сообщений "Блок системной информации-1/2/3/4" (см. 5.5.5.1.1.2, таблица 28, 5.5.5.1.1.3.2-5.5.5.1.1.3.5, таблицы 30-33). МАС-подуровень АТ непрерывно контролирует вещательный канал (ВК-канал). Когда МАС-подуровень АТ в результате приема получает полный комплект из четырех широковещательных сообщений ("Блок системной информации-1/2/3/4"), он запускает процедуру коррекции задержки "ЗКЗ-процедуру" (см. 4.4.4).

Если за выделенный промежуток времени не удается принять все четыре системных широковещательных сообщения, то МАС-подуровень АТ посылает на физический уровень команду повторной установки синхронизации (на прием) с БС.

5.10.4 Коррекция задержки

После успешного завершения процесса синхронизации на прием с БС (см. 5.5.4.4.1.1, таблица 23) АТ запускает "ЗКЗ-процедуру" (коррекции задержки распространения) (см. 4.4.4 и 5.9.2). После завершения "ЗКЗ-процедуры" МАС-подуровень АТ посылает на верхний подуровень примитив "Индикация установки синхронизации от МАС-подуровня" (см. 5.5.4.2.1, таблица 11). Верхний подуровень (L3) АТ начинает процедуру регистрации/аутентификации.

5.10.5 Регистрация/аутентификация

Верхний подуровень (L3) АТ начинает процесс регистрации/аутентификации. Для этого ОДп-подуровень АТ устанавливает соединение с ОДп-подуровнем БС (см. 5.9.5.2.1), при этом на начальном этапе по ЗД и ОЗД каналам устанавливается соединение между АТ и БС на МАС-подуровнях так, как описано в 5.9.3.

После организации канала связи между ОДп-подуровнями по нему осуществляется обмен сообщениями регистрации/аутентификации, сформированными верхними уровнями БС и АТ.

________________

Интерактивный обмен сообщениями регистрации/аутентификации на верхних уровнях между АТ и БС в данном стандарте не приводится.

Приложение А

Последовательности физического уровня

Скрембинг-последовательность

0xFF4A6C0886B19F11FB421B057F971346B462EDBA0728BB1746449D6791DC1005CE4AA3FDEE21654ВСС

EE5090099C3248BDFA87B019DD0C79ED9523B2BD8A20020365E9FD728467F1D17D79D94C8E49E9CCEBAB1D79

2CFEB36E684A9C0C28A7276A56053AE9E4247472B80E047014DF8D21EB2B05B2F24BA734ACA4A65E031189EDE

0C3BC38BFF54B0E97AE3919F9AE1С425В7315974Е123С19АВ013В192474213A30461A7A0743C488B3C955F18D2

CA2EDCE93D6CD3586ED894F26EA4FE5EE24

Последовательности преамбул

Последовательности преамбул приведены в таблице А.1.

Таблица А.1 - Последовательности преамбул

БС ID

Преамбула

0

1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1

1

1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1

2

-1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1

3

1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1

4

1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1

5

-1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1

6

-1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1

7

1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1

8

1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1

9

-1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1

10

1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1

11

1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1

12

1,-1,-1,-1, 1, 1,-1,-1,-1,-1, 1,-1, 1, 1, 1, 1, 1, 1,-1, 1,-1, 1,-1,-1, 1,-1, 1,-1,-1, 1, 1,-1, 1,-1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1

13

1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1

14

1, 1, 1, 1,-1,-1, 1,-1,-1, 1,-1, 1, 1,-1, 1,-1,-1, 1,-1, 1, 1, 1, 1, 1, 1,-1, 1, 1,-1,-1,-1, 1, 1,-1,-1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1

15

-1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1

Последовательности запроса коррекции задержки (ЗКЗ)

Последовательности запросов коррекции задержки (ЗКЗ) приведены в таблице А.2.

Таблица А.2 - Последовательности ЗКЗ

БС ID

ЗКЗ ID

Последовательность ЗКЗ

0

0

-1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1

1

1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1

2

1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1

3

-1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1

4

-1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1

5

1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1

6

1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1

7

1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1

8

-1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1

9

1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1

10

1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1

11

1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1

12

-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1

13

1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1

14

1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1

15

-1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1

16

1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1

17

1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1

18

-1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1

19

-1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1

20

-1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1

21

1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1

22

1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1

23

-1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1

1

0

-1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1

1

1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1

2

1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1

3

-1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1

4

-1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1

5

1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1

6

1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1

7

1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1

8

-1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1

9

-1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1

10

-1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1

11

1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1

12

-1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1

13

1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1

14

1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1

15

-1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1

16

-1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1

17

1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1

18

-1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1

19

1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1

20

1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1

21

-1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1

22

1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1

23

1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1

2

0

1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1

1

1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1

2

1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1

3

-1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1

4

-1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1

5

-1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1

6

1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1

7

-1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1

8

-1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1

9

-1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1

10

1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1

11

1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1

12

-1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1

13

1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1

14

-1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1

15

-1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1

16

1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1

17

1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1

18

-1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1

19

-1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1

20

-1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1

21

-1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1

22

-1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1

23

1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1

3

0

1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1

1

1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1

2

-1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1

3

-1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1

4

-1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1

5

1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1

6

1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1

7

-1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1

8

-1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1

9

1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1

10

1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1

11

1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1

12

1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1

13

-1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1

14

-1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1

15

1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1

16

1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1

17

1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1

18

-1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1

19

-1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1

20

1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1

21

-1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1

22

-1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1

23

1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1

4

0

-1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1

1

1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1

2

-1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1

3

1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1

4

1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1

5

1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1

6

-1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1

7

-1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1

8

-1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1

9

-1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1

10

1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1

11

-1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1

12

1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1

13

1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1

14

-1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1

15

-1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1

16

1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1

17

-1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1

18

-1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1

19

1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1

20

1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1

21

-1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1

22

1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1

23

-1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1

5

0

-1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1

1

1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1

2

-1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1

3

-1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1

4

-1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1

5

1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1

6

1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1

7

-1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1

8

1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1

9

1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1

10

1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1

11

1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1

12

1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1

13

-1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1

14

-1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1

15

1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1

16

-1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1

17

-1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1

18

-1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1

19

1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1

20

1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1

21

1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1

22

1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1

23

1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1

6

0

1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1

1

-1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1

2

1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1

3

1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1

4

1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1

5

-1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1

6

-1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1

7

1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1

8

-1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1

9

-1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1

10

-1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1

11

-1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1

12

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1

13

-1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1

14

1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1

15

1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1

16

1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1

17

-1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1

18

1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1

19

1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1

20

1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1

21

-1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1

22

1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1

23

-1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1

7

0

-1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1

1

-1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1

2

1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1

3

1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1

4

-1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1

5

-1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1

6

-1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1

7

-1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1

8

1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1

9

1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1

10

1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1

11

-1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1

12

-1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1

13

-1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1

14

-1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1

15

-1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1

16

1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1

17

1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1

18

-1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1

19

-1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1

20

-1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1

21

-1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1

22

-1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1,

23

1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1

8

0

1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1

1

-1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1

2

-1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1

3

1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1

4

1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1

5

-1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1

6

1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1

7

1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1

8

-1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1

9

,* -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1

________________

* Текст документа соответствует оригиналу. - .

10

1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1

11

-1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1

12

-1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1

13

1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1

14

-1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1

15

1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1

16

1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1

17

1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1

18

-1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1

19

1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1

20

-1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1

21

1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1

22

1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1

23

-1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1

9

0

1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1

1

1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1

2

-1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1

3

1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1

4

1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1

5

1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1

6

1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1

7

1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1

8

-1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1

9

1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1

10

-1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1

11

1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1

12

-1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1

13

1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1

14

1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1

15

1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1

16

-1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1

17

1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1

18

1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1

19

-1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1

20

1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1

21

1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1

22

1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1

23

-1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1

10

0

-1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1

1

-1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1

2

-1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1

3

-1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1

4

1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1

5

-1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1

6

1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1

7

1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1

8

1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1

9

1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1

10

1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1

11

1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1

12

1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1

13

1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1

14

-1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1

15

-1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1

16

1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1

17

1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1

18

1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1

19

1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1

20

-1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1

21

1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1

22

-1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1

23

-1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1

11

0

1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1

1

-1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1

2

1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1

3

1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1

4

-1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1

5

1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1

6

-1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1

7

1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1

8

-1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1

9

1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1

10

1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1

11

1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1

12

-1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1

13

-1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1

14

1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1

15

-1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1

16

-1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1

17

-1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1

18

1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1

19

-1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1

20

1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1

21

-1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1

22

-1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1

23

1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1

12

0

1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1

1

1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1

2

-1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1

3

-1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1

4

-1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1

5

1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1

6

-1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1

7

1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1

8

-1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1

9

1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1

10

-1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1

11

-1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1

12

-1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1

13

-1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1

14

-1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1

15

-1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1

16

-1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1

17

1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1

18

1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1

19

1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1

20

-1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1

21

1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1

22

-1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1

23

1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1

13

0

1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1

1

1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1

2

-1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1

3

-1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1

4

-1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1

5

-1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1

6

-1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1

7

-1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1

8

-1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1

9

-1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1

10

-1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1

11

-1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1

12

-1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1

13

1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1

14

1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1

15

1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1

16

1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1

17

-1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1

18

1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1

19

-1, -1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1

20

1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1

21

-1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1

22

-1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1

23

1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1

14

0

-1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1

1

-1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1

2

-1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1

3

1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1

4

1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1

5

1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1

6

-1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1

7

1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1

8

1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1

9

-1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1

10

1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1

11

-1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1

12

-1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1

13

1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1

14

-1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1

15

1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1

16

-1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1

17

-1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1

18

-1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1

19

-1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1

20

-1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, -1

21

-1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1

22

-1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1

23

1, -1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1

15

0

1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1

1

-1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1

2

-1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1

3

1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1

4

1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1

5

-1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1

6

-1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1

7

1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1

8

-1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1

9

1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1

10

-1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1

11

1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1

12

1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1

13

-1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1

14

-1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, -1

15

-1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1

16

1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1

17

-1, -1, -1, 1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1

18

1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1

19

-1, 1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1

20

1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1

21

1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1

22

-1, -1, -1, 1, 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1

23

-1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1

Последовательности пилот-сигнала

Последовательности пилот-сигнала приведены в таблице А.3.

Таблица А.3 - Последовательности пилот-сигнала

БС ID

Пилот-последовательность

0

0.2140-0.9768j, 0.4543-0.8909j, 0.8177-0.5757j, 0.9901-0.1406j, 0.9614-0.2751j, 0.9860+0.1666j, 0.9401+0.3409j, 0.9047+0.4260j, 0.9223+0.3864j, 0.8346+0.5508j, 0.7273+0.6864j, 0.9493+0.3143j, 0.8931+0.4498j, 0.9401+0.3409j , 0.9901+0.1404j, 0.9797-0.2003j, 0.9510-0.3091j, 0.9046-0.4262j, 0.3844-0.9232j, 0.2398-0.9708j, -0.1748-0.9846j, -0.6303-0.7763j, -0.9696-0.2446j, -0.9865+0.1639j, -0.8310+0.5563j, 0.0543+0.9985j, 0.4846+0.8748j, 0.9401+0.3409j, 0.8971-0.4418j, 0.1715-0.9852j, -0.5130-0.8584j, -0.9530-0.3028j, -0.5177+0.8556j, 0.2052+0.9787j, 0.9401+0.3409j, 0.7271-0.6866j, -0.4133-0.9106j, -0.9910-0.1341j, -0.6301+0.7765j, 0.8145+0.5801j, 0.9085-0.4178j, -0.1748-0.9846j, -1.0000+0.0088j, -0.0227+0.9997j, 0.9599+0.2803j, 0.5073-0.8618j, -0.9856-0.1693j, -0.3818+0.9242j, 0.9401+0.3409j, 0.2140-0.9768j, -0.9986+0.0520j, 0.0897+0.9960j, 0.9901-0.1406j, -0.7189-0.6951j, -0.6373+0.7707j, 0.9401+0.3409j, -0.0835-0.9965j, -0.7958+0.6056j, 0.8346+0.5508j, 0.2308-0.9730j, -0.7468+0.6650j, 0.8931+0.4498j, -0.1748-0.9846j, -0.6166+0.7873j, 0.9797-0.2003j, -0.7432-0.6691j, -0.0832+0.9965j, 0.3844-0.9232j, -0.9606+0.2778j, 0.9401+0.3409j, -0.6303-0.7763j, 0.2730+0.9620j, 0.3513-0.9363j, -0.8310+0.5563j, 0.8376-0.5463j, -0.9998-0.0177j, 0.9401+0.3409j, -0.8312-0.5560j, 0.7675+0.6411j, -0.5130-0.8584j, 0.2142+0.9768j, -0.4821-0.8761j, 0.2052+0.9787j, -0.1748-0.9846j, 0.2311+0.9729j, -0.4133-0.9106j, 0.3793+0.9253j, -0.3574-0.9339j, 0.8145+0.5801j, -0.8161-0.5779j,

0.9401+0.3409j, -1.0000+0.0088j, 0.8772-0.4802j, -0.7227+0.6911j, 0.5073-0.8618j, 0.3462+0.9382j, -0.6095-0.7928j, 0.9401+0.3409j, -0.9529+0.3031j, 0.4543-0.8909j, 0.0897+0.9960j, -0.6168-0.7871j, 0.9614-0.2751j, -0.6373+0.7707j, -0.1748-0.9846j, 0.9047+0.4260j, -0.7958+0.6056j, 0.0597-0.9982j, 0.7273+0.6864j, -0.7468+0.6650j, -0.0570-0.9984j, 0.9401+0.3409j, -0.6166+0.7873j, -0.6633-0.7483j, 0.9510-0.3091j, -0.0832+0.9965j, -0.9917+0.1287j, 0.2398-0.9708j, 0.9401+0.3409j, -0.3572+0.9340j, -0.9696-0.2446j, 0.3513-0.9363j, 0.8973+0.4415j, 0.0543+0.9985j, -0.9998-0.0177j, -0.1748-0.9846j, 0.8971-0.4418j, 0.7675+0.6411j

1

-0.8587-0.5124j, 0.9999-0.0167j, -0.9474+0.3201j, 0.5223-0.8528j, 0.7620+0.6475j, -0.9989+0.0465j, -0.4549-0.8905j, 0.6907-0.7232j, 0.0914+0.9958j, -0.6441-0.7649j, 0.9924-0.1234j, 0.2648+0.9643j, -0.9682-0.2500j, -0.4549-0.8905j, 0.4468-0.8946j, 0.6365+0.7713j, -0.9996+0.0266j, 0.2477-0.9688j, 0.9814-0.1920j, -0.0283+0.9996j, -0.5438+0.8392j, -0.9360+0.3519j, -0.2388-0.9711j, 0.9925+0.1226j, -0.1005+0.9949j, -0.8009+0.5988j, -0.6592-0.7520j, -0.4549-0.8905j, -0.1348-0.9909j, 0.9505-0.3107j, 0.2484+0.9687j, -0.8406+0.5417j, -0.9990+0.0436j, -0.4082-0.9129j, -0.4549-0.8905j, -0.4208-0.9071j, 0.6103-0.7922j, 0.9122+0.4097j, 0.1972+0.9804j, -0.0312+0.9995j, -0.7992+0.6011j, -0.5438+0.8392j, -0.3085+0.9512j, -0.8936+0.4489j, -0.8410-0.5411j, -0.3411-0.9400j, -0.4056-0.9140j, 0.1770-0.9842j, -0.4549-0.8905j, -0.8587-0.5124j, -0.5144-0.8575j, 0.1965-0.9805j, 0.5223-0.8528j, 0.1798-0.9837j, 0.4592-0.8883j, -0.4549-0.8905j, -0.9716-0.2366j, -0.9081-0.4187j, -0.6441-0.7649j, -0.6030-0.7977j, -0.9675-0.2528j, -0.9682-0.2500j, -0.5438+0.8392j, 0.5513+0.8343j, 0.6365+0.7713j, 0.5229+0.8524j, 0.7152+0.6989j, 0.9814-0.1920j, 0.8798-0.4753j, -0.4549-0.8905j, -0.9360+0.3519j, -0.7216+0.6923j, -0.6024+0.7982j, -0.1005+0.9949j, 0.9190+0.3942j, 0.9808-0.1949j, -0.4549-0.8905j, -0.7907+0.6121j, -0.2062+0.9785j, 0.2484+0.9687j, 0.8894+0.4571j, 0.4617-0.8870j, -0.4082-0.9129j, -0.5438+0.8392j, 0.9960+0.0891j, 0.6103-0.7922j, -0.1013-0.9949j, -0.9476-0.3194j, -0.0312+0.9995j, 0.9202+0.3915j, -0.4549-0.8905j, -0.3085+0.9512j, 0.8356+0.5494j, 0.8891-0.4577j, 0.3411-0.9400j, -0.5888+0.8083j, 0.7639+0.6454j, -0.4549-0.8905j, -0.0144+0.9999j, 0.9999-0.0167j, 0.1965-0.9805j, -0.9997-0.0259j, 0.7620+0.6475j, 0.4592-0.8883j, -0.5438+0.8392j, 0.6907-0.7232j, -0.9081-0.4187j, -0.3404+0.9403j, 0.9924-0.1234j, -0.9675-0.2528j, 0.2676+0.9635j, -0.4549-0.8905j, 0.5513+0.8343j, 0.3497-0.9369j, -0.9996+0.0266j, 0.7152+0.6989j, -0.6570-0.7539j, -0.0283+0.9996j, -0.4549-0.8905j, 0.7728+0.6347j, -0.2388-0.9711j, -0.6024+0.7982j, 0.9119-0.4104j, -0.8009+0.5988j, 0.9808-0.1949j, -0.5438+0.8392j, -0.1348-0.9909j, -0.2062+0.9785j

2

0.5553+0.8316j, -0.6403-0.7682j, 0.6558+0.7549j, -0.5212-0.8535j, 0.4685+0.8835j, -0.4408-0.8976j, 0.9836+0.1806j, -0.9344+0.3563j, 0.7182-0.6959j, -0.4631+0.8863j, 0.3423-0.9396j, -0.1105+0.9939j, -0.1567-0.9876j, 0.9836+0.1806j, -0.7878+0.6159j, 0.2014-0.9795j, 0.4042+0.9147j, -0.7496-0.6619j, 0.9829+0.1845j, -0.9280+0.3726j, -0.3353-0.9421j, 0.9964+0.08435j, -0.6064+0.7951j, -0.2633-0.9647j, 0.8399+0.5428j, -0.9656+0.2602j, 0.4269-0.904j, 0.9836+0.1806j, -0.3040+0.953j, -0.8382-0.5453j, 0.8018-0.5976j, 0.09927+0.9951j, -0.9444-0.3289j, 0.6745-0.7383j, 0.9836+0.1806j, -0.0096+0.9999j, -0.9998+0.02164j, 0.03275-0.9995j, 0.9626+0.2711j, -0.3986+0.9171j, -0.8699-0.4933j, -0.3353-0.9421j, 0.6872-0.7264j, 0.9102+0.4143j, -0.1813+0.9834j, -0.9922-0.1246j, -0.0388-0.9992j, 0.9732-0.2300j, 0.9836+0.1806j, 0.5553+0.8316j, -0.3451+0.9386j, -0.9817+0.1905j, -0.5212-0.8535j, 0.5308-0.8475j, 0.9977+0.0670j, 0.9836+0.1806j, 0.7758+0.6310j, 0.2436+0.9699j, -0.4631+0.8863j, -0.9849+0.1733j, -0.8055-0.5927j, -0.1567-0.9876j, -0.3353-0.9421j, -0.1395-0.9902j, 0.2014-0.9795j, 0.5901-0.8073j, 0.9480-0.3182j, 0.9829+0.1845j, 0.7866+0.6174j, 0.9836+0.1806j, 0.9964+0.08441j, 0.9918+0.1276j, 0.9671+0.2543j, 0.8399+0.5428j, 0.7081+0.7061j, 0.5697+0.8219j, 0.9836+0.1806j, 0.9770-0.2131j, 0.8914-0.4533j, 0.8018-0.5976j, 0.8121-0.5835j, 0.7570-0.6534j, 0.6745-0.7383j, -0.3353-0.9421j, -0.8612-0.5083j, -0.9998+0.02164, -0.8819+0.4714, -0.7161+0.6980j, -0.3986+0.9171j, 0.0077+1.0000j, 0.9836+0.1806j, 0.6872-0.7264j, -0.0963-0.9954j, -0.7610-0.6487j, -0.9922-0.1246j, -0.8460+0.5333j, -0.2874+0.9578j, 0.9836+0.1806j, 0.4426-0.8967j, -0.6403-0.7682j, -0.9817+0.1905j, -0.4785+0.8781j, 0.4685+0.8835j, 0.9977+0.06702j, -0.3353-0.9421j, -0.9344+0.3563j, 0.2436+0.9699j, 0.9991-0.04205j, 0.3423-0.9396j, -0.8055-0.5927j, -0.7770+0.6295j, 0.9836+0.1806j, -0.1395-0.9902j, -0.9490+0.3154j, 0.4042+0.9147j, 0.9480-0.3182j, -0.3316-0.9434j, -0.9280+0.3725j, 0.9836+0.1806j, -0.4252-0.9051j, -0.6064+0.7951j, 0.9671+0.254j, 0.0501-0.9988j, -0.9656+0.2602j, 0.5697+0.8219j, -0.3353-0.9421j, -0.3040+0.9527j, 0.8914-0.4533j

3

0.7214-0.6925j, -0.9513+0.3083j, 0.7025+0.7117j, 0.5269-0.8499j, -0.9732+0.2301j, 0.8878+0.4603j, -0.8825-0.4704j, 0.5146+0.8574j, -0.3785-0.9256j, -0.4058+0.9140j, 0.9930-0.1180j, -0.9337-0.3580j, 0.7127+0.7015j, -0.8825-0.4704j, 0.7445+0.6676j, -0.8341-0.5516j, 0.4615+0.8871j, 0.2530-0.9675j, -0.4268+0.9043j, 0.5253-0.8509j, 0.0339+0.9994j, -0.0917-0.9958j, 0.5122+0.8589j, -0.3242-0.9460j, -0.1059+0.9944j, -0.0078-1.0000j, 0.1937+0.9811j, -0.8825-0.4704j, 0.9912+0.1322j, -0.8182+0.5750j, 0.7622-0.6474j, -0.8435+0.5371j, 0.5568-0.8306j, -0.1041+0.9946j, -0.8825-0.4704j, 0.9862-0.1658j, -0.3521+0.9360j, -0.0309-0.9995j, 0.1919+0.9814j, -0.7867-0.6174j, 0.9928-0.1198j, 0.0339+0.9994j, -0.8357-0.5492j, 0.7233-0.6905j, -0.1184+0.9930j, -0.3360-0.9419j, 0.9766+0.2149j, -0.6463+0.7631j, -0.8825-0.4704j, 0.7214-0.6925j, 0.7426+0.6697j, -0.9676+0.2526j, 0.5269-0.8499j, 0.6859+0.7277j,

-0.8425+0.5387j, -0.8825-0.4704j, 0.4852-0.8744j, 0.9908+0.1350j, -0.4058+0.9140j, -0.5987-0.8010j, 0.7769-0.6296j, 0.7127+0.7015j, 0.0339+0.9994j, -0.9504+0.3109j, -0.8341-0.5516j, 0.5375-0.8433j, 0.7114+0.7028j, -0.4268+0.9043j, -0.9996-0.0295j, -0.8825-0.4704j, -0.0917-0.9958j, 0.4877-0.8730j, 0.9813+0.1923j, -0.1059+0.9944j, -0.8621+0.5068j, -0.9465-0.3228j, -0.8825-0.4704j, -0.3811-0.9245j, -0.0888-0.9960j, 0.7622-0.6474j, 0.8869+0.4619j, 0.4409+0.8975j, -0.1041+0.9946j, 0.0339+0.9994j, -0.3495+0.9369j, -0.3521+0.9360j, -0.8501+0.5266j, -0.9459-0.3246j, -0.7867-0.6174j, -0.6002-0.7999j, 0.8825-0.4704j, -0.8357-0.5492j, -0.9597-0.2812j, -0.8007-0.5990j, -0.3360-0.9419j, -0.3022-0.9532j, -0.3377-0.9412j, -0.8825-0.4704j, -0.9604-0.2785j, -0.9513+0.3083j, -0.9676+0.2526j, -0.9995-0.0313j, -0.9732+0.2301j, -0.8425+0.5387j, 0.0339+0.9994j, 0.5146+0.8574j, 0.9908+0.1350j, 0.9944-0.1055j, 0.9930-0.1180j, 0.7769-0.6296j, 0.2512-0.9679j, -0.8825-0.4704j, -0.9504+0.3109j, -0.0606+0.9982j, 0.4615+0.8871j, 0.7114+0.7028j, 0.9966-0.0825j, 0.5253-0.8509j, -0.8825-0.4704j, -0.8165+0.5773j, 0.5122+0.8589j, 0.9813+0.1923j, 0.9141-0.4054j, -0.0078-1.0000j, -0.9465-0.3228j, 0.0339+0.9994j, 0.9912+0.1322j, -0.0888-0.9960j

4

-0.8519+0.5238j, 0.5478-0.8366j, -0.8929+0.4502j, 0.9989+0.0465j, -0.9623+0.2721j, 0.4237-0.9058j, -0.2956+0.9553j, -0.3211-0.9471j, 0.8752+0.4838j, -0.7453-0.6668j, 0.5865+0.8100j, -0.9484-0.3172j, 0.6719-0.7407j, -0.2956+0.9553j, -0.5860-0.8103j, 0.9956-0.0933j, -0.9860+0.1670j, 0.9682-0.2500j, -0.3872+0.9220j, -0.8716-0.4902j, 0.9751-0.2217j, -0.1216+0.9926j, -0.9375-0.3479j, 0.9998-0.0181j, -0.9202+0.3915j, -0.0512-0.9987j, 0.9724-0.2335j, -0.2956+0.9553j, -0.9406-0.3395j, 0.2769-0.9609j, 0.3822+0.9241j, -0.8798-0.4753j, 0.5203-0.8540j, 0.9980+0.0635j, -0.2956+0.9553j, -0.9989-0.0471j, -0.3125-0.9499j, 0.9608+0.2774j, -0.7639+0.6454j, -0.8127-0.5826j, -0.1602-0.9871j, 0.9751-0.2217j, 0.7002+0.7140j, -0.1306+0.9914j, -0.9087-0.4175j, 0.6592-0.7520j, 0.9850+0.1723j, 0.7888+0.6146j, -0.2956+0.9553j, -0.8519+0.5238j, -0.9984-0.0561j, 0.0566-0.9984j, 0.9989+0.0465j, 0.7168+0.6973j, 0.5726+0.8198j, -0.2956+0.9553j, -0.6596+0.7516j, -0.8566+0.5161j, -0.7453-0.6668j, 0.4082-0.9129j, 0.7489-0.6627j, 0.6719-0.7407j, 0.9751-0.2217j, 0.9948-0.1023j, 0.9956-0.0933j, 0.6376+0.7704j, -0.2676+0.9635j, -0.3872+0.9220j, 0.0113+0.9999j, -0.2956+0.9553j, -0.1216+0.9926j, 0.1675+0.9859j, -0.4842+0.8750j, -0.9202+0.3915j, -0.8393+0.5437j, -0.2840+0.9588j, -0.2956+0.9553j, 0.1763+0.9843j, 0.6937+0.7202j, 0.3822+0.9241j, 0.0283+0.9996j, 0.4794+0.8776j, 0.9980+0.0635j, 0.9751-0.2217j, 0.5403-0.8415j, -0.3125-0.9499j, -0.2402-0.9707j, -0.1770-0.9842j, -0.8127-0.5826j, -0.7748+0.6323j, -0.2956+0.9553j, 0.7002+0.7140j, 0.9239-0.3826j, 0.8159-0.5782j, 0.6592-0.7520j, -0.3433-0.9392j, -0.9267+0.3758j, -0.2956+0.9553j, 0.8795+0.4759j, 0.5478-0.8366j, 0.0566-0.9984j, -0.4592-0.8883j, -0.9623+0.2721j, 0.5726+0.8198j, 0.9751-0.2217j, -0.3211-0.9471j, -0.8566+0.5161j, -0.2048+0.9788j, 0.5865+0.8100j, 0.7489-0.6627j, -0.9774-0.2115j, -0.2956+0.9553j, 0.9948-0.1023j, -0.5786-0.8156j, -0.9860+0.1670j, -0.2676+0.9635j, 0.9921-0.1257j, -0.8716-0.4902j, -0.2956+0.9553j, 0.9204-0.3909j, -0.9375-0.3479j, -0.4842+0.8750j, 0.7992+0.6011j, -0.0512-0.9987j, -0.2840+0.9588j, 0.9751-0.2217j, -0.9406-0.3395j, 0.6937+0.7202j

5

0.9506-0.3105j, 0.9423-0.3348j, 0.1070-0.9943j, -0.0021-1.0000j, -0.6877-0.7260j, -0.9999+0.0166j, -0.8552+0.5183j, 0.0912+0.9958j, 0.4043+0.9146j, 0.9646-0.2637j, 0.7805-0.6251j, -0.1593-0.9872j, -0.9603-0.2789j, -0.8552+0.5183j, 0.3807+0.9247j, 0.8493+0.5280j, 0.3953-0.9186j, -0.2968-0.9550j, -0.9964+0.0850j, -0.0582+0.9983j, 0.8764+0.4815j, 0.3499-0.9368j, -0.5361-0.8442j, -0.5278+0.8494j, 0.4358+0.9001j, 0.8608-0.5089j, -0.6364-0.7714j, -0.8552+0.5183j, 0.8355+0.5496j, 0.8017-0.5977j, -0.9835-0.1810j, -0.4320+0.9019j, 0.9979+0.0644j, -0.3807-0.9247j, -0.8552+0.5183j, 0.9603+0.2789j, 0.3257-0.9455j, -0.7547+0.6561j, 0.6817+0.7316j, 0.1388-0.9903j, -0.8168+0.5770j, 0.8764+0.4815j, -0.5143-0.8576j, -0.7037+0.7105j, 0.8440-0.5363j, -0.7831-0.6219j, 0.3046+0.9525j, 0.2063-0.9785j, -0.8552+0.5183j, 0.9506-0.3105j, -0.7611-0.6486j, 0.8076+0.5898j, -0.0021-1.0000j, -0.2849+0.9586j, 0.4856-0.8742j, -0.8552+0.5183j, 0.8168-0.5769j, -0.9942-0.1072j, 0.9646-0.2637j, -0.9316-0.3634j, 0.9346+0.3557j, -0.9603-0.2789j, 0.8764+0.4815j, -0.9912-0.1326j, 0.8493+0.5280j, -0.9931+0.1170j, 0.9754+0.2205j, -0.9964+0.0850j, 0.8936-0.4488j, -0.8552+0.5183j, 0.3499-0.9368j, -0.4630+0.8863j, -0.4717-0.8817j, 0.4358+0.9001j, -0.8712-0.4910j, 0.9862-0.1654j, -0.8552+0.5183j, 0.0582-0.9983j, 0.1167+0.9932j, -0.9835-0.1810j, 0.9970-0.0768j, -0.5547+0.8320j, -0.3807-0.9247j, 0.8764+0.4815j, -0.7217+0.6922j, 0.3257-0.9455j, 0.9455+0.3255j, -0.9745+0.2246j, 0.1388-0.9903j, 0.9080+0.4189j, -0.8552+0.5183j, -0.5143-0.8576j, 0.9672+0.2542j, 0.0424+0.9991j, -0.7831-0.6219j, 0.6726-0.7400j, 0.7442+0.6679j, -0.8552+0.5183j, -0.7442-0.6679j, 0.9423-0.3348j, 0.8076+0.5898j, -0.8650+0.5018j, -0.6877-0.7260j, 0.4856-0.8742j, 0.8764+0.4815j, 0.0912+0.9958j, -0.9942-0.1072j, -0.7107-0.7035j, 0.7805-0.6251j, 0.9346+0.3557j, 0.2387+0.9711j, -0.8552+0.5183j, -0.9912-0.1326j, 0.0326-0.9995j, 0.3953-0.9186j, 0.9754+0.2205j, 0.5718+0.8204j, -0.0582+0.9983j, -0.8552+0.5183j, -0.9862+0.1654j, -0.5361-0.8442j, -0.4717-0.8817j, 0.5616-0.8274j, 0.8608-0.5089j, 0.9862-0.1654j, 0.8764+0.4815j, 0.8355+0.5496j, 0.1167+0.9932j

6

-0.0824+0.9966j, 0.0704+0.9975j, -0.3008+0.9537j, -0.8907+0.4546j, -0.9802+0.1979j, -0.7887-0.6148j, -0.8152-0.5792j, -0.9533-0.3021j, -0.9895+0.1448j, -0.9977+0.0684j, -0.9107-0.4130j, -0.9214-0.3887j, -0.5724-0.8200j, -0.8152-0.5792j, -1.0000-0.0077j, -0.7360+0.6770j, -0.5685+0.8227j, -0.7172+0.6969j, -0.4564+0.8898j, -0.6720+0.7405j, -0.0940+0.9956j, 0.7278+0.6858j, 0.9568-0.2906j, 0.6848-0.7288j, 0.6053-0.7960j, 0.0252-0.9997j, -0.0110-0.9999j, -0.8152-0.5792j, -0.8306+0.5569j, 0.3613+0.9324j, 0.9286+0.3712j, 0.9997-0.0231j, 0.5839-0.8118j, 0.2842-0.9588j, -0.8152-0.5792j, -0.6295+0.7770j, 0.8238+0.5669j, 0.8692-0.4945j, 0.3438-0.9391j, -0.7659-0.6430j, -0.9980-0.0637j, -0.0940+0.9956j, 0.9900-0.1414j, -0.4963-0.8682j, -0.9332+0.3595j, -0.2000+0.9798j, 0.9690+0.2470j, 0.7749-0.6321j, -0.8152-0.5792j, -0.0824+0.9966j, 0.8287-0.5598j, -0.6755-0.7373j, -0.8907+0.4546j, 0.6615+0.7499j, 0.9268-0.3756j, -0.8152-0.5792j, 0.2150+0.9766j, 0.3694-0.9293j, -0.9977+0.0684j, 0.0977+0.9952j, 0.7973-0.6036j, -0.5724-0.8200j, -0.0940+0.9956j, 0.5067-0.8621j, -0.7360+0.6770j, 0.9967+0.0810j, -0.2450-0.9695j, -0.4564+0.8898j, 0.9773+0.2118j, -0.8152-0.5792j, 0.7278+0.6858j, -0.7301-0.6833j, 0.2887+0.9574j, 0.6053-0.7960j, -0.8783+0.4780j, 0.8715+0.4904j, -0.8152-0.5792j, 0.8976+0.4408j, -0.9882-0.1533j, 0.9286+0.3712j, -0.5199-0.8543j, 0.4111+0.9116j, 0.2842-0.9588j, -0.0940+0.9956j, -0.3581-0.9337j, 0.8238+0.5669j, -0.8629-0.5054j, 0.6414+0.7672j, -0.7659-0.6430j, 0.4438+0.8961j, -0.8152-0.5792j, 0.9900-0.1414j, -0.5037+0.8639j, 0.1553-0.9879j, -0.2000+0.9798j, -0.2706-0.9627j, 0.1599+0.9871j, -0.8152-0.5792j, 0.9043-0.4269j, 0.0704+0.9975j, -0.6755-0.7373j, 0.8390+0.5441j, -0.9802+0.1979j, 0.9268-0.3756j, -0.0940+0.9956j, -0.9533-0.3021j, 0.3694-0.9293j, 0.5581+0.8298j, -0.9107-0.4130j, 0.7973-0.6036j, -0.4239+0.9057j, -0.8152-0.5792j, 0.5067-0.8621j, 0.9543+0.2989j, -0.5685+0.8227j, -0.2450-0.9695j, 0.9988-0.0496j, -0.6720+0.7405j, -0.8152-0.5792j, 0.2300-0.9732j, 0.9568-0.2906j, 0.2887+0.9574j, -0.9920-0.1262j, 0.0252-0.9997j, 0.8715+0.4904j, -0.0940+0.9956j, -0.8306+0.5569j, -0.9882-0.1533j

7

-0.0817+0.9967j, -0.6848-0.7288j, 0.7975-0.6033j, 0.5841-0.8117j, 0.9479+0.3185j, -0.2915+0.9566j, 0.0601-0.9982j, 0.5060-0.8625j, 0.7857+0.6186j, -0.1743+0.9847j, 0.6613+0.7501j, 0.0498+0.9988j, -0.7797+0.6262j, 0.0601-0.9982j, -0.0677-0.9977j, 0.8629-0.5054j, 0.9988-0.0492j, 0.0254-0.9997j, 0.0996-0.9950j, 0.4308-0.9025j, 0.8344+0.5511j, 0.9898-0.1421j, 0.9332+0.3595j, 0.9689+0.2474j, -0.2704-0.9627j, -0.7158-0.6983j, -0.8677-0.4970j, 0.0601-0.9982j, -0.9535-0.3014j, -0.9763-0.2164j, -0.8785+0.4777j, 0.9988-0.0494j, 0.3885-0.9215j, -0.4370-0.8995j, 0.0601-0.9982j, -0.9576+0.2881j, -0.5581+0.8298j, 0.6612+0.7502j, -0.7658-0.6431j, -0.5215+0.8533j, 0.7840+0.6208j, 0.8344+0.5511j, -0.3588-0.9334j, -0.9967+0.0810j, 0.4107+0.9118j, -0.9213-0.3888j, 0.3420+0.9397j, 0.6776-0.7354j, 0.0601-0.9982j, -0.0817+0.9967j, 0.9735-0.2287j, -0.9212-0.3890j, 0.5841-0.8117j, -0.7498+0.6617j, 0.9742-0.2259j, 0.0601-0.9982j, 0.4939+0.8695j, 0.1428-0.9898j, -0.1743+0.9847j, -0.9803+0.1977j, 0.8400-0.5425j, -0.7797+0.6262j, 0.8344+0.5511j, -0.8302+0.5575j, 0.8629-0.5054j, -0.4568+0.8896j, -0.8784+0.4779j, 0.0996-0.9950j, 0.5662+0.8243j, 0.0601-0.9982j, 0.9898-0.1421j, -0.7779+0.6284j, -0.2702-0.9628j, -0.2704-0.9627j, 0.9626-0.2708j, 0.0034+1.0000j, 0.0601-0.9982j, 0.7378-0.6750j, 0.3008+0.9537j, -0.8785+0.4777j, -0.4566+0.8897j, -0.9922+0.1243j, -0.4370-0.8995j, 0.8344+0.5511j, 0.7283+0.6853j, -0.5581+0.8298j, -0.9803+0.1975j, -0.1741+0.9847j, -0.5215+0.8533j, -0.9296+0.3686j, 0.0601-0.9982j, -0.3588-0.9334j, 0.4282-0.9037j, 0.5843-0.8116j, -0.9213-0.3888j, -0.9848-0.1737j, -0.9757-0.2192j, 0.0601-0.9982j, -0.8223-0.5691j, -0.6848-0.7288j, -0.9212-0.3890j, 0.4109+0.9117j, 0.9479+0.3185j, 0.9742-0.2259j, 0.8344+0.5511j, 0.5060-0.8625j, 0.1428-0.9898j, -0.7656-0.6433j, 0.6613+0.7501j, 0.8400-0.5425j, -0.1525-0.9883j, 0.0601-0.9982j, -0.8302+0.5575j, 0.0063+1.0000j, 0.9988-0.0492j, -0.8784+0.4779j, 0.8119+0.5838j, 0.4308-0.9025j, 0.0601-0.9982j, -0.3718+0.9283j, 0.9332+0.3595j, -0.2702-0.9628j, 0.9690+0.2472j, -0.7158-0.6983j, 0.0034+1.0000j, 0.8344+0.5511j, -0.9535-0.3014j, 0.3008+0.9537j

8

0.1198+0.9928j, -0.1387-0.9903j, -0.2575+0.9663j, -0.1263-0.9920j, 0.9853+0.1709j, 0.4032+0.9151j, -0.9995+0.0306j, 0.3228-0.9465j, 0.2848+0.9586j, -0.4685-0.8835j, 0.9952+0.0976j, 0.2008+0.9796j, -0.1823+0.9832j, -0.9995+0.0306j, -0.2664-0.9639j, 0.9964+0.0851j, -0.7571+0.6533j, -0.6632-0.7485j, -0.0526-0.9986j, -0.2623-0.9650j, 0.4733-0.8809j, 0.9412-0.3377j, 0.5547+0.8321j, -0.9160+0.4011j, -0.8543-0.5198j, -0.8135-0.5815j, -0.9819+0.1895j, -0.9995+0.0306j, -0.9946-0.1041j, -0.6725-0.7401j, 0.3986-0.9171j, 0.6968-0.7172j, 0.2441-0.9698j, -0.9180-0.3966j, -0.9995+0.0306j, -0.8804+0.4742j, -0.9346+0.3556j, -0.9828-0.1846j, -0.9987+0.0518j, -0.3859+0.9225j, 0.9992-0.0410j, 0.4733-0.8809j, -0.5387-0.8425j, -0.8608-0.5090j, -0.8847-0.4661j, -0.9390+0.3439j, 0.4807+0.8769j, 0.0338-0.9994j, -0.9995+0.0306j, 0.1198+0.9928j, 0.9270+0.3750j, 0.9656-0.2601j, -0.1263-0.9920j, -0.6407+0.7678j, 0.5909-0.8068j, -0.9995+0.0306j, 0.6582+0.7528j, 0.6878-0.7259j, -0.4685-0.8835j, -0.5821+0.8131j, 0.7480-0.6638j, -0.1823+0.9832j, 0.4733-0.8809j, -0.7015+0.7127j, 0.9964+0.0851j, -0.1872-0.9823j, -0.3166+0.9486j, -0.0526-0.9986j, 0.9669+0.2553j, -0.9995+0.0306j, 0.9412-0.3377j, -0.9979+0.0643j, 0.8054+0.5927j, -0.8543-0.5198j, 0.9104-0.4138j, 0.6550+0.7556j, -0.9995+0.0306j, 0.5875-0.8093j, -0.3047+0.9524j, 0.3986-0.9171j, 0.2727+0.9621j, -0.9619+0.2735j, -0.9180-0.3966j, 0.4733-0.8809j, 0.8509+0.5253j, -0.9346+0.3556j, 0.6513-0.7589j, 0.5442+0.8390j, -0.3859+0.9225j, -0.4640+0.8858j, -0.9995+0.0306j, -0.5387-0.8425j, 0.8712-0.4909j, 0.0387+0.9992j, -0.9390+0.3439j, -0.9998-0.0222j, -0.8824+0.4705j, -0.9995+0.0306j, -0.9197-0.3926j, -0.1387-0.9903j, 0.9656-0.2601j, 0.9222+0.3866j, 0.9853+0.1709j, 0.5909-0.8068j, 0.4733-0.8809j, 0.3228-0.9465j, 0.6878-0.7259j, 0.9994+0.0360j, 0.9952+0.0976j, 0.7480-0.6638j, -0.7603-0.6495j, -0.9995+0.0306j, -0.7015+0.7127j, -0.5719+0.8203j, -0.7571+0.6533j, -0.3166+0.9486j, 0.8911+0.4538j, -0.2623-0.9650j, -0.9995+0.0306j, -0.1782+0.9840j, 0.5547+0.8321j, 0.8054+0.5927j, 0.8773-0.4800j, -0.8135-0.5815j, 0.6550+0.7556j, 0.4733-0.8809j, -0.9946-0.1041j, -0.3047+0.9524j

9

0.9057+0.4240j, 0.9884-0.1521j, -0.9715-0.2372j, 0.4279-0.9038j, -0.5452-0.8383j, -0.5425+0.8400j, 0.2291-0.9734j, -0.6320-0.7750j, -0.9547+0.2977j, 0.8735-0.4869j, 0.7860+0.6183j, 0.5812-0.8138j, -0.9215+0.3885j, 0.2291-0.9734j, -0.9587-0.2843j, -0.0717+0.9974j, -0.6690-0.7432j, -0.1556-0.9878j, -0.6960+0.7181j, 0.6617-0.7498j, 0.7284+0.6851j, 0.2118-0.9773j, -0.8245+0.5659j, -0.4203-0.9074j, -0.4399-0.8981j, 0.1275+0.9918j, -0.6983-0.7158j, 0.2291-0.9734j, -0.6149+0.7886j, 0.7309-0.6824j, 0.9253+0.3793j, 0.9734-0.2290j, -0.8767+0.4810j, -0.1737-0.9848j, 0.2291-0.9734j, -0.0638+0.9980j, -0.3682-0.9297j, 0.1639-0.9865j, -0.8693-0.4942j, 0.9386-0.3450j, 0.5838+0.8119j, 0.7284+0.6851j, -0.9999+0.0109j, 0.4973-0.8676j, 0.4474-0.8943j, -0.9764-0.2160j, 0.3155-0.9489j, 0.8533-0.5215j, 0.2291-0.9734j, 0.9057+0.4240j, -0.3625+0.9320j, 0.2803+0.9599j, 0.4279-0.9038j, 0.9986-0.0530j, 0.9988+0.0498j, 0.2291-0.9734j, 0.9871-0.1599j, 0.7351+0.6779j, 0.8735-0.4869j, -0.9284+0.3715j, -0.9953-0.0964j, -0.9215+0.3885j, 0.7284+0.6851j, 0.2332+0.9724j, -0.0717+0.9974j, 0.9782-0.2078j, -0.7777+0.6287j, -0.6960+0.7181j, 0.3185+0.9479j, 0.2291-0.9734j, 0.2118-0.9773j, -0.0778-0.9970j, -0.5757+0.8177j, -0.4399-0.8981j, -0.9227-0.3855j, -0.2708+0.9626j, 0.2291-0.9734j, -0.3755-0.9268j, -0.9565-0.2918j, 0.9253+0.3793j, -0.2884+0.9575j, 0.8549+0.5187j, -0.1737-0.9848j, 0.7284+0.6851j, 0.8962-0.4437j, -0.3682-0.9297j, 0.7723+0.6352j, 0.0067+1.0000j, 0.9386-0.3450j, -0.9950+0.0996j, 0.2291-0.9734j, -0.9999+0.0109j, 0.5027+0.8645j, -0.9982+0.0597j, -0.9764-0.2160j, 0.6640+0.7477j, -0.8782-0.4782j, 0.2291-0.9734j, -0.8200+0.5723j, 0.9884-0.1521j, 0.2803+0.9599j, 0.5688+0.8225j, -0.5452-0.8383j, 0.9988+0.0498j, 0.7284+0.6851j, -0.6320-0.7750j, 0.7351+0.6779j, -0.0151+0.9999j, 0.7860+0.6183j, -0.9953-0.0964j, 0.1243-0.9922j, 0.2291-0.9734j, 0.2332+0.9724j, -0.8280-0.5608j, -0.6690-0.7432j, -0.7777+0.6287j, -0.2739-0.9618j, 0.6617-0.7498j, 0.2291-0.9734j, 0.7405+0.6721j, -0.8245+0.5659j, -0.5757+0.8177j, 0.9977+0.0681j, 0.1275+0.9918j, -0.2708+0.9626j, 0.7284+0.6851j, -0.6149+0.7886j, -0.9565-0.2918j

10

0.4457+0.8952j, 0.5876-0.8091j, 0.6172-0.7868j, 0.4954+0.8687j, -0.9897-0.1434j, -0.8152+0.5792j, -0.9545-0.2984j, -0.0132-0.9999j, -0.4605+0.8877j, 0.0827+0.9966j, -0.9571+0.2897j, -0.2281-0.9736j, -0.9998+0.0193j, -0.9545-0.2984j, -0.5742-0.8187j, 0.6581+0.7530j, 0.9532-0.3024j, 0.8987+0.4387j, 0.0804+0.9968j, 0.8924-0.4512j, 0.7356-0.6774j, 0.7735-0.6338j, -0.1784+0.9840j, 1.0000-0.0080j, 0.9880+0.1543j, 0.8294+0.5586j, -0.3833-0.9236j, -0.9545-0.2984j, -0.9719+0.2354j, 0.0297-0.9996j, -0.7276+0.6860j, -0.3703+0.9289j, -0.2170+0.9762j, 0.2036-0.9790j, -0.9545-0.2984j, -0.6704+0.7420j, -0.9196-0.3929j, 0.8307+0.5567j, 0.9033-0.4291j, 0.3600-0.9329j, 0.2413+0.9704j, 0.7356-0.6774j, -0.7900-0.6131j, -0.2662-0.9639j, 0.6297+0.7768j, 0.7366-0.6763j, -0.5049-0.8632j, 0.9858-0.1681j, -0.9545-0.2984j, 0.4457+0.8952j, 0.4069+0.9135j, -0.9900-0.1411j, 0.4954+0.8687j, 0.6190-0.7854j, 0.9092+0.4164j, -0.9545-0.2984j, 0.8725+0.4885j, 0.9990-0.0450j, 0.0827+0.9966j, 0.2277-0.9737j, -0.7292+0.6843j, -0.9998+0.0193j, 0.7356-0.6774j, -0.4220+0.9066j, 0.6581+0.7530j, -0.2147+0.9767j, -0.0694-0.9976j, 0.0804+0.9968j, -0.0554+0.9985j, -0.9545-0.2984j, 0.7735-0.6338j, -0.7629-0.6465j, -0.5069-0.8620j, 0.9880+0.1543j, -0.8985+0.4390j, -0.6083+0.7937j, -0.9545-0.2984j, 0.2821-0.9594j, -0.8805+0.4740j, -0.7276+0.6860j, -0.6193-0.7851j, 0.9539-0.3002j, 0.2036-0.9790j, 0.7356-0.6774j, 0.9778+0.2096j, -0.9196-0.3929j, -0.8975+0.4411j, -0.8232-0.5677j, 0.3600-0.9329j, -0.9611-0.2762j, -0.9545-0.2984j, -0.7900-0.6131j, 0.9679+0.2514j, 0.3579-0.9338j, 0.7366-0.6763j, 1.0000-0.0057j, -0.6385-0.7696j, -0.9545-0.2984j, -0.9981-0.0616j, 0.5876-0.8091j, -0.9900-0.1411j, -1.0000-0.0053j, -0.9897-0.1434j, 0.9092+0.4164j, 0.7356-0.6774j, -0.0132-0.9999j, 0.9990-0.0450j, -0.9044-0.4266j, -0.9571+0.2897j, -0.7292+0.6843j, 0.4832-0.8755j, -0.9545-0.2984j, -0.4220+0.9066j, -0.9811+0.1934j, 0.9532-0.3024j, -0.0694-0.9976j, -0.9034-0.4287j, 0.8924-0.4512j, -0.9545-0.2984j, 0.1621+0.9868j, -0.1784+0.9840j, -0.5069-0.8620j, -0.6276+0.7785j, 0.8294+0.5586j, -0.6083+0.7937j, 0.7356-0.6774j, -0.9719+0.2354j, -0.8805+0.4740j

11

0.9953+0.0970j, 0.9611+0.2762j, -0.9979-0.0655j, 0.9945-0.1052j, 0.4837+0.8752j, 0.4790-0.8778j, 0.1865+0.9825j, -0.8546-0.5192j, -0.9915-0.1298j, 0.7760-0.6307j, -0.1188+0.9929j, -0.6380+0.7700j, 0.8903-0.4554j, 0.1865+0.9825j, -0.9986+0.0524j, -0.4831+0.8756j, -0.7876-0.6162j, 0.7624-0.6471j, 0.7456-0.6664j, -0.6045+0.7966j, -0.9441-0.3297j, -0.1269-0.9919j, -0.9858+0.1682j, -0.5709-0.8210j, 0.5378-0.8431j, -0.0561-0.9984j, 0.7492+0.6624j, 0.1865+0.9825j, -0.3161+0.9487j, 0.9497-0.3132j, 0.9769+0.2135j, 0.7022+0.7119j, 0.9089-0.4170j, 0.2459+0.9693j, 0.1865+0.9825j, 0.2733+0.9619j, 0.0554-0.9985j, -0.0092-1.0000j, -0.0305-0.9995j, -0.9609+0.2768j, -0.6421-0.7666j, -0.9441-0.3297j, -0.9388+0.3444j, 0.8152-0.5792j, 0.2859-0.9583j, -0.3238-0.9461j, -0.3827+0.9239j, -0.8125+0.5830j, 0.1865+0.9825j, 0.9953+0.0970j, -0.7197+0.6943j, 0.4422+0.8969j, 0.9945-0.1052j, -0.9998-0.0187j, -0.9997+0.0240j, 0.1865+0.9825j, 0.8770-0.4805j, 0.3833+0.9236j, 0.7760-0.6307j, -0.8005-0.5993j, 0.9859+0.1675j, 0.8903-0.4554j, -0.9441-0.3297j, 0.5447+0.8386j, -0.4831+0.8756j, 0.9275-0.3739j, -0.9416-0.3367j, 0.7456-0.6664j, -0.3876-0.9218j, 0.1865+0.9825j, -0.1269-0.9919j, 0.3472-0.9378j, -0.4255+0.9049j, 0.5378-0.8431j, 0.8927+0.4506j, 0.1990-0.9800j, 0.1865+0.9825j, -0.6636-0.7481j, -0.7461-0.6658j, 0.9769+0.2135j, -0.9677+0.2522j, -0.8156-0.5787j, 0.2459+0.9693j, -0.9441-0.3297j, 0.6964-0.7177j, 0.0554-0.9985j, 0.8706+0.4920j, -0.8503+0.5262j, -0.9609+0.2768j, 0.9850-0.1728j, 0.1865+0.9825j, -0.9388+0.3444j, 0.0941+0.9956j, -0.9728+0.2315j, -0.3238-0.9461j, -0.6088-0.7933j, 0.9111+0.4121j, 0.1865+0.9825j, -0.5817+0.8134j, 0.9611+0.2762j, 0.4422+0.8969j, -0.4062+0.9138j, 0.4837+0.8752j, -0.9997+0.0240j, -0.9441-0.3297j, -0.8546-0.5192j, 0.3833+0.9236j, 0.1582+0.9874j, -0.1188+0.9929j, 0.9859+0.1675j, -0.0507+0.9987j, 0.1865+0.9825j, 0.5447+0.8386j, -0.5167-0.8562j, -0.7876-0.6162j, -0.9416-0.3367j, 0.2043+0.9789j, -0.6045+0.7966j, 0.1865+0.9825j, 0.9225+0.3861j, -0.9858+0.1682j, -0.4255+0.9049j, 0.4612+0.8873j, -0.0561-0.9984j, 0.1990-0.9800j, -0.9441-0.3297j, -0.3161+0.9487j, -0.7461-0.6658j

12

0.6847-0.7288j, -0.3501+0.9367j, 0.5006-0.8657j, 0.6279-0.7783j, -0.1562+0.9877j, -1.0000-0.0015j, 0.0848+0.9964j, -0.3007+0.9537j, -0.9999+0.0164j, 0.2232-0.9748j, -0.8985-0.4390j, 0.0073-1.0000j, -0.0733-0.9973j, 0.0848+0.9964j, 0.9286+0.3712j, 0.9911+0.1329j, 0.9007+0.4345j, -0.7292-0.6843j, -0.9282-0.3721j, -0.3667+0.9303j, -0.9053-0.4248j, 0.5581+0.8297j, 0.7218-0.6921j, -0.3647-0.9311j, 1.0000+0.0057j, -0.2878-0.9577j, 0.2211+0.9753j, 0.0848+0.9964j, -0.8629-0.5054j, 0.9079+0.4191j, -0.6229-0.7823j, -0.2170-0.9762j, 0.4273+0.9041j, -0.9560+0.2934j, 0.0848+0.9964j, -0.5685+0.8227j, -0.8353-0.5497j, 0.9013-0.4332j, 0.0804-0.9968j, 0.9977-0.0675j, 0.9886+0.1505j, -0.9053-0.4248j, -0.9331+0.3595j, -0.9506+0.3103j, -0.9554-0.2954j, 0.6191+0.7853j, 0.6748+0.7380j, 0.9016-0.4326j, 0.0848+0.9964j, 0.6847-0.7288j, -0.6362-0.7715j, -1.0000-0.0007j, 0.6279-0.7783j, -0.7773-0.6292j, 0.4987+0.8668j, 0.0848+0.9964j, -0.6756-0.7373j, 0.5141+0.8577j, 0.2232-0.9748j, 0.8294-0.5586j, -0.8696+0.4937j, -0.0733-0.9973j, -0.9053-0.4248j, -0.1429-0.9897j, 0.9911+0.1329j, -0.8266+0.5627j, -0.2280+0.9737j, -0.9282-0.3721j, -0.6224-0.7827j, 0.0848+0.9964j, 0.5581+0.8297j, 0.2384+0.9712j, -0.6240+0.7814j, 1.0000+0.0057j, 0.9733+0.2296j, 0.7340-0.6791j, 0.0848+0.9964j, 0.8691-0.4946j, -0.0910-0.9958j, -0.6229-0.7823j, 0.9539+0.3002j, 0.5693-0.8221j, -0.9560+0.2934j, -0.9053-0.4248j, 0.9967+0.0810j, -0.8353-0.5497j, -0.0754+0.9972j, -0.9034+0.4288j, 0.9977-0.0675j, -0.6246+0.7809j, 0.0848+0.9964j, -0.9331+0.3595j, 0.2065-0.9784j, 0.2218+0.9751j, 0.6191+0.7853j, -0.9765+0.2154j, -0.8254-0.5645j, 0.0848+0.9964j, 0.2888+0.9574j, -0.3501+0.9367j, -1.0000-0.0007j, 0.3601+0.9329j, -0.1562+0.9877j, 0.4987+0.8668j, -0.9053-0.4248j, -0.3007+0.9537j, 0.5141+0.8577j, 0.7326+0.6807j, -0.8985-0.4390j, -0.8696+0.4937j, 0.9003+0.4352j, 0.0848+0.9964j, -0.1429-0.9897j, -0.6106+0.7919j, 0.9007+0.4345j, -0.2280+0.9737j, 0.7863-0.6178j, -0.3667+0.9303j, 0.0848+0.9964j, -0.9977+0.0685j, 0.7218-0.6921j, -0.6240+0.7814j, -0.5049+0.8632j, -0.2878-0.9577j, 0.7340-0.6791j, -0.9053-0.4248j, -0.8629-0.5054j, -0.0910-0.9958j

13

-0.8412+0.5408j, -0.0464-0.9989j, -0.9777-0.2102j, -0.8883-0.4593j, -0.7212-0.6927j, 0.9137+0.4064j, 0.9628-0.2703j, 0.5232-0.8522j, 0.9129-0.4081j, -0.9962+0.0873j, -0.2502+0.9682j, 0.8164+0.5775j, -0.3370+0.9415j, 0.9628-0.2703j, -0.8107-0.5855j, -0.9636+0.2675j, 0.1365-0.9906j, -0.5244+0.8514j, 0.8358-0.5490j, 0.7121-0.7021j, -0.2473+0.9689j, -0.3400-0.9404j, -0.3917+0.9201j, -0.7739+0.6333j, -0.1947-0.9809j, 0.9503+0.3112j, 0.1929-0.9812j, 0.9628-0.2703j, 0.7144+0.6998j, -0.9996-0.0284j, -0.5528+0.8333j, -0.9130+0.4081j, -0.9861-0.1661j, 0.9929+0.1190j, 0.9628-0.2703j, 0.7512-0.6601j, 0.9842+0.1771j, -0.6894-0.7244j, -0.9927+0.1208j, -0.5149+0.8573j, -0.8429-0.5380j, -0.2473+0.9689j, 0.9925-0.1222j, 0.7521-0.6591j, 0.0127+0.9999j, 0.6455-0.7638j, -0.9913+0.1319j, -0.9995+0.0303j, 0.9628-0.2703j, -0.8412+0.5408j, 0.8883+0.4593j, 0.3068+0.9518j, -0.8883-0.4593j, 0.9605-0.2782j, -0.1049-0.9945j, 0.9628-0.2703j, 0.4764+0.8792j, -0.8099-0.5866j, -0.9962+0.0873j, -0.7134-0.7008j, 0.0919-0.9958j, -0.3370+0.9415j, -0.2473+0.9689j, -0.1017+0.9948j, -0.9636+0.2675j, 0.7897+0.6135j, 0.9996+0.0285j, 0.8358-0.5490j, 0.2519+0.9677j, 0.9628-0.2703j, -0.3400-0.9404j, -0.6010-0.7992j, 0.9354+0.3535j, -0.1947-0.9809j, -0.7447+0.6674j, -0.9462+0.3235j, 0.9628-0.2703j, -0.9632+0.2688j, 0.4752+0.8799j, -0.5528+0.8333j, 0.1031-0.9947j, 0.3492+0.9370j, 0.9929+0.1190j, -0.2473+0.9689j, -0.9473-0.3205j, 0.9842+0.1771j, 0.9720-0.2348j, 0.6010+0.7993j, -0.5149+0.8573j, 0.8874-0.4610j, 0.9628-0.2703j, 0.9925-0.1222j, 0.1947+0.9809j, 0.8596-0.5109j, 0.6455-0.7638j, 0.3814-0.9244j, 0.5260+0.8505j, 0.9628-0.2703j, -0.0477-0.9989j, -0.0464-0.9989j, 0.3068+0.9518j, 0.8419-0.5396j, -0.7212-0.6927j, -0.1049-0.9945j, -0.2473+0.9689j, 0.5232-0.8522j, -0.8099-0.5866j, 0.4225-0.9064j, -0.2502+0.9682j, 0.0919-0.9958j, -0.6469-0.7626j, 0.9628-0.2703j, -0.1017+0.9948j, 0.2501-0.9682j, 0.1365-0.9906j, 0.9996+0.0285j, 0.0575+0.9983j, 0.7121-0.7021j, 0.9628-0.2703j, 0.9844+0.1757j, -0.3917+0.9201j, 0.9354+0.3535j, 0.9468+0.3218j, 0.9503+0.3112j, -0.9462+0.3235j, -0.2473+0.9689j, 0.7144+0.6998j, 0.4752+0.8799j

14

-0.7745+0.6325j, 0.8116+0.5842j, 0.9330-0.3598j, 0.9284-0.3716j, -0.1092+0.9940j, 0.9992+0.0395j, -0.1429-0.9897j, 0.4234-0.9060j, -0.2473+0.9689j, 0.7855-0.6188j, -0.5689-0.8224j, -0.0402-0.9992j, 0.0353+0.9994j, -0.1429-0.9897j, -0.8718-0.4899j, 0.3889-0.9213j, 0.4285+0.9035j, -0.3012-0.9536j, -0.9448-0.3276j, 0.4018-0.9157j, 0.9286+0.3712j, -0.4443-0.8959j, -0.4778-0.8785j, 0.3005-0.9538j, 0.8694+0.4941j, -0.3329-0.9430j, -0.1839-0.9830j, -0.1429-0.9897j, 0.7890+0.6144j, 0.6432-0.7657j, 0.0060-1.0000j, 0.2883-0.9575j, 0.4697+0.8828j, 0.9665-0.2568j, -0.1429-0.9897j, 0.6716-0.7409j, -0.7501+0.6613j, 0.9736+0.2284j, 0.5577-0.8300j, 0.9934-0.1147j, -0.9822-0.1880j, 0.9286+0.3712j, 0.9723-0.2338j, 0.0493+0.9988j, -0.5584-0.8296j, 0.1557+0.9878j, 0.7091+0.7051j, -0.9174+0.3980j, -0.1429-0.9897j, -0.7745+0.6325j, -0.9117+0.4108j, -0.7781-0.6282j, 0.9284-0.3716j, -0.8063-0.5916j, -0.4654-0.8851j, -0.1429-0.9897j, 0.5729+0.8196j, 0.9628-0.2703j, 0.7855-0.6188j, 0.9967-0.0815j, -0.8452+0.5344j, 0.0353+0.9994j, 0.9286+0.3712j, 0.0116+0.9999j, 0.3889-0.9213j, -0.9967-0.0807j, -0.6752+0.7376j, -0.9448-0.3276j, 0.5921+0.8058j, -0.1429-0.9897j, -0.4443-0.8959j, 0.9997+0.0255j, -0.9762+0.2167j, 0.8694+0.4941j, 0.9831+0.1832j, -0.7593+0.6507j, -0.1429-0.9897j, -0.9266+0.3761j, -0.9847-0.1742j, 0.0060-1.0000j, 0.6851+0.7284j, 0.5297-0.8482j, 0.9665-0.2568j, 0.9286+0.3712j, -0.9774-0.2112j, -0.7501+0.6613j, -0.6845+0.7290j, -0.9977-0.0680j, 0.9934-0.1147j, 0.6539-0.7566j, -0.1429-0.9897j, 0.9723-0.2338j, -0.8896-0.4567j, -0.4393+0.8984j, 0.1557+0.9878j, -0.9652+0.2615j, 0.8034+0.5955j, -0.1429-0.9897j, -0.1605-0.9870j, 0.8116+0.5842j, -0.7781-0.6282j, -0.1424+0.9898j, -0.1092+0.9940j, -0.4654-0.8851j, 0.9286+0.3712j, 0.4234-0.9060j, 0.9628-0.2703j, 0.1431+0.9897j, -0.5689-0.8224j, -0.8452+0.5344j, -0.8831-0.4691j, -0.1429-0.9897j, 0.0116+0.9999j, 0.6034+0.7975j, 0.4285+0.9035j, -0.6752+0.7376j, 0.7561-0.6544j, 0.4018-0.9157j, -0.1429-0.9897j, 0.9980+0.0631j, -0.4778-0.8785j, -0.9762+0.2167j, -0.8626+0.5058j, -0.3329-0.9430j, -0.7593+0.6507j, 0.9286+0.3712j, 0.7890+0.6144j, -0.9847-0.1742j

15

-0.9893-0.1459j, 0.9819+0.1896j, 0.2006-0.9797j, 0.2906+0.9569j, -0.2166+0.9763j, 0.9273-0.3744j, -0.2306+0.9731j, 0.9546-0.2978j, 0.1822+0.9833j, -0.0971-0.9953j, 0.8682-0.4962j, 0.0686-0.9976j, 0.4427+0.8967j, -0.2306+0.9731j, -0.2256-0.9742j, -0.0337-0.9994j, 0.9919+0.1268j, 0.9759-0.2183j, -0.9036-0.4284j, -0.0098-1.0000j, -0.7274-0.6862j, 0.3624-0.9320j, -0.8024-0.5968j, -0.6409-0.7676j, -0.5669+0.8238j, -0.2285-0.9736j, -0.5714-0.8207j, -0.2306+0.9731j, 0.0779+0.9970j, 0.2624-0.9650j, -0.8387-0.5446j, 0.9293+0.3694j, 0.3710+0.9286j, 0.7757-0.6311j, -0.2306+0.9731j, 1.0000-0.0032j, -0.4033+0.9151j, 0.7176-0.6964j, 0.7791+0.6269j, 1.0000-0.0061j, -0.9727+0.2320j, -0.7274-0.6862j, 0.8280+0.5607j, 0.4640+0.8859j, -0.9997+0.0224j, -0.9975+0.0704j, 0.6282+0.7780j, -0.6730+0.7397j, -0.2306+0.9731j, -0.9893-0.1459j, -0.6551+0.7555j, -0.9487+0.3161j, 0.2906+0.9569j, -0.7372-0.6757j, -0.7879-0.6158j, -0.2306+0.9731j, -0.2194+0.9756j, 0.7604-0.6494j, -0.0971-0.9953j, -0.0044+1.0000j, -0.8983+0.4394j, 0.4427+0.8967j, -0.7274-0.6862j, -0.7309+0.6825j, -0.0337-0.9994j, -0.6058+0.7956j, -0.6770-0.7360j, -0.9036-0.4284j, 0.8709+0.4915j, -0.2306+0.9731j, 0.3624-0.9320j, 0.9181-0.3965j, -0.3444+0.9388j, -0.5669+0.8238j, 0.9574+0.2889j, -0.4251+0.9052j, -0.2306+0.9731j, -0.9023-0.4310j, -0.9669+0.2552j, -0.8387-0.5446j, -0.7845+0.6201j, 0.6187-0.7856j, 0.7757-0.6311j, -0.7274-0.6862j, -0.5027-0.8644j, -0.4033+0.9151j, 0.2443+0.9697j, 0.1534-0.9882j, 1.0000-0.0061j, 0.2854-0.9584j, -0.2306+0.9731j, 0.8280+0.5607j, -0.9992-0.0411j, 0.5193+0.8546j, -0.9975+0.0704j, -0.9879+0.1551j, 0.9771+0.2130j, -0.2306+0.9731j, 0.6210-0.7838j, 0.9819+0.1896j, -0.9487+0.3161j, -0.9739-0.2268j, -0.2166+0.9763j, -0.7879-0.6158j, -0.7274-0.6862j, 0.9546-0.2978j, 0.7604-0.6494j, 0.9105+0.4136j, 0.8682-0.4962j, -0.8983+0.4394j, -0.9979-0.0650j, -0.2306+0.9731j, -0.7309+0.6825j, 0.8824+0.4706j, 0.9919+0.1268j, -0.6770-0.7360j, 0.8228-0.5683j, -0.0098-1.0000j, -0.2306+0.9731j, 0.6259+0.7799j, -0.8024-0.5968j, -0.3444+0.9388j, -0.4299-0.9029j, -0.2285-0.9736j, -0.4251+0.9052j, -0.7274-0.6862j, 0.0779+0.9970j, -0.9669+0.2552j

Приложение Б

Параметры и системные константы

Параметры и системные константы приведены в таблице Б.1.

Таблица Б.1 - Параметры и системные константы

Системный
элемент
размещения

Название параметра/
константы

Описание

Значение

БС

Интервал "Блока системной информации"

Интервал времени между последовательными сеансами трансляции "Блока системной информации БС"

10 кадров

АТ

Интервал времени, в течение которого АТ после передачи ЗКЗ-запроса ожидает ответного ОЗКЗ-сообщения от БС

3 кадра

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос ЗКЗ" на БС, пытаясь получить ответное ОЗКЗ-сообщение

3 раза

АТ

Интервал времени, в течение которого АТ после передачи запроса доступа (ЗД) на БС ожидает ответного сигнала "Конфигурация радиоканала"

3 кадра

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос доступа" на БС

3 раза

БС

Интервал времени, в течение которого БС после передачи сообщения "Вызов" на АТ ожидает ответа

3 кадра

БС

Число повторных попыток, которое БС может повторно производить в режиме передачи сообщения "Вызов" на АТ

4 раза

АТ/БС

Интервал времени, в течение которого АТ/БС после передачи сообщения "Запрос установки ОРп-соединения" ожидает ответа

12 кадров

АТ/БС

Число повторных попыток, которое АТ/БС может производить в режиме передачи сообщения "Запрос установки ОРп-соединения"

3 раза

АТ/БС

Интервал времени, в течение которого АТ/БС после передачи сообщения "Запрос установки соединения ОДп-подуровня" ожидает ответа

12 кадров

АТ/БС

Число повторных попыток, которое АТ/БС может производить в режиме передачи сообщения "Запрос установки соединения ОДп-подуровня"

3 раза

АТ/БС

Интервал времени, устанавливающий периодичность, с которой АТ/БС передает сообщения "Запрос ресурса радиоканала"

20 кадров

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Запрос зондирования хэндовера" ожидает ответа от "Целевой БС"

3 кадра

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос зондирования хэндовера" на "Целевую БС"

3 раза

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Хэндовер" ожидает ответа в виде сообщения "Конфигурация радиоканала" от "Целевой БС"

3 кадра

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Хэндовер" на "Целевую БС"

3 раза

АТ

Интервал времени, задающий период, с которым АТ выходит из пассивного режима 1 для повторного выполнения попытки поиска БС и привязки

10 минут

АТ

Интервал времени, в течение которого АТ контролирует свое нахождение в незанятом ("idle") состоянии и после которого в случае подтверждения незанятого состояния АТ передает на БС сообщение "Запрос на установку пассивного режима"

1 секунда

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Запрос на установку пассивного режима" ожидает ответа от БС

3 кадра

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос на установку пассивного режима"

3 раза

АТ

Интервал времени, в течение которого АТ ожидает приема по широковещательному каналу всех четырех блоков системной информации от БС. Если такого приема не происходит, то АТ осуществляет попытку повторной синхронизации с БС

90 кадров

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Запрос завершения ОРп-соединения" ожидает ответа от БС

12 кадров

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос завершения ОРп-соединения"

3 кадра

АТ

Интервал времени, в течение которого БС после передачи команды "Завершить ОРп-соединение" ожидает ответа от АТ

12 кадров

БС

Число повторных попыток, которое БС может производить в режиме передачи команды "Завершить ОРп-соединение"

3 раза

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Запрос завершения соединения ОДп-подуровня" ожидает ответа от БС

12 кадров

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос завершения соединения ОДп-подуровня"

3 раза

БС

Интервал времени, в течение которого БС после передачи сообщения "Команда завершения соединения ОДп-подуровня" ожидает ответа от АТ

12 кадров

БС

Число повторных попыток, которое БС может производить в режиме передачи сообщения "Команда завершения соединения ОДп-подуровня"

3 раза

АТ

Интервал времени, в течение которого АТ после передачи сообщения "Запрос завершения МАС-соединения" ожидает ответа от БС

12 кадров

АТ

Число повторных попыток, которое АТ может производить в режиме передачи сообщения "Запрос завершения МАС-соединения"

3 раза

БС

Интервал времени, в течение которого БС после передачи сообщения "Команда завершения МАС-соединения" ожидает ответа от АТ

12
кадров

БС

Число повторных попыток, которое БС может производить в режиме передачи сообщения "Команда завершения МАС-соединения"

3 раза

УДК 621.396:[621.376+004.728.1+004.728.3]:006.354

ОКС 33.040

ОКП 657000

Ключевые слова: широкополосная система радиодоступа, физический уровень, канальный уровень, модуляция, кодирование, кадр, цифровая связь

Электронный текст документа

и сверен по:

, 2018