Научная статья на тему 'Метод расширения числового диапазона при вертикальной арифметической обработке'

Метод расширения числового диапазона при вертикальной арифметической обработке Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
146
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕРТИКАЛЬНАЯ АРИФМЕТИЧЕСКАЯ ОБРАБОТКА / РАСШИРЕНИЕ ЧИСЛОВОГО ДИАПАЗОНА / ПОТОКОВОЕ СУММИРОВАНИЕ / VERTICAL ARITHMETIC TREATMENT / EXPANSION OF THE NUMERICAL RANGE / STREAMING SUMMATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ромм Яков Евсеевич, Иванова Анна Сергеевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE METHOD OF EXPANSION OF A NUMERICAL RANGE AT VERTICAL ARITHMETIC TREATMENT

The paper proposes the method of vertical summation of the stream of integers of binary numbers, which excludes the loss of significant digits and ensures accuracy of execution of operations in the format of the fixed-point in all the time during the flow processing. Presented algorithms, assessments of the time complexity, describes the architecture of multiprocessor computing system oriented at the realization of the proposed method. In this paper are also shown the diagram of the vertical stream processing in format with fixed-point, structure of the AIM for streaming processing in a vertical format with a fixed point for which the samples are made in their calculations as a set of input components consisting of the input array.

Текст научной работы на тему «Метод расширения числового диапазона при вертикальной арифметической обработке»

Из сравнения характеристик, представленных на рис. 3 и 6 по критерию (8), получили максимальное значение ошибки идентификации 5 °С , что составило 10,7 % от диапазона изменения температуры, т.е. 4,5 раза больше, чем обеспечивает предлагаемый метод идентификации.

В заключение отметим, что в работе ещё раз подтверждена связь между временными и частотными характеристиками [2], при использовании которых довольно просто выполняется параметрическая идентификация низкочастотных объектов управления. Предложенный метод идентификации, во-первых, прост в ис, - , -гонной характеристике ОИ по сравнению с методом Симою, в-третьих, решает , . методов идентификации, предложенной Ротачем В.Я. в [1], этот метод можно отнести к экспериментально-анадитическим.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ротач В.Я. Теория автоматического управления: Учебник для вузов. - 5-е изд., перераб. и доп. - М.: Издательский дом МЭИ, 2008. - 396 с.

2. Бесекерский В.А., Попов ЕМ. Теория систем автоматического регулирования. - 3-е изд., перераб. и доп. - М.: Наука. Глав. ред. физ-мат. лит., 1975. - 768 с.

3. . .

частотной характеристикам // Известия ЮФУ. Технические науки. - 2010. - № 7 (108).

- С. 216-219.

4. . . -

// Приборы и системы. Управление, контроль, диагностика. - 2007. - № 12. - С. 26-30.

5. http://blkptv.by.ru/ident/1/1_2.html/.

Статью рекомендовал к опубликованию д.т.н., профессор В.Е. Золотовский

Моисеева Елена Викггоровна - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; e-mail: leskor1986@yandex.ru; 347900, г. Таганрог, ул. Химическая, 11-1; тел.: +79185023056; кафедра систем автоматического управления; соискатель.

Moiseeva Elena Viktorovna - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: leskor1986@yandex.ru; 11-1, Himicheskaya street; Taganrog, 347900, Russia; phone: +79185023056; the department of automatic control systems; applicant.

УДК 681.3:007

Я.Е. Ромм, АХ. Иванова

МЕТОД РАСШИРЕНИЯ ЧИСЛОВОГО ДИАПАЗОНА ПРИ ВЕРТИКАЛЬНОЙ АРИФМЕТИЧЕСКОЙ ОБРАБОТКЕ

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

,

входных слагаемых состоящего из входного массива.

Вертикальная арифметическая обработка; расширение числового диапазона; пото-.

Ya.E. Romm, A.S. Ivanova

THE METHOD OF EXPANSION OF A NUMERICAL RANGE AT VERTICAL ARITHMETIC TREATMENT

The paper proposes the method of vertical summation of the stream of integers of binary numbers, which excludes the loss of significant digits and ensures accuracy of execution of operations in the format of the fixed-point in all the time during the flow processing. Presented algorithms, assessments of the time complexity, describes the architecture of multiprocessor computing system oriented at the realization of the proposed method. In this paper are also shown the diagram of the vertical stream processing in format with fixed-point, structure of the AIM for streaming processing in a vertical format with a fixed point for which the samples are made in their calculations as a set of input components consisting of the input array.

Vertical arithmetic treatment; expansion of the numerical range; streaming summation.

