Министерство
образования и науки Российской Федерации
Федеральное
государственное автономное
образовательное
учреждение высшего образования
Санкт-Петербургский политехнический
университет Петра Великого
Инженерно-экономический
институт
Кафедра предпринимательства
и коммерции
КУРСОВАЯ РАБОТА
по дисциплине
«Методы оптимальных решений»
на тему
«Решение задачи линейного программирования»
Выполнил студент
группы з34707/25
_______________ФИО
Принял доцент,
к.э.н.
_______________ Д.В.
Тихонов
Оценка: __________________
«___» ___________
2015 года
Санкт-Петербург
201
5
ФИО Решение
задачи линейного программирования. Курсовая
работа по дисциплине «Методы оптимальных
решений». – СПб.: СПбПУ, 2015, с. - 15, табл.
- 6, библиогр. - 2 назв.
МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ, ЗАДАЧА ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ, ДВОЙСТВЕННАЯ ЗАДАЧА,
ИСХОДНАЯ ЗАДАЧА, ОПТИМАЛЬНЫЙ ПЛАН
По данным задания
имеем производство двух видов изделий
А и В.
В ходе решения
мы сможем определить, сколько изделий
А и В необходимо выпускать, чтобы прибыль
от их реализации была максимальной, так
же сможем анализировать двойственную
задачу и проанализировать изменения
в ходе решения, при вводе дополнительных
значений и ограничений.
Решение будет
производиться с помощью надстройки программы
Excel «Поиск решения».
СОДЕРЖАНИЕ
Введение
Линейное программирование
- область математического программирования,
посвященная теории и методам решения
экстремальных задач, характеризующихся
линейной зависимостью между переменными.
Линейное программирование
применимо для построения математических
моделей тех процессов, в основу которых
может быть положена гипотеза линейного
представления реального мира. Например,
экономических задач, задач управления
и планирования на предприятии, таких
как рациональное использования сырья
и материалов; оптимизации раскроя, оптимизации
производственной программы предприятий,
оптимального размещения и концентрации
производства, составления оптимального
плана перевозок, работы транспорта, управления
производственными запасами, то есть,
решение той или иной задачи принадлежащие
сфере оптимального планирования в условиях,
когда имеют место ограничения технико-экономического
или какого-либо другого характера.
Целью данной
курсовой работы является решение исходной
задачи линейного программирования. Теоретической
базой выполнения курсовой работы послужили
соответствующие методические указания
и слайды лекций.
1. Исходные
данные
Для производства
двух видов изделий А и В предприятие использует
три вида сырья. Нормы расхода сырья каждого
вида на изготовление единицы продукции
данного вида приведены в таблице 1. В ней
же указаны прибыль от реализации одного
изделия каждого вида и общее количество
сырья данного вида (ОКС), которое может
быть использовано предприятием.
Таблица 1 - Условия задачи
Сырье |
А |
В |
ОКС (кг) |
I |
12 |
4 |
345 |
II |
4 |
4 |
144 |
III |
3 |
12 |
253 |
Прибыль/ед.,(р.) |
30 |
40 |
|
Дополнительное ограничение: производство
изделий А не менее 20. Так же имеются
дополнительные ограничения: запас сырья
2 - 180, сырья 3 – 150.
Учитывая, что
изделия А и В могут производиться в любых
соотношениях (сбыт обеспечен), требуется
составить такой план их выпуска, при котором
прибыль предприятия от реализации всех
изделий является максимальной.
Необходимо
сформулировать условие задачи в виде
экономическо-математической модели.
-это максимальная выручка. Х1 - количество
изделия А, X2 - количество изделия В.
F (х) = 30х1+40х2→
max
12х1+4х2≤ 345
4х1+4х2≤ 144
3х1+12х2≤ 253
х1 ≥ 0; х2≥ 0
Для решения
данной задачи в среде MS Excel необходимо
создать форму для ввода условий задачи
и ввести исходные данные.
При решении
поставленной задачи с применением программного
продукта MSExcel получились результаты,
приведенные в таблице 2.
Таблица 2 – результаты решения
задачи
Ресурс |
А |
В |
|
|
|
|
Кол-во |
19,89 |
16,11 |
Прибыль |
|
|
|
Прибыль/ед |
30 |
40 |
1241,11 |
|
|
|
Ограничения |
Расход ресурсов |
Лев.часть |
|
Прав.часть |
Разница |
I |
12 |
4 |
303,11 |
≤ |
345 |
41,89 |
II |
4 |
4 |
144,00 |
≤ |
144 |
0 |
III |
3 |
12 |
253,00 |
≤ |
253 |
0 |
Предприятие
может получить прибыль в размере 1 241 110
руб., при том условии, что оно должно выпускать
19,89 изделия А и 16,11 изделия В. Так же из
таблицы мы видим, что ресурсы II и III расходуются
полностью, что говорит о дефицитности
этих параметров, а ресурс I в остатке в
размере 41,89 единиц, это говорит о том,
что она является избыточным.
После выполнения
всех необходимых действий в программе
MSExcel формируется отчет по устойчивости,
он приведен в таблице 3
Таблица 3 - Отчет по устойчивости
Ячейки переменных |
Ячейка |
Имя |
Окончательное значение |
Приведенн. стоимость |
Целевая функция Коэф. |
Доп. Увелич. |
Доп. Уменьш. |
$B$2 |
Кол-во А |
19,8889 |
0 |
30 |
10 |
20 |
$C$2 |
Кол-во В |
16,1111 |
0 |
40 |
80 |
10 |
Ограничения |
Ячейка |
Имя |
Окончатель-ное значение |
Тень цена |
огранич. Правая сторона |
Доп. Увелич. |
Доп. Уменьш. |
$D$5 |
I Лев.часть |
303,1111 |
0 |
345 |
1,00E+30 |
41,8889 |
$D$6 |
II Лев.часть |
144 |
6,6667 |
144 |
11,424242 |
59,6667 |
$D$7 |
III Лев.часть |
253 |
1,1111 |
253 |
179 |
47,125 |
Столбец окончательное
значение показывает окончательное количество
продукции, которую можно изготовить для
получения максимальной прибыли при текущих
условиях, то есть необходимо изготавливать
19,9 изделия А и 16,1 изделия В.
В столбце приведенная
стоимость даны двойственные оценки значений
и коэффициента целевой функции. В нашем
случае - нули, следовательно, изделия
А и В включены в план производства.
«Допустимое
увеличение» и «Допустимое уменьшение»
это интервал устойчивости, т.е. данные
значения показывают в каких пределах
можно изменить коэффициент целевой
функции.
Теневая цена
- это двойственная оценка оборудования
(т.е. это решение двойственной задачи).
Так как сырье I расходуется не полностью,
в ячейке теневая цена стоит ноль, потому
что он является избыточным, и его дополнительная
единица ничего предприятию не сможет
принести. Сырье II и III израсходованы
полностью, поэтому, они являются для предприятия
дефицитными.
При увеличении
сырья II на 1 единицу целевая функция увеличиться
на 6,67 единицы. Следовательно, теневая
цена – это цена, которую максимально
готово заплатить предприятие за единицу
сырья II. Если заплатить за сырье II цену
больше 6,67 единицы, то это сырье не даст
такого же результата. При уменьшении
количества сырья I на 41,9 единиц, она станет
дефицитной. При увеличении сырья I на
любое количество теневая цена не изменится.
При уменьшении количества сырья II, оно
станет еще более дефицитным, и теневая
цена еще больше на него возрастет. При
увеличении сырья II на 11,43 единиц она станет
менее дефицитными и цена в связи с этим
изменится.
090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120
090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120
090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120090930129302103912031832103809128309128309810938091283091283098129389012803812380918313013019390301329012389012313010301280129109120
2. Двойственная
задача
Сформулируем
двойственную задачу
в виде экономико-математической
модели. Сырья I (
), сырья
II (
), сырья
(
).
F(y) = 345y1 + 144y2 + 254y3 → min
12y1 + 4y2 + 3y3 > 30
4y1 + 4y2 + 12y3 > 40
y1, y2, y3 > 0
При решении
двойственной задачи минимальные затраты
равны 1241,11 рублей, при этом приведенные
значения сырья I равны 0 рублей, сырья
II – 6,67 рубля, сырья III – 16,11.
Теневая цена
в отчете об устойчивости и есть решение
двойственной задачи. А оптимальное
значение функции двойственной задачи
соответствует оптимальному значению
прямой задачи.
F(y) = 345*0+144*6,67+253*1,11
= 1241,11
12*0+4*6,67+3*1,11 =
30
4*0+4*6,67+12*1,11 =
40
Производство
изделия А и В целесообразно, так как при
подстановке в ограничения целевой функции
левая и правая часть равны.
3. Устойчивость
решения
По исходным
данным меняем количество ОКС сырья II
с 144 на 180, сырья III с 253 на 150. Производство
изделий А не менее 20 единиц. Прибыль оставляем
прежней. Решение задачи приведено в таблице
4.
Таблица 4 - Производственный
план при изменившихся условиях
Ресурс |
А |
В |
|
|
|
|
Кол-во |
26,82 |
5,80 |
Прибыль |
|
|
|
Прибыль/ед |
30 |
40 |
1036,36 |
|
|
|
Ограничения |
Расход ресурсов |
Лев.часть |
|
Прав.часть |
Разница |
I |
12 |
4 |
345,00 |
≤ |
345 |
0,00 |
II |
4 |
4 |
130,45 |
= |
180 |
49,54545455 |
III |
3 |
12 |
150,00 |
= |
150 |
0 |
При заданных
дополнительных условиях мы видим, что
задача имеет решение. При этом сырье I
и III расходуются полностью, но прибыль
меньше, чем при исходных условиях.
Далее сформируем
двойственную задачу к производственному
плану при изменившихся условиях. Сырье
I (
), сырье
II (
), III сырье
(
), продукт
А примем как (y4).
F(y) = 345y1 + 180y2 + 150y2 → min
12y1 + 4y2 + 3y3 > 30
4y1 + 4y2 + 12y3 > 40
y4 > 20
y1, y2, y3, y4 > 0
F(y) = 345 * 1,82 +
180 * 0 + 150 * 2,73 = 1036,36
12 * 1,82 + 4 * 0 +
3 * 2,73 = 30
4 * 1,82 + 4 * 0 + 12
* 2,73 = 40
26,82 > 20
Также мы видим, что введенное ограничение
«производство изделий А не менее 20 единиц»
тоже выполняется, и при вышеупомянутых
условиях количество изделия выросло
с 19,89 до 26,82, что от нас и требовалось.
4. Целочисленное
ограничение
Ранее в задаче
решение было выражено дробными числами,
что невозможно при производстве изделий
А и В, потому в исходную задачу
добавляется дополнительное условие
о целочисленности количества
столов и шкафов. Данные представлены
в таблицах 5 и 6.
Таблица 5 - План при условии
целочисленного ограничения
Ресурс |
А |
В |
|
|
|
|
Кол-во |
20,00 |
16,00 |
Прибыль |
|
|
|
Прибыль/ед |
30 |
40 |
1240,00 |
|
|
|
Ограничения |
Расход ресурсов |
Лев.часть |
|
Прав.часть |
Разница |
I |
12 |
4 |
304,00 |
≤ |
345 |
41,00 |
II |
4 |
4 |
144,00 |
≤ |
144 |
0 |
III |
3 |
12 |
252,00 |
≤ |
253 |
1 |
Таблица 6 - Отчет о результатах
Целевая ячейка (Максимум) |
|
|
|
|
Ячейка |
Имя |
Исходное значение |
Окончательное значение |
|
|
$D$3 |
Прибыль/ед. прибыли |
1241,11 |
1240,00 |
|
|
Изменяемые ячейки |
|
|
|
|
Ячейка |
Имя |
Исход.значение |
Окончательное значение |
Целочисленное |
|
$B$2 |
Кол-во A |
19,89 |
20,00 |
Целочисленное |
|
$C$2 |
Кол-во B |
16,11 |
16,00 |
целочисленное |
|
Ограничения |
|
|
|
|
Ячейка |
Имя |
Значение |
Формула |
Состояние |
Допуск |
$D$5 |
I Левая часть |
304,00 |
$D$5<=$F$5 |
Без привязк |
41 |
$D$6 |
II Левая часть |
144,00 |
$D$6<=$F$6 |
Привязка |
0 |
$D$7 |
III Левая часть |
252,00 |
$D$7<=$F$7 |
Без привяз. |
1 |
$B$2:$C$2=Целочисленное
|
С применением
условия целочисленности, приводящего
задачи к допустимым ответам, получается,
что предприятию для получения максимальной
прибыли в размере 1240, 00 рубля, необходимо
производить 20 изделий А по цене 30 рублей
и 16 изделий В по цене 40 рублей.
5. Теоретическая
часть
Необходимо
ответить на вопросы 7, 9, 13.
7.
В чем суть задач параметрического
программирования?
Параметрическое
программирование — раздел математического
программирования, изучающий задачи, отличие
которых от других задач состоит в следующем.
Коэффициенты их целевой функции, или
числовые характеристики ограничений,
или и те и другие, предполагаются не постоянными
величинами (как, напр., в линейном программировании),
а функциями, зависящими от некоторых
параметров. Причем чаще всего эта зависимость
носит линейный характер.
П. п. позволяет
в ряде случаев приблизить к реальности
условия задач линейного программирования.
9.
Что такое дихотомические переменные?
Это переменная,
которая может принимать только два возможных
значения. Например, мужской или женский
13.
В чем суть модифицированного
симплекс метода?
В результате графического
решения задачи линейного программирования
можносделать исключительно важный вывод:
оптимальное решение достигается в вершине
области допустимых решений, а координаты
этой вершины дают нам оптимальные значения
переменных. На этом выводе основан
аналитический метод решения
задач линейного программирования,
который заключается в следующем: Находят
вершины области допустимых
решений, как это было описано
в предыдущем разделе. Определяют последовательно
значения целевой функции в вершинах.
Вершина, в которой целевая функция приобретает
оптимальное (максимальное или минимальное),значение,
является оптимальной вершиной. Координаты
этой вершины и являются
искомыми оптимальными значениями
переменных. Эти правила, сформулированные
на основании графического решения
задачи на плоскости, то есть
в двухмерном пространстве,
справедливы и для трехмерного
пространства. Только в этом
случае область допустимых решений
будет представлять собой многогранник.
Причем, координаты каждой его
вершины будут представлять собой
допустимые решения.
Координаты
той вершины, в которой целевая
функция имеет максимальное (или
минимальное) значение, являются оптимальным
решение задачи. Для трехмерного пространства,
где число переменных равно трем, это нетрудно
себе представить. В практических же
задачах, где число переменных
может исчисляться десятками
и даже сотнями, никакое самое
гениальное пространственное воображение
уже не поможет. В реальных задачах
вершин области допустимых решений
может оказаться настолько много,
что с их полным перебором
не справятся и самые мощные
из существующих вычислительных машин.
Поэтому для аналитического решения задач
линейного программирования разработан
специальный алгоритм сокращенного,
направленного перебора вершин.
Этот алгоритм обеспечивает
переход от одной вершины к другой
в таком направлении, при котором значение
целевой функции от вершины к вершине
улучшается. В геометрии есть
такое понятие симплекс. Симплексом
тела в k-мерном пространстве называют
совокупность k+1 его вершин. Так, для плоскости
при k = 2 симплексом будут три
вершины треугольника, при k
= 3 — четыре вершины четырехгранника
и т. д. С учетом этого понятия аналитический
метод решения задачи линейного программирования
называют симплекс-методом. Вычисления,
обеспечивающие определение значения
целевой функции и переменных
в одной вершине, называются итерацией.
Переход от одной вершины
к другой производится по
достаточно сложному алгоритму
симплекс-метода, который заключается
в обмене переменных. Каждый
переход от одной вершины
к другой состоит в том,
что одна переменная приравнивается
к нулю, а другая переменная,
значение которой было равно
нулю, принимает ненулевое значение.
На каждой итерации проверяют
специальные признаки, дает ли
очередная вершина допустимое
и оптимальное решение. Такая
процедура продолжается до тех пор, пока
не будут удовлетворены оба признака.
Нужно отметить, что, аналитическое
решение задачи линейного программирования
— дело весьма сложное, поэтому
более подробно описывать его
не будем. И действительно, чтобы
смотреть телевизор, совсем
необязательно иметь представление
о принципах его работы. Точно так же, чтобы
принимать оптимальное решение на основе
математической модели, совсем необязательно
знать достаточно сложные алгоритмы,
по которым это решение находится.
Однако когда известно, каким
путем получен результат, все-таки
больше уверенности в его
правильности. Поэтому особо любознательным
советуем прочесть [7, 10, 14, 19]. В заключение
отметим, что симплекс-метод
используется во всех программах,
предназначенных для решения
задач линейного программирования,
в частности, программе Excel и пакетах
прикладных программ QSB+ и QS.
Заключение