Цель работы - представить метод вычислительной обработки потока целочисленных двоичных слагаемых в форме с фиксированной точкой в расширенном числовом диапазоне. Для этого используется такая схема вертикальной обработки, при которой исключается отбрасывание значащих цифр мантиссы двоичного чис-, . -ставляется осуществимой на основе архитектуры параллельной вычислительной системы, в которой отдельный набор процессорных элементов (ПЭ) взаимно однозначно сопоставляется каждому отдельному массиву отсоединенных старших разрядов промежуточных слагаемых. За счет количества таких ПЭ и замедления процесса обработки с ростом веса старших разрядов представляется реальным осуществление излагаемого ниже процесса вертикальной обработки двоичных чисел.

Предварительное описание метода вертикальной обработки. Предварительное описание метода вертикальной обработки заимствуется без изменений из [1, 2]. Пусть на входе метода все числа представлены (n +1) -р^рядными двоичными полиномами вида

10

a = Еaп2j, a, =\o, a)

j=0

и требуется вычислить

M N 2N M

Sм = = + + + ’ (2)

£=1 £=1 С=N+1 (\ M I 1

Ч N1 -1]N+1

где И - любое натуральное число. Разбиение потока слагаемых на группы по N чисел производится с целью дальнейшей обработки, при этом N выбрано произвольно и зафиксировано, \_а\ - ближайшее целое к а, не меньшее а. В (2) выделяется £-я группа слагаемых в следующих обозначениях:

т т

А = Е а = Е а(к); а{1] = а1, (-l)N+1 ^kN. (3)

1=^-1^+1 (=(к-l)N+l

Индексом к отмечаются все двоичные полиномы вида (1), входящие в (3):

4к) = 'ТОкт =5Х^ = а;а(к) = а]£,о </<п, (к-1)ы+1 <е<кы. (4)

/=о /=о

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

полноразрядными слагаемыми а(к), £ = (к - 1) +1, (к - 1) + 2,..., кЫ , принадлежащими к-й группе (3). Инвариантные относительно / операции, составляющие к-й шаг, при каждом / = сош1 представляют собой суммирование по вертикали (СВ) всех коэффициентов /-го разряда из (4), входящих одновременно во все слагаемые к-й группы (3) (СВ/). Операцию СВ/ и ее результат можно представить в виде двоичного полинома, коэффициенты которого смещаются по диагонали согласно весу:

+ а) и](к -1) N+1 а*) а1(к-1)N+2 ^ і

і

2 1+^к 21+1 21

(6)

В излагаемом методе не производится каких бы то ни было других операций по обработке к-й группы слагаемых из (2). Сразу после получения (6) выполняется шаг к +1, состоящий в обработке (к +1)-й группы слагаемых из (2). Существенно также то, что ни на одном шаге ни в один разряд ни одной РС(0 (6) не может прийти одновременно хотя бы два двоичных коэффициента. Это свойство ниже интерпретируется как бесконфликтность распространения переноса, оно имеет место в силу параллельности размещения в клетках РС(0 всех коэффициентов записей (6) одновременно при всех / = 0,1,... ,п .

Доказательство центрального свойства данного метода, заключающегося в

,

неограниченном продолжении шагов обработки, дано в [1].

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

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

, к-

до двух слагаемых. Известно [1, 3], что входной набор из 5(к) слагаемых сжимается до двух промежуточных слагаемых всего за 4 повторно выполненных СВ/, если S(к) < 2127 -1; три повторных сжатия для той же цели доста-

точны, если S(к) < 27 -1, два, если S(к} < 23-1, одно, если 5(к) =3. Если к-й промежуточный набор уже сжат до 5{к) = 2 слагаемых, то число слагаемых входного набора на текущем шаге оценивается из неравенства

5(к> < N + 2. (7)

Схема ограничения роста числового диапазона слагаемых. Будем к теку-(2) . При этом сам промежуточный набор всегда будем только что отмеченным спосо-

, (7).

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

. :

1111111 0 10 10 11 11110 0 0

1 1 1 0 0 0 1 (8) 110 10 0 0 110 10 11

В данном примере этот массив затем повторяется в качестве текущих групп (к+1) N

слагаемых вида X а1 из (2). Иными словами, группы слагаемых (2) повторя-

е=кЫ+1

(8). -

ности иллюстрации излагаемого способа.

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

1 1 1 1 1 1 1

0 1 0 1 0 1 1

1 1 1 1 0 0 0

1 1 1 0 0 0 1

1 1 0 1 0 0 0

1 1 0 1 0 1 1

1 0 1 1 1 1 0

01 1 0 0 1 0

110 1 0 0 1

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

10 11110 0 110 0 10 110 10 0 1 110 0 11110 0 0 1 1 0 0 1 0 0

После получения данной двухрядной суммы разряды ее слагаемых, вышедшие за границу старших разрядов слагаемых входной суммы (в данном случае п +1 = 7), заносим в отдельный массив и запоминаем (с целью последующего

):

11 0 0 11110

+ +

0 0 1 1 0 0 1 0 0

Это равносильно тому, что разделяются слагаемые суммы:

110000000 000011110

+

0010000000 0001001000

Далее, к следующему набору входных слагаемых, в качестве которых, для , (8),

двухрядную сумму без отсеченных старших разрядов и повторяем вертикальное :

1 1 1 1 1 1 1

0 1 0 1 0 1 1

1 1 1 1 0 0 0

1 1 1 0 0 0 1

1 1 0 1 0 0 0

1 1 0 1 0 1 1

0 0 1 1 1 1 0

1 0 0 1 0 0

0 0 0 1 0 0 0 110 110 0 11110 11

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Отсоединяем старшие разряды, выходящие за границы разрядов слагаемых суммы. Данный процесс требуется продолжать, пока не заполнятся N + 2 строки вычлененных старших разрядов двухрядных кодов промежуточных сумм, т.е. по количеству числа слагаемых текущей входной суммы N + 2. После накопления формируемого таким образом массива из N + 2 строк, а также из 3 (в данном ) -.

,

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

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

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

Алгоритм 1. Этап 1. Производим вертикальное суммирование N входных п +1 -р^рядных двоичных слагаемых способом, описанным выше до получения двух промежуточных полноразрядных слагаемых (двухрядного кода промежуточ-).

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

2.

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

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

2.

Накопление строк массива продолжается до тех пор, пока массив отсоединенных разрядов заново не заполнится до размера N + 2 строк.

Этап 2. Накопленный массив из N + 2 строк, вышедших за границу старших разрядов, подвергаем вертикальному суммированию, а также последующему сжатию до двухрядного кода и отсоединению его старших разрядов, вышедших за границу массива охарактеризованного накопления, как на этапе 1. Вышедшие за границу на этапе 2 разряды записываем как две текущие строки в новый массив и запоминаем для последующей обработки на этапе 3. Такая обработка на втором этапе связана с обработкой текущих входных групп слагаемых, а также с обработкой последовательно заполняемого массива старших отсоединенных разрядов с этапа 1, она продолжается до нового заполнения массива из N + 2 строк, вышедших за границу массива старших разрядов, в котором выполнялась рассматриваемая обработка. После этого накопленный массив из N + 2 слагаемых снова подвергается вертикальному суммированию с отсоединением старших разрядов.

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

Этап г . Этап с номером г будет выполняться после многократного выполнения этапа с номером г -1, только после накопления в массиве N + 2 слагаемых, представляющих собой отсоединенные старшие разряды двухрядных двоичных кодов, полученных на рассматриваемом предыдущем (г -1 -м) этапе.

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

Такая обработка продолжается до заполнения нового массива из N + 2 строк, вышедших за границу обрабатываемого массива старших разрядов. После этого накопленный массив из N + 2 слагаемых снова подвергается вертикальному суммированию с отсоединением старших разрядов.

Этап г +1. Массив для выполнения этапа с номером г +1 формируется на этапе г из отсоединенных двухрядны х наборов двоичных слагаемых, пополняясь на каждом шаге вертикальной обработки текущего набора входных слагаемых промежуточной двухрядной суммой (в виде двух текущих строк массива). В представленном виде алгоритма 1 г = 1, 2,..., при этом предполагается, что г ограничено числом, которое позволило бы производить операции сложения с фиксированной точкой. Рассматриваемый процесс можно представить в виде диаграммы

Этап Этап Этап Этап

[+1 [+1 2 1

т Т Т Т

ч— к— ... ■<— к—

Рис. 1. Диаграмма потоковой вертикальной обработки в формате с фиксированнойточкой

Каждый этап группового сложения, изображенный на диаграмме, можно выполнять на сопоставленной именно этому этапу группе ПЭ многопроцессорной вычислительной системы (МВС) с последовательным сжатием слагаемых до получения двухрядного кода. В результате процесс будет замедляться пропорционально замедлению выхода старших разрядов при переходе от этапа г к этапу г +1.

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

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

ПЭ ПЭ ПЭ ПЭ

І+1 І+1 2 1

▼ Т Т Т

К— <— ... •<— <—

Рис. 2. Структура МВС для потоковой вертикальной обработки в формате с

фиксированнойточкой

На рис. 1, 2 вертикальные стрелки соответствуют вертикальному сложению группы целочисленных двоичных слагаемых с исключением вычисления переноса, горизонтальные стрелки соответствуют направлению передачи отсоединенных старших разрядов от этапа г к этапу г +1 и от соответственной группы ПЭ; к соседней группе ПЭг +1, г = 1, 2,....

Временная сложность параллельной реализации схемы ограничения роста диапазона двоичных слагаемых. Пусть Т0 - время вертикальной обработки входного набора из N + 2 двоичных слагаемых разрядности п +1. Тогда время заполнения слагаемыми матрицы для выполнения второго этапа оценивается сле-.

Этап 2: матрица из N + 2 строк, заполненных парами по два двоичных сла-

N + 2

гаемых из отсоединенных старших разрядов, заполняется такими парами за —-— суммирований входного набора. Поскольку на всех шагах, кроме первого, два ела™ от „уЩей о6ра6о™ у*е ^ ™ и „

..

, N ^

* 2 = — Т0 (9)

2.

Этап 3: матрица из N + 2 строк должна быть заполнена аналогично преды-( . 1),

результате выполнения этапа 2 старших разрядов. Как и на предыдущем этапе,

N

матрица заполняется в текущем состоянии за — суммировании, выполняемых на

2

2, ,

N 2

Т0. (10)

Этап к +1: выполняя по индукции переход от оценок (9)-(11) к общему случаю, получим время выполнения данного этапа:

N к-1 „ Г^к

”■ 2 ХЫ Т0 Чт1 Т0, (11)

где к = 1, 2, ...,М при некотором количестве этапов М +1.

Как легко показать, количество этапов в реальности ограничено достаточно , -

сматриваемым способом в числовом формате с фиксированной точкой.

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

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

Оценка временной сложности реализации базисного алгоритма показывает, что непрерывная работа МВС в формате с фиксированной точкой без округления возможна в течение десятков, сотен и более лет.

, , -делирования метода представлены в [7, 8].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Метод вертикальной обработки потока целочисленных групповых данных. I. Групповые арифметические операции // Кибернетика и системный анализ. - 1998. - № 3. - С. 123-151.

2. Ромм Я.Е. Метод вертикальной обработки потока целочисленных групповых данных. II. Приложение к бинарным операциям // Кибернетика и системный анализ. - 1998. - № 6.

- С. 114-142.

3. Храпченко В.М. Об одном способе преобразования многорядного кода в однорядный // ДАН СССР, 1963. - Т. 148, № 2. - С. 296-299.

4. Dadda L. Some schemes for parallel multipliers. - Alta Freg. - May. - 1965. - P. 349-356.

5. Храп ченко В.М. Методы ускорения арифметических операций, основанные на преобразовании многорядного кода // Вопросы радиоэлектроники. - Сер. УП ЭВТ. 1965. - Вып. 8.

- С. 121-144.

6. . . -

ра // Проблемы кибернетики. - М.: Наука, 1967. - Вып. 19. - С. 107-123.

7. Ромм Я.Е., Иванова А.С. Оценка роста числового диапазона в методе вертикального

/ . - , 2010. - 29 . .

ВИНИТИ 19.11.2010, № 644-В2010.

8. . ., . . -

ленных двоичных кодов с фиксированной точкой / ТГП'И. - Таганрог, 2011. - 56 с. Деп. В ВИНИТИ 19.07.2011, № 350-В2011.

Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Чернов.

Ромм Яков Евсеевич - Таганрогский государственный педагогический институт; e-mail: romm@list.ru; 347926, г. Таганрог, ул. Инициативная, 48; тел.: 88634601753; 88634601812; 88634601807; д.т.н.; профессор.

Иванова Анна Сергеевна - e-mail: anya.ivanova@inbox.ru; тел.: +79045001153; аспирантка.

Romm Yakov Evseevich - Taganrog State Pedagogical Institute; e-mail: romm@list.ru; 48, Initsiativnaya street, Taganrog, 347926, Russia; phone: +78634601753, +78634601812, +78634601807; dr. of eng. sc.; professor.

Ivanova Anna Sergeevna - e-mail: anya.ivanova@inbox.ru; phone: +79045001153; postgraduate student.

УДК 621.82: 621.397

Л.К. Самойлов

ИТЕРАЦИОННЫЕ АЛГОРИТМЫ ВЫБОРА ЧАСТОТЫ ДИСКРЕТИЗАЦИИ АНАЛОГОВЫХ СИГНАЛОВ В ЦИФРОВЫХ СИСТЕМАХ УПРАВЛЕНИЯ И КОНТРОЛЯ

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

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

Частота дискретизации; восстановление сигналов; запаздывание сигналов; гранич-; .

L.K. Samoylov

THE ITERATIVE ALGORITHMS OF A DETERMINATION OF ANALOGUE SIGNALS SAMPLING FREQUENCY IN THE CONTROL AND THE SUPERVISING SYSTEMS

Sampling frequency of low-frequency signals is defined by errors of three processes: sampling; recovery; signal delay. The estimation of influence of these three processes traditionally is based on the use of concept of boundary frequency. At increasing of accuracy of representation of sensors signals there are problems of obtaining of their finite spectrum and determination of a

i Надоели баннеры? Вы всегда можете отключить рекламу.