diff --git a/be/src/exec/tablet_info.cpp b/be/src/exec/tablet_info.cpp index 1b79278d8b..4191865f2a 100644 --- a/be/src/exec/tablet_info.cpp +++ b/be/src/exec/tablet_info.cpp @@ -60,6 +60,11 @@ Status OlapTableSchemaParam::init(const POlapTableSchemaParam& pschema) { _db_id = pschema.db_id(); _table_id = pschema.table_id(); _version = pschema.version(); + _is_partial_update = pschema.partial_update(); + + for (auto& col : pschema.partial_update_input_columns()) { + _partial_update_input_columns.insert(col); + } std::map slots_map; _tuple_desc = _obj_pool.add(new TupleDescriptor(pschema.tuple_desc())); @@ -74,6 +79,9 @@ Status OlapTableSchemaParam::init(const POlapTableSchemaParam& pschema) { index->index_id = p_index.id(); index->schema_hash = p_index.schema_hash(); for (auto& col : p_index.columns()) { + if (_is_partial_update && _partial_update_input_columns.count(col) == 0) { + continue; + } auto it = slots_map.find(col); if (it == std::end(slots_map)) { return Status::InternalError("unknown index column, column={}", col); @@ -105,6 +113,11 @@ Status OlapTableSchemaParam::init(const TOlapTableSchemaParam& tschema) { _table_id = tschema.table_id; _version = tschema.version; _is_dynamic_schema = tschema.is_dynamic_schema; + _is_partial_update = tschema.is_partial_update; + + for (auto& tcolumn : tschema.partial_update_input_columns) { + _partial_update_input_columns.insert(tcolumn); + } std::map slots_map; _tuple_desc = _obj_pool.add(new TupleDescriptor(tschema.tuple_desc)); for (auto& t_slot_desc : tschema.slot_descs) { @@ -118,6 +131,9 @@ Status OlapTableSchemaParam::init(const TOlapTableSchemaParam& tschema) { index->index_id = t_index.id; index->schema_hash = t_index.schema_hash; for (auto& col : t_index.columns) { + if (_is_partial_update && _partial_update_input_columns.count(col) == 0) { + continue; + } auto it = slots_map.find(col); if (it == std::end(slots_map)) { return Status::InternalError("unknown index column, column={}", col); @@ -163,6 +179,10 @@ void OlapTableSchemaParam::to_protobuf(POlapTableSchemaParam* pschema) const { pschema->set_db_id(_db_id); pschema->set_table_id(_table_id); pschema->set_version(_version); + pschema->set_partial_update(_is_partial_update); + for (auto col : _partial_update_input_columns) { + *pschema->add_partial_update_input_columns() = col; + } _tuple_desc->to_protobuf(pschema->mutable_tuple_desc()); for (auto slot : _tuple_desc->slots()) { slot->to_protobuf(pschema->add_slot_descs()); diff --git a/be/src/exec/tablet_info.h b/be/src/exec/tablet_info.h index 4840187e56..b4146ba6e0 100644 --- a/be/src/exec/tablet_info.h +++ b/be/src/exec/tablet_info.h @@ -87,6 +87,11 @@ public: bool is_dynamic_schema() const { return _is_dynamic_schema; } + bool is_partial_update() const { return _is_partial_update; } + std::set partial_update_input_columns() const { + return _partial_update_input_columns; + } + std::string debug_string() const; private: @@ -99,6 +104,8 @@ private: std::vector _indexes; mutable ObjectPool _obj_pool; bool _is_dynamic_schema = false; + bool _is_partial_update = false; + std::set _partial_update_input_columns; }; using OlapTableIndexTablets = TOlapTableIndexTablets; diff --git a/be/src/http/action/stream_load.cpp b/be/src/http/action/stream_load.cpp index 925a8ad8e0..0e59c4c7ac 100644 --- a/be/src/http/action/stream_load.cpp +++ b/be/src/http/action/stream_load.cpp @@ -592,6 +592,13 @@ Status StreamLoadAction::_process_put(HttpRequest* http_req, request.__set_enable_profile(false); } } + if (!http_req->header(HTTP_PARTIAL_COLUMNS).empty()) { + if (iequal(http_req->header(HTTP_PARTIAL_COLUMNS), "true")) { + request.__set_partial_update(true); + } else { + request.__set_partial_update(false); + } + } #ifndef BE_TEST // plan this load diff --git a/be/src/http/http_common.h b/be/src/http/http_common.h index 2295731d6a..86df938af1 100644 --- a/be/src/http/http_common.h +++ b/be/src/http/http_common.h @@ -55,7 +55,7 @@ static const std::string HTTP_TRIM_DOUBLE_QUOTES = "trim_double_quotes"; static const std::string HTTP_SKIP_LINES = "skip_lines"; static const std::string HTTP_COMMENT = "comment"; static const std::string HTTP_ENABLE_PROFILE = "enable_profile"; - +static const std::string HTTP_PARTIAL_COLUMNS = "partial_columns"; static const std::string HTTP_TWO_PHASE_COMMIT = "two_phase_commit"; static const std::string HTTP_TXN_ID_KEY = "txn_id"; static const std::string HTTP_TXN_OPERATION_KEY = "txn_operation"; diff --git a/be/src/olap/delta_writer.cpp b/be/src/olap/delta_writer.cpp index 54bb6a7fa0..1281cc913f 100644 --- a/be/src/olap/delta_writer.cpp +++ b/be/src/olap/delta_writer.cpp @@ -161,6 +161,9 @@ Status DeltaWriter::init() { RETURN_NOT_OK(_storage_engine->txn_manager()->prepare_txn(_req.partition_id, _tablet, _req.txn_id, _req.load_id)); } + if (_tablet->enable_unique_key_merge_on_write() && _delete_bitmap == nullptr) { + _delete_bitmap.reset(new DeleteBitmap(_tablet->tablet_id())); + } // build tablet schema in request level _build_current_tablet_schema(_req.index_id, _req.table_schema_param, *_tablet->tablet_schema()); RowsetWriterContext context; @@ -171,9 +174,12 @@ Status DeltaWriter::init() { context.tablet_schema = _tablet_schema; context.newest_write_timestamp = UnixSeconds(); context.tablet_id = _tablet->table_id(); - context.is_direct_write = true; context.tablet = _tablet; + context.is_direct_write = true; + context.mow_context = + std::make_shared(_cur_max_version, _rowset_ids, _delete_bitmap); RETURN_NOT_OK(_tablet->create_rowset_writer(context, &_rowset_writer)); + _schema.reset(new Schema(_tablet_schema)); _reset_mem_table(); @@ -285,9 +291,6 @@ Status DeltaWriter::wait_flush() { } void DeltaWriter::_reset_mem_table() { - if (_tablet->enable_unique_key_merge_on_write() && _delete_bitmap == nullptr) { - _delete_bitmap.reset(new DeleteBitmap(_tablet->tablet_id())); - } #ifndef BE_TEST auto mem_table_insert_tracker = std::make_shared( fmt::format("MemTableManualInsert:TabletId={}:MemTableNum={}#loadID={}", @@ -310,10 +313,10 @@ void DeltaWriter::_reset_mem_table() { _mem_table_insert_trackers.push_back(mem_table_insert_tracker); _mem_table_flush_trackers.push_back(mem_table_flush_tracker); } + auto mow_context = std::make_shared(_cur_max_version, _rowset_ids, _delete_bitmap); _mem_table.reset(new MemTable(_tablet, _schema.get(), _tablet_schema.get(), _req.slots, - _req.tuple_desc, _rowset_writer.get(), _delete_bitmap, - _rowset_ids, _cur_max_version, mem_table_insert_tracker, - mem_table_flush_tracker)); + _req.tuple_desc, _rowset_writer.get(), mow_context, + mem_table_insert_tracker, mem_table_flush_tracker)); } Status DeltaWriter::close() { @@ -397,8 +400,8 @@ Status DeltaWriter::close_wait(const PSlaveTabletNodes& slave_tablet_nodes, SchemaChangeHandler::tablet_in_converting(_tablet->tablet_id())) { return Status::OK(); } - RETURN_IF_ERROR(_tablet->calc_delete_bitmap(beta_rowset->rowset_id(), segments, nullptr, - _delete_bitmap, _cur_max_version, true)); + RETURN_IF_ERROR(_tablet->calc_delete_bitmap(_cur_rowset, segments, nullptr, _delete_bitmap, + _cur_max_version, true)); _storage_engine->txn_manager()->set_txn_related_delete_bitmap( _req.partition_id, _req.txn_id, _tablet->tablet_id(), _tablet->schema_hash(), _tablet->tablet_uid(), true, _delete_bitmap, _rowset_ids, @@ -530,6 +533,9 @@ void DeltaWriter::_build_current_tablet_schema(int64_t index_id, } _tablet_schema->set_table_id(table_schema_param->table_id()); + // set partial update columns info + _tablet_schema->set_partial_update_info(table_schema_param->is_partial_update(), + table_schema_param->partial_update_input_columns()); } void DeltaWriter::_request_slave_tablet_pull_rowset(PNodeInfo node_info) { diff --git a/be/src/olap/memtable.cpp b/be/src/olap/memtable.cpp index 56cf5bff1b..85ac69b16c 100644 --- a/be/src/olap/memtable.cpp +++ b/be/src/olap/memtable.cpp @@ -59,8 +59,7 @@ using namespace ErrorCode; MemTable::MemTable(TabletSharedPtr tablet, Schema* schema, const TabletSchema* tablet_schema, const std::vector* slot_descs, TupleDescriptor* tuple_desc, - RowsetWriter* rowset_writer, DeleteBitmapPtr delete_bitmap, - const RowsetIdUnorderedSet& rowset_ids, int64_t cur_max_version, + RowsetWriter* rowset_writer, std::shared_ptr mow_context, const std::shared_ptr& insert_mem_tracker, const std::shared_ptr& flush_mem_tracker) : _tablet(std::move(tablet)), @@ -76,9 +75,7 @@ MemTable::MemTable(TabletSharedPtr tablet, Schema* schema, const TabletSchema* t _offsets_of_aggregate_states(schema->num_columns()), _total_size_of_aggregate_states(0), _mem_usage(0), - _delete_bitmap(delete_bitmap), - _rowset_ids(rowset_ids), - _cur_max_version(cur_max_version) { + _mow_context(mow_context) { #ifndef BE_TEST _insert_mem_tracker_use_hook = std::make_unique( fmt::format("MemTableHookInsert:TabletId={}", std::to_string(tablet_id())), @@ -93,6 +90,10 @@ MemTable::MemTable(TabletSharedPtr tablet, Schema* schema, const TabletSchema* t _vec_skip_list = std::make_unique(_vec_row_comparator.get(), _arena.get(), _keys_type == KeysType::DUP_KEYS); _init_columns_offset_by_slot_descs(slot_descs, tuple_desc); + _num_columns = _tablet_schema->num_columns(); + if (_tablet_schema->is_partial_update()) { + _num_columns = _tablet_schema->partial_input_column_size(); + } } void MemTable::_init_columns_offset_by_slot_descs(const std::vector* slot_descs, const TupleDescriptor* tuple_desc) { @@ -108,7 +109,7 @@ void MemTable::_init_columns_offset_by_slot_descs(const std::vectornum_key_columns(); cid < _schema->num_columns(); ++cid) { + for (uint32_t cid = _schema->num_key_columns(); cid < _num_columns; ++cid) { vectorized::AggregateFunctionPtr function; if (_keys_type == KeysType::UNIQUE_KEYS && _tablet->enable_unique_key_merge_on_write()) { // In such table, non-key column's aggregation type is NONE, so we need to construct @@ -125,12 +126,12 @@ void MemTable::_init_agg_functions(const vectorized::Block* block) { _agg_functions[cid] = function; } - for (uint32_t cid = _schema->num_key_columns(); cid < _schema->num_columns(); ++cid) { + for (uint32_t cid = _schema->num_key_columns(); cid < _num_columns; ++cid) { _offsets_of_aggregate_states[cid] = _total_size_of_aggregate_states; _total_size_of_aggregate_states += _agg_functions[cid]->size_of_data(); // If not the last aggregate_state, we need pad it so that next aggregate_state will be aligned. - if (cid + 1 < _agg_functions.size()) { + if (cid + 1 < _num_columns) { size_t alignment_of_next_state = _agg_functions[cid + 1]->align_of_data(); /// Extend total_size to next alignment requirement @@ -148,7 +149,7 @@ MemTable::~MemTable() { for (it.SeekToFirst(); it.Valid(); it.Next()) { // We should release agg_places here, because they are not released when a // load is canceled. - for (size_t i = _schema->num_key_columns(); i < _schema->num_columns(); ++i) { + for (size_t i = _schema->num_key_columns(); i < _num_columns; ++i) { auto function = _agg_functions[i]; DCHECK(function != nullptr); DCHECK(it.key()->agg_places(i) != nullptr); @@ -165,8 +166,7 @@ MemTable::~MemTable() { DCHECK_EQ(_flush_mem_tracker->consumption(), 0); } -int MemTable::RowInBlockComparator::operator()(const RowInBlock* left, - const RowInBlock* right) const { +int RowInBlockComparator::operator()(const RowInBlock* left, const RowInBlock* right) const { return _pblock->compare_at(left->_row_pos, right->_row_pos, _schema->num_key_columns(), *_pblock, -1); } @@ -226,7 +226,7 @@ void MemTable::_insert_one_row_from_block(RowInBlock* row_in_block) { } else { row_in_block->init_agg_places(_arena->aligned_alloc(_total_size_of_aggregate_states, 16), _offsets_of_aggregate_states.data()); - for (auto cid = _schema->num_key_columns(); cid < _schema->num_columns(); cid++) { + for (auto cid = _schema->num_key_columns(); cid < _num_columns; cid++) { try { auto col_ptr = _input_mutable_block.mutable_columns()[cid].get(); auto data = row_in_block->agg_places(cid); @@ -241,7 +241,6 @@ void MemTable::_insert_one_row_from_block(RowInBlock* row_in_block) { throw; } } - _vec_skip_list->InsertWithHint(row_in_block, is_exist, &_vec_hint); } } @@ -261,7 +260,7 @@ void MemTable::_aggregate_two_row_in_block(RowInBlock* new_row, RowInBlock* row_ row_in_skiplist->_row_pos = new_row->_row_pos; } // dst is non-sequence row, or dst sequence is smaller - for (uint32_t cid = _schema->num_key_columns(); cid < _schema->num_columns(); ++cid) { + for (uint32_t cid = _schema->num_key_columns(); cid < _num_columns; ++cid) { auto col_ptr = _input_mutable_block.mutable_columns()[cid].get(); _agg_functions[cid]->add(row_in_skiplist->agg_places(cid), const_cast(&col_ptr), @@ -303,7 +302,7 @@ void MemTable::_collect_vskiplist_results() { *block_data[i].column.get(), it.key()->_row_pos); } // get value columns from agg_places - for (size_t i = _schema->num_key_columns(); i < _schema->num_columns(); ++i) { + for (size_t i = _schema->num_key_columns(); i < _num_columns; ++i) { auto function = _agg_functions[i]; auto agg_place = it.key()->agg_places(i); auto col_ptr = _output_mutable_block.get_column_by_position(i).get(); @@ -353,14 +352,25 @@ void MemTable::shrink_memtable_by_agg() { } bool MemTable::need_flush() const { - return memory_usage() >= config::write_buffer_size; + auto max_size = config::write_buffer_size; + if (_tablet_schema->is_partial_update()) { + auto update_columns_size = _tablet_schema->partial_input_column_size(); + max_size = max_size * update_columns_size / _tablet_schema->num_columns(); + max_size = max_size > 1048576 ? max_size : 1048576; + } + return memory_usage() >= max_size; } bool MemTable::need_agg() const { if (_keys_type == KeysType::AGG_KEYS) { - return memory_usage() >= config::write_buffer_size_for_agg; + auto max_size = config::write_buffer_size_for_agg; + if (_tablet_schema->is_partial_update()) { + auto update_columns_size = _tablet_schema->partial_input_column_size(); + max_size = max_size * update_columns_size / _tablet_schema->num_columns(); + max_size = max_size > 1048576 ? max_size : 1048576; + } + return memory_usage() >= max_size; } - return false; } @@ -384,8 +394,9 @@ Status MemTable::_generate_delete_bitmap(int64_t atomic_num_segments_before_flus SchemaChangeHandler::tablet_in_converting(_tablet->tablet_id())) { return Status::OK(); } - RETURN_IF_ERROR(_tablet->calc_delete_bitmap(beta_rowset->rowset_id(), segments, &_rowset_ids, - _delete_bitmap, _cur_max_version)); + RETURN_IF_ERROR(_tablet->calc_delete_bitmap(rowset, segments, &_mow_context->rowset_ids, + _mow_context->delete_bitmap, + _mow_context->max_version)); return Status::OK(); } @@ -400,8 +411,10 @@ Status MemTable::flush() { int64_t atomic_num_segments_before_flush = _rowset_writer->get_atomic_num_segment(); RETURN_NOT_OK(_do_flush(duration_ns)); int64_t atomic_num_segments_after_flush = _rowset_writer->get_atomic_num_segment(); - RETURN_NOT_OK(_generate_delete_bitmap(atomic_num_segments_before_flush, - atomic_num_segments_after_flush)); + if (!_tablet_schema->is_partial_update()) { + RETURN_NOT_OK(_generate_delete_bitmap(atomic_num_segments_before_flush, + atomic_num_segments_after_flush)); + } DorisMetrics::instance()->memtable_flush_total->increment(1); DorisMetrics::instance()->memtable_flush_duration_us->increment(duration_ns / 1000); VLOG_CRITICAL << "after flush memtable for tablet: " << tablet_id() @@ -415,10 +428,6 @@ Status MemTable::_do_flush(int64_t& duration_ns) { SCOPED_RAW_TIMER(&duration_ns); _collect_vskiplist_results(); vectorized::Block block = _output_mutable_block.to_block(); - if (_tablet_schema->store_row_column()) { - // convert block to row store format - serialize_block_to_row_column(block); - } if (_tablet_schema->is_dynamic_schema()) { // Unfold variant column unfold_variant_column(block); @@ -462,7 +471,7 @@ void MemTable::serialize_block_to_row_column(vectorized::Block& block) { watch.start(); // find row column id int row_column_id = 0; - for (int i = 0; i < _tablet_schema->num_columns(); ++i) { + for (int i = 0; i < _num_columns; ++i) { if (_tablet_schema->column(i).is_row_store_column()) { row_column_id = i; break; @@ -478,7 +487,7 @@ void MemTable::serialize_block_to_row_column(vectorized::Block& block) { .get()); row_store_column->clear(); vectorized::JsonbSerializeUtil::block_to_jsonb(*_tablet_schema, block, *row_store_column, - _tablet_schema->num_columns()); + _num_columns); VLOG_DEBUG << "serialize , num_rows:" << block.rows() << ", row_column_id:" << row_column_id << ", total_byte_size:" << block.allocated_bytes() << ", serialize_cost(us)" << watch.elapsed_time() / 1000; diff --git a/be/src/olap/memtable.h b/be/src/olap/memtable.h index f50b78c0b1..c6e96f463e 100644 --- a/be/src/olap/memtable.h +++ b/be/src/olap/memtable.h @@ -44,12 +44,41 @@ class TabletSchema; class TupleDescriptor; enum KeysType : int; +// row pos in _input_mutable_block +struct RowInBlock { + size_t _row_pos; + char* _agg_mem; + size_t* _agg_state_offset; + + RowInBlock(size_t row) : _row_pos(row) {} + + void init_agg_places(char* agg_mem, size_t* agg_state_offset) { + _agg_mem = agg_mem; + _agg_state_offset = agg_state_offset; + } + + char* agg_places(size_t offset) const { return _agg_mem + _agg_state_offset[offset]; } +}; + +class RowInBlockComparator { +public: + RowInBlockComparator(const Schema* schema) : _schema(schema) {} + // call set_block before operator(). + // only first time insert block to create _input_mutable_block, + // so can not Comparator of construct to set pblock + void set_block(vectorized::MutableBlock* pblock) { _pblock = pblock; } + int operator()(const RowInBlock* left, const RowInBlock* right) const; + +private: + const Schema* _schema; + vectorized::MutableBlock* _pblock; // 对应Memtable::_input_mutable_block +}; + class MemTable { public: MemTable(TabletSharedPtr tablet, Schema* schema, const TabletSchema* tablet_schema, const std::vector* slot_descs, TupleDescriptor* tuple_desc, - RowsetWriter* rowset_writer, DeleteBitmapPtr delete_bitmap, - const RowsetIdUnorderedSet& rowset_ids, int64_t cur_max_version, + RowsetWriter* rowset_writer, std::shared_ptr mow_context, const std::shared_ptr& insert_mem_tracker, const std::shared_ptr& flush_mem_tracker); ~MemTable(); @@ -79,36 +108,6 @@ public: private: Status _do_flush(int64_t& duration_ns); - // row pos in _input_mutable_block - struct RowInBlock { - size_t _row_pos; - char* _agg_mem; - size_t* _agg_state_offset; - - RowInBlock(size_t row) : _row_pos(row) {} - - void init_agg_places(char* agg_mem, size_t* agg_state_offset) { - _agg_mem = agg_mem; - _agg_state_offset = agg_state_offset; - } - - char* agg_places(size_t offset) const { return _agg_mem + _agg_state_offset[offset]; } - }; - - class RowInBlockComparator { - public: - RowInBlockComparator(const Schema* schema) : _schema(schema) {} - // call set_block before operator(). - // only first time insert block to create _input_mutable_block, - // so can not Comparator of construct to set pblock - void set_block(vectorized::MutableBlock* pblock) { _pblock = pblock; } - int operator()(const RowInBlock* left, const RowInBlock* right) const; - - private: - const Schema* _schema; - vectorized::MutableBlock* _pblock; // 对应Memtable::_input_mutable_block - }; - private: using VecTable = SkipList; @@ -192,9 +191,8 @@ private: // Memory usage without _arena. size_t _mem_usage; - DeleteBitmapPtr _delete_bitmap; - RowsetIdUnorderedSet _rowset_ids; - int64_t _cur_max_version; + std::shared_ptr _mow_context; + size_t _num_columns; }; // class MemTable inline std::ostream& operator<<(std::ostream& os, const MemTable& table) { diff --git a/be/src/olap/olap_common.h b/be/src/olap/olap_common.h index ad81578a6a..46964fadba 100644 --- a/be/src/olap/olap_common.h +++ b/be/src/olap/olap_common.h @@ -463,4 +463,23 @@ struct HashOfRowsetId { using RowsetIdUnorderedSet = std::unordered_set; +class DeleteBitmap; +// merge on write context +struct MowContext { + MowContext(int64_t version, const RowsetIdUnorderedSet& ids, std::shared_ptr db) + : max_version(version), rowset_ids(ids), delete_bitmap(db) {} + int64_t max_version; + const RowsetIdUnorderedSet& rowset_ids; + std::shared_ptr delete_bitmap; +}; + +// used in mow partial update +struct RidAndPos { + uint32_t rid; + // pos in block + size_t pos; +}; + +using PartialUpdateReadPlan = std::map>>; + } // namespace doris diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp b/be/src/olap/rowset/beta_rowset_writer.cpp index 744cf8066c..224944d917 100644 --- a/be/src/olap/rowset/beta_rowset_writer.cpp +++ b/be/src/olap/rowset/beta_rowset_writer.cpp @@ -61,6 +61,7 @@ BetaRowsetWriter::BetaRowsetWriter() : _rowset_meta(nullptr), _num_segment(0), _num_flushed_segment(0), + _segment_start_id(0), _segcompacted_point(0), _num_segcompacted(0), _segment_writer(nullptr), @@ -681,7 +682,7 @@ Status BetaRowsetWriter::_do_create_segment_writer( path = BetaRowset::local_segment_path_segcompacted(_context.rowset_dir, _context.rowset_id, begin, end); } else { - segment_id = _num_segment.fetch_add(1); + segment_id = _num_segment.fetch_add(1) + _segment_start_id; path = BetaRowset::segment_file_path(_context.rowset_dir, _context.rowset_id, segment_id); } auto fs = _rowset_meta->fs(); @@ -702,17 +703,19 @@ Status BetaRowsetWriter::_do_create_segment_writer( writer_options.is_direct_write = _context.is_direct_write; if (is_segcompaction) { - writer->reset(new segment_v2::SegmentWriter(file_writer.get(), _num_segcompacted, - _context.tablet_schema, _context.data_dir, - _context.max_rows_per_segment, writer_options)); + writer->reset(new segment_v2::SegmentWriter( + file_writer.get(), _num_segcompacted, _context.tablet_schema, _context.tablet, + _context.data_dir, _context.max_rows_per_segment, writer_options, + _context.mow_context)); if (_segcompaction_worker.get_file_writer() != nullptr) { _segcompaction_worker.get_file_writer()->close(); } _segcompaction_worker.get_file_writer().reset(file_writer.release()); } else { - writer->reset(new segment_v2::SegmentWriter(file_writer.get(), segment_id, - _context.tablet_schema, _context.data_dir, - _context.max_rows_per_segment, writer_options)); + writer->reset(new segment_v2::SegmentWriter( + file_writer.get(), segment_id, _context.tablet_schema, _context.tablet, + _context.data_dir, _context.max_rows_per_segment, writer_options, + _context.mow_context)); { std::lock_guard l(_lock); _file_writers.push_back(std::move(file_writer)); diff --git a/be/src/olap/rowset/beta_rowset_writer.h b/be/src/olap/rowset/beta_rowset_writer.h index c6fa740a58..011e53e300 100644 --- a/be/src/olap/rowset/beta_rowset_writer.h +++ b/be/src/olap/rowset/beta_rowset_writer.h @@ -152,12 +152,15 @@ private: Status _rename_compacted_segment_plain(uint64_t seg_id); Status _rename_compacted_indices(int64_t begin, int64_t end, uint64_t seg_id); + void set_segment_start_id(int32_t start_id) override { _segment_start_id = start_id; } + protected: RowsetWriterContext _context; std::shared_ptr _rowset_meta; std::atomic _num_segment; std::atomic _num_flushed_segment; + int32_t _segment_start_id; //basic write start from 0, partial update may be different std::atomic _segcompacted_point; // segemnts before this point have // already been segment compacted std::atomic _num_segcompacted; // index for segment compaction @@ -210,6 +213,8 @@ protected: std::atomic _segcompaction_status; fmt::memory_buffer vlog_buffer; + + std::shared_ptr _mow_context; }; } // namespace doris diff --git a/be/src/olap/rowset/rowset.cpp b/be/src/olap/rowset/rowset.cpp index d9aa8fb05e..699d384b5f 100644 --- a/be/src/olap/rowset/rowset.cpp +++ b/be/src/olap/rowset/rowset.cpp @@ -83,4 +83,16 @@ bool Rowset::check_rowset_segment() { return check_current_rowset_segment(); } +void Rowset::merge_rowset_meta(const RowsetMetaSharedPtr& other) { + _rowset_meta->set_num_segments(num_segments() + other->num_segments()); + _rowset_meta->set_num_rows(num_rows() + other->num_rows()); + _rowset_meta->set_data_disk_size(data_disk_size() + other->data_disk_size()); + _rowset_meta->set_index_disk_size(index_disk_size() + other->index_disk_size()); + std::vector key_bounds; + other->get_segments_key_bounds(&key_bounds); + for (auto key_bound : key_bounds) { + _rowset_meta->add_segment_key_bounds(key_bound); + } +} + } // namespace doris diff --git a/be/src/olap/rowset/rowset.h b/be/src/olap/rowset/rowset.h index 198dd8a0cd..27fc38f398 100644 --- a/be/src/olap/rowset/rowset.h +++ b/be/src/olap/rowset/rowset.h @@ -166,6 +166,10 @@ public: // TODO should we rename the method to remove_files() to be more specific? virtual Status remove() = 0; + // used for partial update, when publish, partial update may add a new rowset + // and we should update rowset meta + void merge_rowset_meta(const RowsetMetaSharedPtr& other); + // close to clear the resource owned by rowset // including: open files, indexes and so on // NOTICE: can not call this function in multithreads diff --git a/be/src/olap/rowset/rowset_meta.h b/be/src/olap/rowset/rowset_meta.h index f9491e1553..5b7fbfface 100644 --- a/be/src/olap/rowset/rowset_meta.h +++ b/be/src/olap/rowset/rowset_meta.h @@ -355,6 +355,11 @@ public: } } + void add_segment_key_bounds(const KeyBoundsPB& segments_key_bounds) { + *_rowset_meta_pb.add_segments_key_bounds() = segments_key_bounds; + set_segments_overlap(OVERLAPPING); + } + void set_newest_write_timestamp(int64_t timestamp) { _rowset_meta_pb.set_newest_write_timestamp(timestamp); } diff --git a/be/src/olap/rowset/rowset_writer.h b/be/src/olap/rowset/rowset_writer.h index 6249f01637..1bdc4daa2d 100644 --- a/be/src/olap/rowset/rowset_writer.h +++ b/be/src/olap/rowset/rowset_writer.h @@ -93,6 +93,8 @@ public: virtual Status wait_flying_segcompaction() = 0; + virtual void set_segment_start_id(int num_segment) { LOG(FATAL) << "not supported!"; } + private: DISALLOW_COPY_AND_ASSIGN(RowsetWriter); }; diff --git a/be/src/olap/rowset/rowset_writer_context.h b/be/src/olap/rowset/rowset_writer_context.h index 8d4fabfc88..e526f80158 100644 --- a/be/src/olap/rowset/rowset_writer_context.h +++ b/be/src/olap/rowset/rowset_writer_context.h @@ -89,6 +89,8 @@ struct RowsetWriterContext { // for tracing local schema change record std::shared_ptr schema_change_recorder = nullptr; + + std::shared_ptr mow_context; }; } // namespace doris diff --git a/be/src/olap/rowset/segment_v2/segment.cpp b/be/src/olap/rowset/segment_v2/segment.cpp index 78eab64949..3434634479 100644 --- a/be/src/olap/rowset/segment_v2/segment.cpp +++ b/be/src/olap/rowset/segment_v2/segment.cpp @@ -338,11 +338,11 @@ Status Segment::new_inverted_index_iterator(const TabletColumn& tablet_column, return Status::OK(); } -Status Segment::lookup_row_key(const Slice& key, RowLocation* row_location) { +Status Segment::lookup_row_key(const Slice& key, bool with_seq_col, RowLocation* row_location) { RETURN_IF_ERROR(load_pk_index_and_bf()); bool has_seq_col = _tablet_schema->has_sequence_col(); size_t seq_col_length = 0; - if (has_seq_col) { + if (has_seq_col && with_seq_col) { seq_col_length = _tablet_schema->column(_tablet_schema->sequence_col_idx()).length() + 1; } Slice key_without_seq = Slice(key.get_data(), key.get_size() - seq_col_length); diff --git a/be/src/olap/rowset/segment_v2/segment.h b/be/src/olap/rowset/segment_v2/segment.h index bfb09eb1fd..f847982761 100644 --- a/be/src/olap/rowset/segment_v2/segment.h +++ b/be/src/olap/rowset/segment_v2/segment.h @@ -103,7 +103,7 @@ public: return _pk_index_reader.get(); } - Status lookup_row_key(const Slice& key, RowLocation* row_location); + Status lookup_row_key(const Slice& key, bool with_seq_col, RowLocation* row_location); Status read_key_by_rowid(uint32_t row_id, std::string* key); diff --git a/be/src/olap/rowset/segment_v2/segment_writer.cpp b/be/src/olap/rowset/segment_v2/segment_writer.cpp index 6b3a2a1039..7c430f5a07 100644 --- a/be/src/olap/rowset/segment_v2/segment_writer.cpp +++ b/be/src/olap/rowset/segment_v2/segment_writer.cpp @@ -50,25 +50,33 @@ #include "vec/common/schema_util.h" #include "vec/core/block.h" #include "vec/core/column_with_type_and_name.h" +#include "vec/io/reader_buffer.h" +#include "vec/jsonb/serialize.h" #include "vec/olap/olap_data_convertor.h" namespace doris { namespace segment_v2 { +using namespace ErrorCode; + const char* k_segment_magic = "D0R1"; const uint32_t k_segment_magic_length = 4; SegmentWriter::SegmentWriter(io::FileWriter* file_writer, uint32_t segment_id, - TabletSchemaSPtr tablet_schema, DataDir* data_dir, - uint32_t max_row_per_segment, const SegmentWriterOptions& opts) + TabletSchemaSPtr tablet_schema, TabletSharedPtr tablet, + DataDir* data_dir, uint32_t max_row_per_segment, + const SegmentWriterOptions& opts, + std::shared_ptr mow_context) : _segment_id(segment_id), _tablet_schema(tablet_schema), + _tablet(tablet), _data_dir(data_dir), _max_row_per_segment(max_row_per_segment), _opts(opts), _file_writer(file_writer), _mem_tracker(std::make_unique("SegmentWriter:Segment-" + - std::to_string(segment_id))) { + std::to_string(segment_id))), + _mow_context(mow_context) { CHECK_NOTNULL(file_writer); _num_key_columns = _tablet_schema->num_key_columns(); _num_short_key_columns = _tablet_schema->num_short_key_columns(); @@ -108,7 +116,8 @@ void SegmentWriter::init_column_meta(ColumnMetaPB* meta, uint32_t column_id, Status SegmentWriter::init(const vectorized::Block* block) { std::vector column_ids; int column_cnt = _tablet_schema->num_columns(); - if (block) { + if (block && !_tablet_schema->is_partial_update()) { + // partial update only contain several columns column_cnt = block->columns(); } for (uint32_t i = 0; i < column_cnt; ++i) { @@ -297,11 +306,230 @@ void SegmentWriter::_maybe_invalid_row_cache(const std::string& key) { } } +void SegmentWriter::_serialize_block_to_row_column(vectorized::Block& block) { + if (block.rows() == 0) { + return; + } + MonotonicStopWatch watch; + watch.start(); + // find row column id + int row_column_id = 0; + for (int i = 0; i < _tablet_schema->num_columns(); ++i) { + if (_tablet_schema->column(i).is_row_store_column()) { + row_column_id = i; + break; + } + } + vectorized::ColumnString* row_store_column = + static_cast(block.get_by_position(row_column_id) + .column->assume_mutable_ref() + .assume_mutable() + .get()); + row_store_column->clear(); + vectorized::JsonbSerializeUtil::block_to_jsonb(*_tablet_schema, block, *row_store_column, + _tablet_schema->num_columns()); + VLOG_DEBUG << "serialize , num_rows:" << block.rows() << ", row_column_id:" << row_column_id + << ", total_byte_size:" << block.allocated_bytes() << ", serialize_cost(us)" + << watch.elapsed_time() / 1000; +} + +// for partial update, we should do following steps to fill content of block: +// 1. set block data to data convertor, and get all key_column's converted slice +// 2. get pk of input block, and read missing columns +// 2.1 first find key location{rowset_id, segment_id, row_id} +// 2.2 build read plan to read by batch +// 2.3 fill block +// 3. set columns to data convertor and then write all columns +Status SegmentWriter::append_block_with_partial_content(const vectorized::Block* block, + size_t row_pos, size_t num_rows) { + CHECK(block->columns() > _tablet_schema->num_key_columns() && + block->columns() < _tablet_schema->num_columns()); + CHECK(_tablet_schema->keys_type() == UNIQUE_KEYS && _opts.enable_unique_key_merge_on_write); + + // find missing column cids + std::vector missing_cids; + std::vector including_cids; + for (uint32_t i = 0; i < _tablet_schema->num_columns(); ++i) { + if (_tablet_schema->is_column_missing(i)) { + missing_cids.push_back(i); + } else { + including_cids.push_back(i); + } + } + // create full block and fill with input columns + auto full_block = _tablet_schema->create_block(); + size_t input_id = 0; + for (auto i : including_cids) { + full_block.replace_by_position(i, block->get_by_position(input_id++).column); + } + _olap_data_convertor->set_source_content_with_specifid_columns(&full_block, row_pos, num_rows, + including_cids); + + // write including columns + std::vector key_columns; + for (auto cid : including_cids) { + // olap data convertor alway start from id = 0 + auto converted_result = _olap_data_convertor->convert_column_data(cid); + if (converted_result.first != Status::OK()) { + return converted_result.first; + } + if (cid < _num_key_columns) { + key_columns.push_back(converted_result.second); + } + RETURN_IF_ERROR(_column_writers[cid]->append(converted_result.second->get_nullmap(), + converted_result.second->get_data(), + num_rows)); + } + + bool has_default = false; + std::vector use_default_flag; + use_default_flag.reserve(num_rows); + for (size_t pos = 0; pos < num_rows; pos++) { + std::string key = _full_encode_keys(key_columns, pos); + RETURN_IF_ERROR(_primary_key_index_builder->add_item(key)); + _maybe_invalid_row_cache(key); + + RowLocation loc; + // save rowset shared ptr so this rowset wouldn't delete + RowsetSharedPtr rowset; + auto st = _tablet->lookup_row_key(key, false, &_mow_context->rowset_ids, &loc, + _mow_context->max_version, &rowset); + if (st.is()) { + if (!_tablet_schema->allow_key_not_exist_in_partial_update()) { + return Status::InternalError("partial update key not exist before"); + } + has_default = true; + use_default_flag.emplace_back(true); + continue; + } + if (!st.ok()) { + LOG(WARNING) << "failed to lookup row key"; + return st; + } + // partial update should not contain invisible columns + use_default_flag.emplace_back(false); + _rsid_to_rowset.emplace(rowset->rowset_id(), rowset); + _tablet->prepare_to_read(loc, pos, &_rssid_to_rid); + _mow_context->delete_bitmap->add({loc.rowset_id, loc.segment_id, 0}, loc.row_id); + } + CHECK(use_default_flag.size() == num_rows); + + // read and fill block + auto mutable_full_columns = full_block.mutate_columns(); + RETURN_IF_ERROR(fill_missing_columns(mutable_full_columns, use_default_flag, has_default)); + // row column should be filled here + if (_tablet_schema->store_row_column()) { + // convert block to row store format + _serialize_block_to_row_column(full_block); + } + + // convert missing columns and send to column writer + auto cids_missing = _tablet_schema->get_missing_cids(); + _olap_data_convertor->set_source_content_with_specifid_columns(&full_block, row_pos, num_rows, + cids_missing); + for (auto cid : cids_missing) { + auto converted_result = _olap_data_convertor->convert_column_data(cid); + if (converted_result.first != Status::OK()) { + return converted_result.first; + } + RETURN_IF_ERROR(_column_writers[cid]->append(converted_result.second->get_nullmap(), + converted_result.second->get_data(), + num_rows)); + } + + _num_rows_written += num_rows; + _olap_data_convertor->clear_source_content(); + return Status::OK(); +} + +Status SegmentWriter::fill_missing_columns(vectorized::MutableColumns& mutable_full_columns, + const std::vector& use_default_flag, + bool has_default) { + // create old value columns + auto old_value_block = _tablet_schema->create_missing_columns_block(); + std::vector cids_missing = _tablet_schema->get_missing_cids(); + CHECK(cids_missing.size() == old_value_block.columns()); + auto mutable_old_columns = old_value_block.mutate_columns(); + bool has_row_column = _tablet_schema->store_row_column(); + // record real pos, key is input line num, value is old_block line num + std::map read_index; + size_t read_idx = 0; + for (auto rs_it : _rssid_to_rid) { + for (auto seg_it : rs_it.second) { + auto rowset = _rsid_to_rowset[rs_it.first]; + CHECK(rowset); + std::vector rids; + for (auto id_and_pos : seg_it.second) { + rids.emplace_back(id_and_pos.rid); + read_index[id_and_pos.pos] = read_idx++; + } + if (has_row_column) { + auto st = _tablet->fetch_value_through_row_column(rowset, seg_it.first, rids, + cids_missing, old_value_block); + if (!st.ok()) { + LOG(WARNING) << "failed to fetch value through row column"; + return st; + } + continue; + } + for (size_t cid = 0; cid < mutable_old_columns.size(); ++cid) { + auto st = _tablet->fetch_value_by_rowids(rowset, seg_it.first, rids, + old_value_block.get_names()[cid], + mutable_old_columns[cid]); + // set read value to output block + if (!st.ok()) { + LOG(WARNING) << "failed to fetch value by rowids"; + return st; + } + } + } + } + // build default value columns + auto default_value_block = old_value_block.clone_empty(); + auto mutable_default_value_columns = default_value_block.mutate_columns(); + if (has_default) { + for (auto i = 0; i < cids_missing.size(); ++i) { + auto default_value = _tablet_schema->column(cids_missing[i]).default_value(); + vectorized::ReadBuffer rb(const_cast(default_value.c_str()), + default_value.size()); + old_value_block.get_by_position(i).type->from_string( + rb, mutable_default_value_columns[i].get()); + } + } + + // fill all missing value from mutable_old_columns, need consider default value + for (auto idx = 0; idx < use_default_flag.size(); idx++) { + if (use_default_flag[idx]) { + // use default value + for (auto i = 0; i < cids_missing.size(); ++i) { + CHECK(_tablet_schema->column(cids_missing[i]).has_default_value()); + mutable_full_columns[cids_missing[i]]->insert_from( + *mutable_default_value_columns[i].get(), 0); + } + continue; + } + auto pos_in_old_block = read_index[idx]; + for (auto i = 0; i < cids_missing.size(); ++i) { + mutable_full_columns[cids_missing[i]]->insert_from( + *old_value_block.get_columns_with_type_and_name()[i].column.get(), + pos_in_old_block); + } + } + return Status::OK(); +} + Status SegmentWriter::append_block(const vectorized::Block* block, size_t row_pos, size_t num_rows) { + if (_tablet_schema->is_partial_update() && _opts.is_direct_write) { + RETURN_IF_ERROR(append_block_with_partial_content(block, row_pos, num_rows)); + return Status::OK(); + } CHECK(block->columns() >= _column_writers.size()) << ", block->columns()=" << block->columns() << ", _column_writers.size()=" << _column_writers.size(); + if (_tablet_schema->store_row_column() && _opts.is_direct_write) { + _serialize_block_to_row_column(*const_cast(block)); + } _olap_data_convertor->set_source_content(block, row_pos, num_rows); @@ -705,5 +933,9 @@ void SegmentWriter::set_max_key(const Slice& key) { _max_key.append(key.get_data(), key.get_size()); } +void SegmentWriter::set_mow_context(std::shared_ptr mow_context) { + _mow_context = mow_context; +} + } // namespace segment_v2 } // namespace doris diff --git a/be/src/olap/rowset/segment_v2/segment_writer.h b/be/src/olap/rowset/segment_v2/segment_writer.h index c907a357df..e66ae33d43 100644 --- a/be/src/olap/rowset/segment_v2/segment_writer.h +++ b/be/src/olap/rowset/segment_v2/segment_writer.h @@ -24,15 +24,19 @@ #include #include +#include #include // unique_ptr #include #include #include #include "common/status.h" // Status +#include "gen_cpp/segment_v2.pb.h" +#include "gutil/macros.h" #include "gutil/strings/substitute.h" #include "olap/olap_define.h" #include "olap/rowset/segment_v2/column_writer.h" +#include "olap/tablet.h" #include "olap/tablet_schema.h" #include "util/faststring.h" #include "util/slice.h" @@ -75,11 +79,15 @@ struct SegmentWriterOptions { bool is_direct_write = false; }; +using TabletSharedPtr = std::shared_ptr; + class SegmentWriter { public: explicit SegmentWriter(io::FileWriter* file_writer, uint32_t segment_id, - TabletSchemaSPtr tablet_schema, DataDir* data_dir, - uint32_t max_row_per_segment, const SegmentWriterOptions& opts); + TabletSchemaSPtr tablet_schema, TabletSharedPtr tablet, + DataDir* data_dir, uint32_t max_row_per_segment, + const SegmentWriterOptions& opts, + std::shared_ptr mow_context); ~SegmentWriter(); Status init(const vectorized::Block* block = nullptr); @@ -92,6 +100,8 @@ public: Status append_row(const RowType& row); Status append_block(const vectorized::Block* block, size_t row_pos, size_t num_rows); + Status append_block_with_partial_content(const vectorized::Block* block, size_t row_pos, + size_t num_rows); int64_t max_row_to_add(size_t row_avg_size_in_bytes); @@ -121,6 +131,10 @@ public: void clear(); + void set_mow_context(std::shared_ptr mow_context); + Status fill_missing_columns(vectorized::MutableColumns& mutable_full_columns, + const std::vector& use_default_flag, bool has_default); + private: Status _create_writers_with_dynamic_block( const vectorized::Block* block, @@ -151,10 +165,12 @@ private: void set_min_key(const Slice& key); void set_max_key(const Slice& key); bool _should_create_writers_with_dynamic_block(size_t num_columns_in_block); + void _serialize_block_to_row_column(vectorized::Block& block); private: uint32_t _segment_id; TabletSchemaSPtr _tablet_schema; + TabletSharedPtr _tablet; DataDir* _data_dir; uint32_t _max_row_per_segment; SegmentWriterOptions _opts; @@ -191,6 +207,13 @@ private: bool _is_first_row = true; faststring _min_key; faststring _max_key; + + std::shared_ptr _mow_context; + // group every rowset-segment row id to speed up reader + PartialUpdateReadPlan _rssid_to_rid; + std::map _rsid_to_rowset; + + // record row locations here and used when memtable flush }; } // namespace segment_v2 diff --git a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp index 6525407a91..9df66651b0 100644 --- a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp +++ b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp @@ -172,9 +172,9 @@ Status VerticalBetaRowsetWriter::_create_segment_writer( segment_v2::SegmentWriterOptions writer_options; writer_options.enable_unique_key_merge_on_write = _context.enable_unique_key_merge_on_write; writer_options.rowset_ctx = &_context; - writer->reset(new segment_v2::SegmentWriter(file_writer.get(), _num_segment, - _context.tablet_schema, _context.data_dir, - _context.max_rows_per_segment, writer_options)); + writer->reset(new segment_v2::SegmentWriter( + file_writer.get(), _num_segment, _context.tablet_schema, _context.tablet, + _context.data_dir, _context.max_rows_per_segment, writer_options, nullptr)); { std::lock_guard l(_lock); _file_writers.push_back(std::move(file_writer)); diff --git a/be/src/olap/segment_loader.cpp b/be/src/olap/segment_loader.cpp index eaf6651fc5..f244f2bb71 100644 --- a/be/src/olap/segment_loader.cpp +++ b/be/src/olap/segment_loader.cpp @@ -88,6 +88,10 @@ Status SegmentLoader::load_segments(const BetaRowsetSharedPtr& rowset, return Status::OK(); } +void SegmentLoader::erase_segment(const SegmentLoader::CacheKey& key) { + _cache->erase(key.encode()); +} + Status SegmentLoader::prune() { const int64_t curtime = UnixMillis(); auto pred = [curtime](const void* value) -> bool { diff --git a/be/src/olap/segment_loader.h b/be/src/olap/segment_loader.h index 13da58a2e5..292b5df988 100644 --- a/be/src/olap/segment_loader.h +++ b/be/src/olap/segment_loader.h @@ -93,6 +93,8 @@ public: Status load_segments(const BetaRowsetSharedPtr& rowset, SegmentCacheHandle* cache_handle, bool use_cache = false); + void erase_segment(const SegmentLoader::CacheKey& key); + // Try to prune the segment cache if expired. Status prune(); int64_t prune_all() { return _cache->prune(); }; diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index 96311c4c77..75b2824849 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -75,6 +75,7 @@ #include "olap/base_tablet.h" #include "olap/cumulative_compaction.h" #include "olap/cumulative_compaction_policy.h" +#include "olap/memtable.h" #include "olap/olap_common.h" #include "olap/olap_define.h" #include "olap/olap_meta.h" @@ -1769,18 +1770,27 @@ Status Tablet::create_initial_rowset(const int64_t req_version) { Status Tablet::create_vertical_rowset_writer(RowsetWriterContext& context, std::unique_ptr* rowset_writer) { + context.rowset_id = StorageEngine::instance()->next_rowset_id(); _init_context_common_fields(context); return RowsetFactory::create_rowset_writer(context, true, rowset_writer); } Status Tablet::create_rowset_writer(RowsetWriterContext& context, std::unique_ptr* rowset_writer) { + context.rowset_id = StorageEngine::instance()->next_rowset_id(); + _init_context_common_fields(context); + return RowsetFactory::create_rowset_writer(context, false, rowset_writer); +} + +Status Tablet::create_transient_rowset_writer(RowsetWriterContext& context, + const RowsetId& rowset_id, + std::unique_ptr* rowset_writer) { + context.rowset_id = rowset_id; _init_context_common_fields(context); return RowsetFactory::create_rowset_writer(context, false, rowset_writer); } void Tablet::_init_context_common_fields(RowsetWriterContext& context) { - context.rowset_id = StorageEngine::instance()->next_rowset_id(); context.tablet_uid = tablet_uid(); context.tablet_id = tablet_id(); @@ -2378,6 +2388,97 @@ TabletSchemaSPtr Tablet::get_max_version_schema(std::lock_guard& rowids, + const std::vector& cids, + vectorized::Block& block) { + // read row data + BetaRowsetSharedPtr rowset = std::static_pointer_cast(input_rowset); + CHECK(rowset); + + const TabletSchemaSPtr tablet_schema = rowset->tablet_schema(); + SegmentCacheHandle segment_cache; + RETURN_IF_ERROR(SegmentLoader::instance()->load_segments(rowset, &segment_cache, true)); + // find segment + auto it = std::find_if( + segment_cache.get_segments().begin(), segment_cache.get_segments().end(), + [&segid](const segment_v2::SegmentSharedPtr& seg) { return seg->id() == segid; }); + if (it == segment_cache.get_segments().end()) { + return Status::NotFound(fmt::format("rowset {} 's segemnt not found, seg_id {}", + rowset->rowset_id().to_string(), segid)); + } + // read from segment column by column, row by row + segment_v2::SegmentSharedPtr segment = *it; + MonotonicStopWatch watch; + watch.start(); + Defer _defer([&]() { + LOG_EVERY_N(INFO, 500) << "fetch_value_by_rowids, cost(us):" << watch.elapsed_time() / 1000 + << ", row_batch_size:" << rowids.size(); + }); + CHECK(tablet_schema->store_row_column()); + // create _source column + segment_v2::ColumnIterator* column_iterator = nullptr; + RETURN_IF_ERROR(segment->new_column_iterator(tablet_schema->column(BeConsts::ROW_STORE_COL), + &column_iterator)); + std::unique_ptr ptr_guard(column_iterator); + segment_v2::ColumnIteratorOptions opt; + OlapReaderStatistics stats; + opt.file_reader = segment->file_reader().get(); + opt.stats = &stats; + opt.use_page_cache = !config::disable_storage_page_cache; + column_iterator->init(opt); + // get and parse tuple row + vectorized::MutableColumnPtr column_ptr = vectorized::ColumnString::create(); + RETURN_IF_ERROR(column_iterator->read_by_rowids(rowids.data(), rowids.size(), column_ptr)); + assert(column_ptr->size() == rowids.size()); + auto string_column = static_cast(column_ptr.get()); + vectorized::JsonbSerializeUtil::jsonb_to_block(tablet_schema, cids, *string_column, block); + return Status::OK(); +} + +Status Tablet::fetch_value_by_rowids(RowsetSharedPtr input_rowset, uint32_t segid, + const std::vector& rowids, + const std::string& column_name, + vectorized::MutableColumnPtr& dst) { + // read row data + BetaRowsetSharedPtr rowset = std::static_pointer_cast(input_rowset); + CHECK(rowset); + + const TabletSchemaSPtr tablet_schema = rowset->tablet_schema(); + SegmentCacheHandle segment_cache; + RETURN_IF_ERROR(SegmentLoader::instance()->load_segments(rowset, &segment_cache, true)); + // find segment + auto it = std::find_if( + segment_cache.get_segments().begin(), segment_cache.get_segments().end(), + [&segid](const segment_v2::SegmentSharedPtr& seg) { return seg->id() == segid; }); + if (it == segment_cache.get_segments().end()) { + return Status::NotFound(fmt::format("rowset {} 's segemnt not found, seg_id {}", + rowset->rowset_id().to_string(), segid)); + } + // read from segment column by column, row by row + segment_v2::SegmentSharedPtr segment = *it; + MonotonicStopWatch watch; + watch.start(); + Defer _defer([&]() { + LOG_EVERY_N(INFO, 500) << "fetch_value_by_rowids, cost(us):" << watch.elapsed_time() / 1000 + << ", row_batch_size:" << rowids.size(); + }); + // create _source column + segment_v2::ColumnIterator* column_iterator = nullptr; + RETURN_IF_ERROR( + segment->new_column_iterator(tablet_schema->column(column_name), &column_iterator)); + std::unique_ptr ptr_guard(column_iterator); + segment_v2::ColumnIteratorOptions opt; + OlapReaderStatistics stats; + opt.file_reader = segment->file_reader().get(); + opt.stats = &stats; + opt.use_page_cache = !config::disable_storage_page_cache; + column_iterator->init(opt); + RETURN_IF_ERROR(column_iterator->read_by_rowids(rowids.data(), rowids.size(), dst)); + return Status::OK(); +} + Status Tablet::lookup_row_data(const Slice& encoded_key, const RowLocation& row_location, RowsetSharedPtr input_rowset, const TupleDescriptor* desc, OlapReaderStatistics& stats, vectorized::Block* block, @@ -2411,41 +2512,37 @@ Status Tablet::lookup_row_data(const Slice& encoded_key, const RowLocation& row_ LOG_EVERY_N(INFO, 500) << "get a single_row, cost(us):" << watch.elapsed_time() / 1000 << ", row_size:" << row_size; }); - if (tablet_schema->store_row_column()) { - // create _source column - segment_v2::ColumnIterator* column_iterator = nullptr; - RETURN_IF_ERROR(segment->new_column_iterator(tablet_schema->column(BeConsts::ROW_STORE_COL), - &column_iterator)); - std::unique_ptr ptr_guard(column_iterator); - segment_v2::ColumnIteratorOptions opt; - opt.file_reader = segment->file_reader().get(); - opt.stats = &stats; - opt.use_page_cache = !config::disable_storage_page_cache; - column_iterator->init(opt); - // get and parse tuple row - vectorized::MutableColumnPtr column_ptr = vectorized::ColumnString::create(); - std::vector rowids { - static_cast(row_location.row_id)}; - RETURN_IF_ERROR(column_iterator->read_by_rowids(rowids.data(), 1, column_ptr)); - assert(column_ptr->size() == 1); - auto string_column = static_cast(column_ptr.get()); - if (write_to_cache) { - StringRef value = string_column->get_data_at(0); - RowCache::instance()->insert({tablet_id(), encoded_key}, - Slice {value.data, value.size}); - } - vectorized::JsonbSerializeUtil::jsonb_to_block(*desc, *string_column, *block); - return Status::OK(); + CHECK(tablet_schema->store_row_column()); + // create _source column + segment_v2::ColumnIterator* column_iterator = nullptr; + RETURN_IF_ERROR(segment->new_column_iterator(tablet_schema->column(BeConsts::ROW_STORE_COL), + &column_iterator)); + std::unique_ptr ptr_guard(column_iterator); + segment_v2::ColumnIteratorOptions opt; + opt.file_reader = segment->file_reader().get(); + opt.stats = &stats; + opt.use_page_cache = !config::disable_storage_page_cache; + column_iterator->init(opt); + // get and parse tuple row + vectorized::MutableColumnPtr column_ptr = vectorized::ColumnString::create(); + std::vector rowids {static_cast(row_location.row_id)}; + RETURN_IF_ERROR(column_iterator->read_by_rowids(rowids.data(), 1, column_ptr)); + assert(column_ptr->size() == 1); + auto string_column = static_cast(column_ptr.get()); + if (write_to_cache) { + StringRef value = string_column->get_data_at(0); + RowCache::instance()->insert({tablet_id(), encoded_key}, Slice {value.data, value.size}); } - __builtin_unreachable(); + vectorized::JsonbSerializeUtil::jsonb_to_block(*desc, *string_column, *block); + return Status::OK(); } -Status Tablet::lookup_row_key(const Slice& encoded_key, const RowsetIdUnorderedSet* rowset_ids, - RowLocation* row_location, uint32_t version, - RowsetSharedPtr* rowset) { +Status Tablet::lookup_row_key(const Slice& encoded_key, bool with_seq_col, + const RowsetIdUnorderedSet* rowset_ids, RowLocation* row_location, + uint32_t version, RowsetSharedPtr* rowset) { std::vector> selected_rs; size_t seq_col_length = 0; - if (_schema->has_sequence_col()) { + if (_schema->has_sequence_col() && with_seq_col) { seq_col_length = _schema->column(_schema->sequence_col_idx()).length() + 1; } Slice key_without_seq = Slice(encoded_key.get_data(), encoded_key.get_size() - seq_col_length); @@ -2472,7 +2569,7 @@ Status Tablet::lookup_row_key(const Slice& encoded_key, const RowsetIdUnorderedS std::static_pointer_cast(rs.first), &segment_cache_handle, true)); auto& segments = segment_cache_handle.get_segments(); DCHECK_GT(segments.size(), rs.second); - Status s = segments[rs.second]->lookup_row_key(encoded_key, &loc); + Status s = segments[rs.second]->lookup_row_key(encoded_key, with_seq_col, &loc); if (s.is()) { continue; } @@ -2509,16 +2606,69 @@ Status Tablet::_load_rowset_segments(const RowsetSharedPtr& rowset, return Status::OK(); } +void Tablet::sort_block(vectorized::Block& in_block, vectorized::Block& output_block) { + vectorized::MutableBlock mutable_input_block = + vectorized::MutableBlock::build_mutable_block(&in_block); + vectorized::MutableBlock mutable_output_block = + vectorized::MutableBlock::build_mutable_block(&output_block); + + std::vector _row_in_blocks; + _row_in_blocks.reserve(in_block.rows()); + + std::unique_ptr schema(new Schema(_schema)); + std::shared_ptr vec_row_comparator = + std::make_shared(schema.get()); + vec_row_comparator->set_block(&mutable_input_block); + + std::vector row_in_blocks; + DCHECK(in_block.rows() <= std::numeric_limits::max()); + row_in_blocks.reserve(in_block.rows()); + for (size_t i = 0; i < in_block.rows(); ++i) { + row_in_blocks.emplace_back(new RowInBlock {i}); + } + std::sort(row_in_blocks.begin(), row_in_blocks.end(), + [&](const RowInBlock* l, const RowInBlock* r) -> bool { + auto value = (*vec_row_comparator)(l, r); + DCHECK(value != 0) << "value equel when sort block, l_pos: " << l->_row_pos + << " r_pos: " << r->_row_pos; + return value < 0; + }); + std::vector row_pos_vec; + row_pos_vec.reserve(in_block.rows()); + for (int i = 0; i < row_in_blocks.size(); i++) { + row_pos_vec.emplace_back(row_in_blocks[i]->_row_pos); + } + mutable_output_block.add_rows(&in_block, row_pos_vec.data(), + row_pos_vec.data() + in_block.rows()); +} + // caller should hold meta_lock -Status Tablet::calc_delete_bitmap(RowsetId rowset_id, +Status Tablet::calc_delete_bitmap(RowsetSharedPtr rowset, const std::vector& segments, const RowsetIdUnorderedSet* specified_rowset_ids, DeleteBitmapPtr delete_bitmap, int64_t end_version, - bool check_pre_segments) { + bool check_pre_segments, RowsetWriter* rowset_writer) { std::vector pre_segments; OlapStopWatch watch; Version dummy_version(end_version + 1, end_version + 1); + auto rowset_id = rowset->rowset_id(); + auto rowset_schema = rowset->tablet_schema(); + bool is_partial_update = rowset_schema->is_partial_update(); + // use for partial update + PartialUpdateReadPlan read_plan_ori; + PartialUpdateReadPlan read_plan_update; + + std::map rsid_to_rowset; + rsid_to_rowset[rowset_id] = rowset; + vectorized::Block block = rowset_schema->create_block(); + vectorized::Block ordered_block = block.clone_empty(); + uint32_t pos = 0; + auto segment_row_max = 0; + if (segments.size() > 0) { + segment_row_max = segments[0]->num_rows(); + } + for (auto& seg : segments) { seg->load_pk_index_and_bf(); // We need index blocks to iterate auto pk_idx = seg->get_primary_key_index(); @@ -2553,6 +2703,8 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id, Slice(index_column->get_data_at(i).data, index_column->get_data_at(i).size); RowLocation loc; // first check if exist in pre segment + // same rowset can ignore partial update, every load must update same columns + // so last segment must contain newest data if (check_pre_segments) { auto st = _check_pk_in_pre_segments(rowset_id, pre_segments, key, delete_bitmap, &loc); @@ -2566,10 +2718,15 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id, continue; } } + // same row in segments should be filtered + if (delete_bitmap->contains({rowset_id, seg->id(), 0}, row_id)) { + continue; + } if (specified_rowset_ids != nullptr && !specified_rowset_ids->empty()) { - auto st = lookup_row_key(key, specified_rowset_ids, &loc, - dummy_version.first - 1); + RowsetSharedPtr rowset_find; + auto st = lookup_row_key(key, true, specified_rowset_ids, &loc, + dummy_version.first - 1, &rowset_find); bool expected_st = st.ok() || st.is() || st.is(); DCHECK(expected_st) << "unexpected error status while lookup_row_key:" << st; if (!expected_st) { @@ -2582,19 +2739,49 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id, // sequence id smaller than the previous one, so delete current row if (st.is()) { - loc.rowset_id = rowset_id; - loc.segment_id = seg->id(); - loc.row_id = row_id; + delete_bitmap->add({rowset_id, seg->id(), 0}, row_id); + continue; + } else if (is_partial_update && rowset_writer != nullptr) { + // In publish version, record rows to be deleted for concurrent update + // For example, if version 5 and 6 update a row, but version 6 only see + // version 4 when write, and when publish version, version 5's value will + // be marked as deleted and it's update is losed. + // So here we should read version 5's columns and build a new row, which is + // consists of version 6's update columns and version 5's origin columns + // here we build 2 read plan for ori values and update values + prepare_to_read(loc, pos, &read_plan_ori); + prepare_to_read(RowLocation {rowset_id, seg->id(), row_id}, pos, + &read_plan_update); + rsid_to_rowset[rowset_find->rowset_id()] = rowset_find; + ++pos; + // sort segment rows here + if (pos >= segment_row_max) { + generate_new_block_for_partial_update(rowset_schema, read_plan_ori, + read_plan_update, rsid_to_rowset, + &block); + sort_block(block, ordered_block); + int64_t size; + rowset_writer->flush_single_memtable(&ordered_block, &size); + // clear all tmp data + read_plan_ori.clear(); + read_plan_update.clear(); + pos = 0; + block.clear_column_data(); + ordered_block.clear_column_data(); + } + // delete bitmap will be calculate when memtable flush and + // publish. The two stages may see different versions. + // When there is sequence column, the currently imported data + // of rowset may be marked for deletion at memtablet flush or + // publish because the seq column is smaller than the previous + // rowset. + // just set 0 as a unified temporary version number, and update to + // the real version number later. + delete_bitmap->add({loc.rowset_id, loc.segment_id, 0}, loc.row_id); + delete_bitmap->add({rowset_id, seg->id(), 0}, row_id); + continue; } - - // delete bitmap will be calculate when memtable flush and - // publish. The two stages may see different versions. - // When there is sequence column, the currently imported data - // of rowset may be marked for deletion at memtablet flush or - // publish because the seq column is smaller than the previous - // rowset. - // just set 0 as a unified temporary version number, and update to - // the real version number later. + // when st = ok delete_bitmap->add({loc.rowset_id, loc.segment_id, 0}, loc.row_id); } ++row_id; @@ -2605,6 +2792,15 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id, pre_segments.emplace_back(seg); } } + // add last block for partial update + if (pos > 0) { + generate_new_block_for_partial_update(rowset_schema, read_plan_ori, read_plan_update, + rsid_to_rowset, &block); + sort_block(block, ordered_block); + int64_t size; + rowset_writer->flush_single_memtable(&ordered_block, &size); + } + LOG(INFO) << "construct delete bitmap tablet: " << tablet_id() << " rowset: " << rowset_id << " dummy_version: " << dummy_version << "bitmap num: " << delete_bitmap->delete_bitmap.size() @@ -2612,11 +2808,120 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id, return Status::OK(); } +Status Tablet::generate_new_block_for_partial_update( + TabletSchemaSPtr rowset_schema, const PartialUpdateReadPlan& read_plan_ori, + const PartialUpdateReadPlan& read_plan_update, + const std::map& rsid_to_rowset, + vectorized::Block* output_block) { + // do partial update related works + // 1. read columns by read plan + // 2. generate new block + // 3. write a new segment and modify rowset meta + // 4. mark current keys deleted + CHECK(output_block); + auto full_mutable_columns = output_block->mutate_columns(); + auto old_block = rowset_schema->create_missing_columns_block(); + auto missing_cids = rowset_schema->get_missing_cids(); + auto update_block = rowset_schema->create_update_columns_block(); + auto update_cids = rowset_schema->get_update_cids(); + + std::map read_index_old; + RETURN_IF_ERROR(read_columns_by_plan(rowset_schema, missing_cids, read_plan_ori, rsid_to_rowset, + old_block, &read_index_old)); + + std::map read_index_update; + RETURN_IF_ERROR(read_columns_by_plan(rowset_schema, update_cids, read_plan_update, + rsid_to_rowset, update_block, &read_index_update)); + + // build full block + CHECK(read_index_old.size() == read_index_update.size()); + for (auto i = 0; i < missing_cids.size(); ++i) { + for (auto idx = 0; idx < read_index_old.size(); ++idx) { + full_mutable_columns[missing_cids[i]]->insert_from( + *old_block.get_columns_with_type_and_name()[i].column.get(), + read_index_old[idx]); + } + } + for (auto i = 0; i < update_cids.size(); ++i) { + for (auto idx = 0; idx < read_index_update.size(); ++idx) { + full_mutable_columns[update_cids[i]]->insert_from( + *update_block.get_columns_with_type_and_name()[i].column.get(), + read_index_update[idx]); + } + } + VLOG_DEBUG << "full block when publish: " << output_block->dump_data(); + return Status::OK(); +} + +// read columns by read plan +// read_index: ori_pos-> block_idx +Status Tablet::read_columns_by_plan(TabletSchemaSPtr tablet_schema, + const std::vector cids_to_read, + const PartialUpdateReadPlan& read_plan, + const std::map& rsid_to_rowset, + vectorized::Block& block, + std::map* read_index) { + bool has_row_column = tablet_schema->store_row_column(); + auto mutable_columns = block.mutate_columns(); + size_t read_idx = 0; + for (auto rs_it : read_plan) { + for (auto seg_it : rs_it.second) { + auto rowset_iter = rsid_to_rowset.find(rs_it.first); + CHECK(rowset_iter != rsid_to_rowset.end()); + std::vector rids; + for (auto id_and_pos : seg_it.second) { + rids.emplace_back(id_and_pos.rid); + (*read_index)[id_and_pos.pos] = read_idx++; + } + if (has_row_column) { + auto st = fetch_value_through_row_column(rowset_iter->second, seg_it.first, rids, + cids_to_read, block); + if (!st.ok()) { + LOG(WARNING) << "failed to fetch value through row column"; + return st; + } + continue; + } + for (size_t cid = 0; cid < mutable_columns.size(); ++cid) { + auto st = fetch_value_by_rowids(rowset_iter->second, seg_it.first, rids, + block.get_names()[cid], mutable_columns[cid]); + // set read value to output block + if (!st.ok()) { + LOG(WARNING) << "failed to fetch value"; + return st; + } + } + } + } + return Status::OK(); +} + +void Tablet::prepare_to_read(const RowLocation& row_location, size_t pos, + PartialUpdateReadPlan* read_plan) { + auto rs_it = read_plan->find(row_location.rowset_id); + if (rs_it == read_plan->end()) { + std::map> segid_to_rid; + std::vector rid_pos; + rid_pos.emplace_back(RidAndPos {row_location.row_id, pos}); + segid_to_rid.emplace(row_location.segment_id, rid_pos); + read_plan->emplace(row_location.rowset_id, segid_to_rid); + return; + } + auto seg_it = rs_it->second.find(row_location.segment_id); + if (seg_it == rs_it->second.end()) { + std::vector rid_pos; + rid_pos.emplace_back(RidAndPos {row_location.row_id, pos}); + rs_it->second.emplace(row_location.segment_id, rid_pos); + return; + } + seg_it->second.emplace_back(RidAndPos {row_location.row_id, pos}); +} + Status Tablet::_check_pk_in_pre_segments( RowsetId rowset_id, const std::vector& pre_segments, const Slice& key, DeleteBitmapPtr delete_bitmap, RowLocation* loc) { for (auto it = pre_segments.rbegin(); it != pre_segments.rend(); ++it) { - auto st = (*it)->lookup_row_key(key, loc); + auto st = (*it)->lookup_row_key(key, true, loc); DCHECK(st.ok() || st.is() || st.is()) << "unexpected error status while lookup_row_key:" << st; if (st.is()) { @@ -2655,9 +2960,8 @@ Status Tablet::update_delete_bitmap_without_lock(const RowsetSharedPtr& rowset) RowsetIdUnorderedSet cur_rowset_ids = all_rs_id(cur_version - 1); DeleteBitmapPtr delete_bitmap = std::make_shared(tablet_id()); - RETURN_IF_ERROR(calc_delete_bitmap(rowset->rowset_id(), segments, &cur_rowset_ids, - delete_bitmap, cur_version - 1, true)); - + RETURN_IF_ERROR( + calc_delete_bitmap(rowset, segments, nullptr, delete_bitmap, cur_version - 1, true)); for (auto iter = delete_bitmap->delete_bitmap.begin(); iter != delete_bitmap->delete_bitmap.end(); ++iter) { _tablet_meta->delete_bitmap().merge( @@ -2667,7 +2971,8 @@ Status Tablet::update_delete_bitmap_without_lock(const RowsetSharedPtr& rowset) return Status::OK(); } -Status Tablet::update_delete_bitmap(const RowsetSharedPtr& rowset, const TabletTxnInfo* load_info) { +Status Tablet::update_delete_bitmap(const RowsetSharedPtr& rowset, const TabletTxnInfo* load_info, + RowsetWriter* rowset_writer) { DeleteBitmapPtr delete_bitmap = load_info->delete_bitmap; const RowsetIdUnorderedSet& pre_rowset_ids = load_info->rowset_ids; RowsetIdUnorderedSet cur_rowset_ids; @@ -2697,8 +3002,8 @@ Status Tablet::update_delete_bitmap(const RowsetSharedPtr& rowset, const TabletT delete_bitmap->remove({to_del, 0, 0}, {to_del, UINT32_MAX, INT64_MAX}); } - RETURN_IF_ERROR(calc_delete_bitmap(rowset->rowset_id(), segments, &rowset_ids_to_add, - delete_bitmap, cur_version - 1, false)); + RETURN_IF_ERROR(calc_delete_bitmap(rowset, segments, &rowset_ids_to_add, delete_bitmap, + cur_version - 1, false, rowset_writer)); // Check the delete_bitmap correctness, now the check is only enabled in DEBUG env. if (load_info->num_keys != 0) { diff --git a/be/src/olap/tablet.h b/be/src/olap/tablet.h index 1fa6d1bc7f..28be7c45a3 100644 --- a/be/src/olap/tablet.h +++ b/be/src/olap/tablet.h @@ -309,6 +309,8 @@ public: Status create_rowset_writer(RowsetWriterContext& context, std::unique_ptr* rowset_writer); + Status create_transient_rowset_writer(RowsetWriterContext& context, const RowsetId& rowset_id, + std::unique_ptr* rowset_writer); Status create_vertical_rowset_writer(RowsetWriterContext& context, std::unique_ptr* rowset_writer); @@ -393,9 +395,9 @@ public: // Lookup the row location of `encoded_key`, the function sets `row_location` on success. // NOTE: the method only works in unique key model with primary key index, you will got a // not supported error in other data model. - Status lookup_row_key(const Slice& encoded_key, const RowsetIdUnorderedSet* rowset_ids, - RowLocation* row_location, uint32_t version, - RowsetSharedPtr* rowset = nullptr); + Status lookup_row_key(const Slice& encoded_key, bool with_seq_col, + const RowsetIdUnorderedSet* rowset_ids, RowLocation* row_location, + uint32_t version, RowsetSharedPtr* rowset = nullptr); // Lookup a row with TupleDescriptor and fill Block Status lookup_row_data(const Slice& encoded_key, const RowLocation& row_location, @@ -403,20 +405,44 @@ public: OlapReaderStatistics& stats, vectorized::Block* block, bool write_to_cache = false); + Status fetch_value_by_rowids(RowsetSharedPtr input_rowset, uint32_t segid, + const std::vector& rowids, + const std::string& column_name, vectorized::MutableColumnPtr& dst); + + Status fetch_value_through_row_column(RowsetSharedPtr input_rowset, uint32_t segid, + const std::vector& rowids, + const std::vector& cids, + vectorized::Block& block); + // calc delete bitmap when flush memtable, use a fake version to calc // For example, cur max version is 5, and we use version 6 to calc but // finally this rowset publish version with 8, we should make up data // for rowset 6-7. Also, if a compaction happens between commit_txn and // publish_txn, we should remove compaction input rowsets' delete_bitmap // and build newly generated rowset's delete_bitmap - Status calc_delete_bitmap(RowsetId rowset_id, + Status calc_delete_bitmap(RowsetSharedPtr rowset, const std::vector& segments, const RowsetIdUnorderedSet* specified_rowset_ids, DeleteBitmapPtr delete_bitmap, int64_t version, - bool check_pre_segments = false); + bool check_pre_segments = false, + RowsetWriter* rowset_writer = nullptr); + Status read_columns_by_plan(TabletSchemaSPtr tablet_schema, + const std::vector cids_to_read, + const PartialUpdateReadPlan& read_plan, + const std::map& rsid_to_rowset, + vectorized::Block& block, std::map* read_index); + void prepare_to_read(const RowLocation& row_location, size_t pos, + PartialUpdateReadPlan* read_plan); + Status generate_new_block_for_partial_update( + TabletSchemaSPtr rowset_schema, const PartialUpdateReadPlan& read_plan_ori, + const PartialUpdateReadPlan& read_plan_update, + const std::map& rsid_to_rowset, + vectorized::Block* output_block); Status update_delete_bitmap_without_lock(const RowsetSharedPtr& rowset); - Status update_delete_bitmap(const RowsetSharedPtr& rowset, const TabletTxnInfo* load_info); + + Status update_delete_bitmap(const RowsetSharedPtr& rowset, const TabletTxnInfo* load_info, + RowsetWriter* rowset_writer = nullptr); void calc_compaction_output_rowset_delete_bitmap( const std::vector& input_rowsets, const RowIdConversion& rowid_conversion, uint64_t start_version, uint64_t end_version, @@ -429,6 +455,7 @@ public: const std::map>>& location_map); RowsetIdUnorderedSet all_rs_id(int64_t max_version) const; + void sort_block(vectorized::Block& in_block, vectorized::Block& output_block); bool check_all_rowset_segment(); diff --git a/be/src/olap/tablet_schema.cpp b/be/src/olap/tablet_schema.cpp index 174a1e13fb..7c288f30ff 100644 --- a/be/src/olap/tablet_schema.cpp +++ b/be/src/olap/tablet_schema.cpp @@ -642,6 +642,9 @@ void TabletSchema::init_from_pb(const TabletSchemaPB& schema) { _indexes.clear(); _field_name_to_index.clear(); _field_id_to_index.clear(); + _partial_update_input_columns.clear(); + _missing_cids.clear(); + _update_cids.clear(); for (auto& column_pb : schema.column()) { TabletColumn column; column.init_from_pb(column_pb); @@ -683,6 +686,23 @@ void TabletSchema::init_from_pb(const TabletSchemaPB& schema) { _sort_col_num = schema.sort_col_num(); _compression_type = schema.compression_type(); _schema_version = schema.schema_version(); + _is_partial_update = schema.is_partial_update(); + for (auto& col_name : schema.partial_update_input_columns()) { + _partial_update_input_columns.emplace(col_name); + } + if (_is_partial_update) { + for (auto i = 0; i < _cols.size(); ++i) { + if (_partial_update_input_columns.count(_cols[i].name()) == 0) { + _missing_cids.emplace_back(i); + auto tablet_column = column(i); + if (!tablet_column.has_default_value()) { + _allow_key_not_exist_in_partial_update = false; + } + } else { + _update_cids.emplace_back(i); + } + } + } } void TabletSchema::copy_from(const TabletSchema& tablet_schema) { @@ -817,6 +837,10 @@ void TabletSchema::to_schema_pb(TabletSchemaPB* tablet_schema_pb) const { tablet_schema_pb->set_compression_type(_compression_type); tablet_schema_pb->set_is_dynamic_schema(_is_dynamic_schema); tablet_schema_pb->set_version_col_idx(_version_col_idx); + tablet_schema_pb->set_is_partial_update(_is_partial_update); + for (auto& col : _partial_update_input_columns) { + *tablet_schema_pb->add_partial_update_input_columns() = col; + } } size_t TabletSchema::row_size() const { @@ -981,6 +1005,54 @@ vectorized::Block TabletSchema::create_block(bool ignore_dropped_col) const { return block; } +vectorized::Block TabletSchema::create_missing_columns_block() { + vectorized::Block block; + for (const auto& cid : _missing_cids) { + auto col = _cols[cid]; + auto data_type = vectorized::DataTypeFactory::instance().create_data_type(col); + block.insert({data_type->create_column(), data_type, col.name()}); + } + return block; +} + +vectorized::Block TabletSchema::create_update_columns_block() { + vectorized::Block block; + for (const auto& cid : _update_cids) { + auto col = _cols[cid]; + auto data_type = vectorized::DataTypeFactory::instance().create_data_type(col); + block.insert({data_type->create_column(), data_type, col.name()}); + } + return block; +} + +void TabletSchema::set_partial_update_info(bool is_partial_update, + const std::set& partial_update_input_columns) { + _is_partial_update = is_partial_update; + _partial_update_input_columns = partial_update_input_columns; + for (auto i = 0; i < _cols.size(); ++i) { + if (_partial_update_input_columns.count(_cols[i].name()) == 0) { + _missing_cids.emplace_back(i); + auto tablet_column = column(i); + if (!tablet_column.has_default_value()) { + _allow_key_not_exist_in_partial_update = false; + } + } else { + _update_cids.emplace_back(i); + } + } +} + +bool TabletSchema::is_column_missing(size_t cid) const { + DCHECK(cid < _cols.size()); + if (!_is_partial_update) { + return false; + } + if (_partial_update_input_columns.count(_cols[cid].name()) == 0) { + return true; + } + return false; +} + bool operator==(const TabletColumn& a, const TabletColumn& b) { if (a._unique_id != b._unique_id) return false; if (a._col_name != b._col_name) return false; diff --git a/be/src/olap/tablet_schema.h b/be/src/olap/tablet_schema.h index a77bc03ebd..0249a87ef2 100644 --- a/be/src/olap/tablet_schema.h +++ b/be/src/olap/tablet_schema.h @@ -282,6 +282,18 @@ public: str += "]"; return str; } + vectorized::Block create_missing_columns_block(); + vectorized::Block create_update_columns_block(); + void set_partial_update_info(bool is_partial_update, + const std::set& partial_update_input_columns); + bool is_partial_update() const { return _is_partial_update; } + size_t partial_input_column_size() const { return _partial_update_input_columns.size(); } + bool is_column_missing(size_t cid) const; + bool allow_key_not_exist_in_partial_update() const { + return _allow_key_not_exist_in_partial_update; + } + std::vector get_missing_cids() { return _missing_cids; } + std::vector get_update_cids() { return _update_cids; } private: friend bool operator==(const TabletSchema& a, const TabletSchema& b); @@ -316,6 +328,13 @@ private: bool _disable_auto_compaction = false; int64_t _mem_size = 0; bool _store_row_column = false; + + bool _is_partial_update; + std::set _partial_update_input_columns; + std::vector _missing_cids; + std::vector _update_cids; + // if key not exist in old rowset, use default value or null + bool _allow_key_not_exist_in_partial_update = true; }; bool operator==(const TabletSchema& a, const TabletSchema& b); diff --git a/be/src/olap/txn_manager.cpp b/be/src/olap/txn_manager.cpp index d43bf44444..5df068630b 100644 --- a/be/src/olap/txn_manager.cpp +++ b/be/src/olap/txn_manager.cpp @@ -35,6 +35,8 @@ #include "olap/delta_writer.h" #include "olap/rowset/rowset_meta.h" #include "olap/rowset/rowset_meta_manager.h" +#include "olap/schema_change.h" +#include "olap/segment_loader.h" #include "olap/storage_engine.h" #include "olap/tablet_manager.h" #include "olap/tablet_meta.h" @@ -327,7 +329,21 @@ Status TxnManager::publish_txn(OlapMeta* meta, TPartitionId partition_id, if (tablet == nullptr) { return Status::OK(); } - RETURN_IF_ERROR(tablet->update_delete_bitmap(rowset_ptr, &load_info)); + std::unique_ptr rowset_writer; + _create_transient_rowset_writer(tablet, rowset_ptr->rowset_id(), + rowset_ptr->num_segments(), &rowset_writer); + + RETURN_IF_ERROR(tablet->update_delete_bitmap(rowset_ptr, &load_info, + rowset_writer.get())); + if (rowset_ptr->tablet_schema()->is_partial_update()) { + // build rowset writer and merge transient rowset + RETURN_NOT_OK(rowset_writer->flush()); + RowsetSharedPtr transient_rowset = rowset_writer->build(); + rowset_ptr->merge_rowset_meta(transient_rowset->rowset_meta()); + + // erase segment cache cause we will add a segment to rowset + SegmentLoader::instance()->erase_segment(rowset_ptr->rowset_id()); + } std::shared_lock rlock(tablet->get_header_lock()); tablet->save_meta(); } @@ -366,6 +382,25 @@ Status TxnManager::publish_txn(OlapMeta* meta, TPartitionId partition_id, return Status::OK(); } +// create a rowset writer with rowset_id and seg_id +// after writer, merge this transient rowset with original rowset +Status TxnManager::_create_transient_rowset_writer(std::shared_ptr tablet, + const RowsetId& rowset_id, + int32_t num_segments_ori, + std::unique_ptr* rowset_writer) { + RowsetWriterContext context; + context.rowset_state = PREPARED; + context.segments_overlap = OVERLAPPING; + context.tablet_schema = tablet->tablet_schema(); + context.newest_write_timestamp = UnixSeconds(); + context.tablet_id = tablet->table_id(); + context.tablet = tablet; + context.is_direct_write = true; + RETURN_NOT_OK(tablet->create_transient_rowset_writer(context, rowset_id, rowset_writer)); + (*rowset_writer)->set_segment_start_id(num_segments_ori); + return Status::OK(); +} + // txn could be rollbacked if it does not have related rowset // if the txn has related rowset then could not rollback it, because it // may be committed in another thread and our current thread meets errors when writing to data file diff --git a/be/src/olap/txn_manager.h b/be/src/olap/txn_manager.h index ad986fbe9e..40925bc61d 100644 --- a/be/src/olap/txn_manager.h +++ b/be/src/olap/txn_manager.h @@ -37,9 +37,13 @@ #include "common/status.h" #include "olap/olap_common.h" #include "olap/rowset/rowset.h" +#include "olap/rowset/rowset_meta.h" +#include "olap/rowset/segment_v2/segment.h" +#include "olap/rowset/segment_v2/segment_writer.h" #include "olap/tablet.h" #include "olap/tablet_meta.h" #include "util/time.h" +#include "vec/core/block.h" namespace doris { class DeltaWriter; @@ -207,6 +211,10 @@ private: void _insert_txn_partition_map_unlocked(int64_t transaction_id, int64_t partition_id); void _clear_txn_partition_map_unlocked(int64_t transaction_id, int64_t partition_id); + Status _create_transient_rowset_writer(std::shared_ptr tablet, + const RowsetId& rowset_id, int32_t num_segments_ori, + std::unique_ptr* rowset_writer); + private: const int32_t _txn_map_shard_size; diff --git a/be/src/service/point_query_executor.cpp b/be/src/service/point_query_executor.cpp index 3c77fcd2f3..21d6ac06ac 100644 --- a/be/src/service/point_query_executor.cpp +++ b/be/src/service/point_query_executor.cpp @@ -255,7 +255,7 @@ Status PointQueryExecutor::_lookup_row_key() { } // Get rowlocation and rowset, ctx._rowset_ptr will acquire wrap this ptr auto rowset_ptr = std::make_unique(); - st = (_tablet->lookup_row_key(_row_read_ctxs[i]._primary_key, nullptr, &location, + st = (_tablet->lookup_row_key(_row_read_ctxs[i]._primary_key, true, nullptr, &location, INT32_MAX /*rethink?*/, rowset_ptr.get())); if (st.is_not_found()) { continue; diff --git a/be/src/vec/jsonb/serialize.cpp b/be/src/vec/jsonb/serialize.cpp index 6be0a7f965..69bc603b2f 100644 --- a/be/src/vec/jsonb/serialize.cpp +++ b/be/src/vec/jsonb/serialize.cpp @@ -80,6 +80,34 @@ void JsonbSerializeUtil::jsonb_to_block(const TupleDescriptor& desc, const char* JsonbValue* slot_value = doc->find(slot->col_unique_id()); MutableColumnPtr dst_column = dst.get_by_position(j).column->assume_mutable(); if (!slot_value || slot_value->isNull()) { + // null or not exist + dst_column->insert_default(); + continue; + } + dst.get_data_type(j)->get_serde()->read_one_cell_from_jsonb(*dst_column, slot_value); + } +} + +void JsonbSerializeUtil::jsonb_to_block(TabletSchemaSPtr schema, + const std::vector& col_ids, + const ColumnString& jsonb_column, Block& dst) { + for (int i = 0; i < jsonb_column.size(); ++i) { + StringRef jsonb_data = jsonb_column.get_data_at(i); + jsonb_to_block(schema, col_ids, jsonb_data.data, jsonb_data.size, dst); + } +} + +void JsonbSerializeUtil::jsonb_to_block(TabletSchemaSPtr schema, + const std::vector& col_ids, const char* data, + size_t size, Block& dst) { + auto pdoc = JsonbDocument::createDocument(data, size); + JsonbDocument& doc = *pdoc; + for (int j = 0; j < col_ids.size(); ++j) { + auto column = schema->column(col_ids[j]); + JsonbValue* slot_value = doc->find(column.unique_id()); + MutableColumnPtr dst_column = dst.get_by_position(j).column->assume_mutable(); + if (!slot_value || slot_value->isNull()) { + // null or not exist dst_column->insert_default(); continue; } diff --git a/be/src/vec/jsonb/serialize.h b/be/src/vec/jsonb/serialize.h index 0d9d13927d..4aa9eef0f8 100644 --- a/be/src/vec/jsonb/serialize.h +++ b/be/src/vec/jsonb/serialize.h @@ -18,6 +18,9 @@ #pragma once #include +#include "olap/tablet_schema.h" +#include "runtime/descriptors.h" +#include "vec/columns/column_string.h" #include "vec/core/block.h" namespace doris { @@ -41,5 +44,13 @@ public: // single row static void jsonb_to_block(const TupleDescriptor& desc, const char* data, size_t size, Block& dst); + + static void jsonb_to_block(TabletSchemaSPtr schema, const std::vector& col_ids, + const ColumnString& jsonb_column, Block& dst); + + static void jsonb_to_block(TabletSchemaSPtr schema, const std::vector& col_ids, + const char* data, size_t size, Block& dst); + + static PrimitiveType get_primity_type(FieldType type); }; } // namespace doris::vectorized \ No newline at end of file diff --git a/be/src/vec/olap/olap_data_convertor.cpp b/be/src/vec/olap/olap_data_convertor.cpp index a9eaae7e75..ab1cd1ed6e 100644 --- a/be/src/vec/olap/olap_data_convertor.cpp +++ b/be/src/vec/olap/olap_data_convertor.cpp @@ -178,6 +178,16 @@ void OlapBlockDataConvertor::set_source_content(const vectorized::Block* block, } } +void OlapBlockDataConvertor::set_source_content_with_specifid_columns( + const vectorized::Block* block, size_t row_pos, size_t num_rows, + std::vector cids) { + assert(block && num_rows > 0 && row_pos + num_rows <= block->rows() && + block->columns() <= _convertors.size()); + for (auto i : cids) { + _convertors[i]->set_source_column(block->get_by_position(i), row_pos, num_rows); + } +} + void OlapBlockDataConvertor::clear_source_content() { for (auto& convertor : _convertors) { convertor->clear_source_column(); diff --git a/be/src/vec/olap/olap_data_convertor.h b/be/src/vec/olap/olap_data_convertor.h index 67847542b5..d9d95cb427 100644 --- a/be/src/vec/olap/olap_data_convertor.h +++ b/be/src/vec/olap/olap_data_convertor.h @@ -73,6 +73,8 @@ public: OlapBlockDataConvertor(const TabletSchema* tablet_schema); OlapBlockDataConvertor(const TabletSchema* tablet_schema, const std::vector& col_ids); void set_source_content(const vectorized::Block* block, size_t row_pos, size_t num_rows); + void set_source_content_with_specifid_columns(const vectorized::Block* block, size_t row_pos, + size_t num_rows, std::vector cids); void clear_source_content(); std::pair convert_column_data(size_t cid); void add_column_data_convertor(const TabletColumn& column); diff --git a/be/test/io/cache/remote_file_cache_test.cpp b/be/test/io/cache/remote_file_cache_test.cpp index f1c1e6d14c..5c1b932cc4 100644 --- a/be/test/io/cache/remote_file_cache_test.cpp +++ b/be/test/io/cache/remote_file_cache_test.cpp @@ -116,7 +116,8 @@ protected: EXPECT_TRUE(st.ok()); DataDir data_dir(kSegmentDir); data_dir.init(); - SegmentWriter writer(file_writer.get(), 0, build_schema, &data_dir, INT32_MAX, opts); + SegmentWriter writer(file_writer.get(), 0, build_schema, nullptr, &data_dir, INT32_MAX, + opts, nullptr); st = writer.init(); EXPECT_TRUE(st.ok()); diff --git a/be/test/olap/tablet_test.cpp b/be/test/olap/tablet_test.cpp index bc1a38ca54..7f02295209 100644 --- a/be/test/olap/tablet_test.cpp +++ b/be/test/olap/tablet_test.cpp @@ -418,23 +418,23 @@ TEST_F(TestTablet, rowset_tree_update) { RowLocation loc; // Key not in range. - ASSERT_TRUE(tablet->lookup_row_key("99", &rowset_ids, &loc, 7).is()); + ASSERT_TRUE(tablet->lookup_row_key("99", true, &rowset_ids, &loc, 7).is()); // Version too low. - ASSERT_TRUE(tablet->lookup_row_key("101", &rowset_ids, &loc, 3).is()); + ASSERT_TRUE(tablet->lookup_row_key("101", true, &rowset_ids, &loc, 3).is()); // Hit a segment, but since we don't have real data, return an internal error when loading the // segment. - LOG(INFO) << tablet->lookup_row_key("101", &rowset_ids, &loc, 7).to_string(); - ASSERT_TRUE(tablet->lookup_row_key("101", &rowset_ids, &loc, 7).is()); + LOG(INFO) << tablet->lookup_row_key("101", true, &rowset_ids, &loc, 7).to_string(); + ASSERT_TRUE(tablet->lookup_row_key("101", true, &rowset_ids, &loc, 7).is()); // Key not in range. - ASSERT_TRUE(tablet->lookup_row_key("201", &rowset_ids, &loc, 7).is()); - ASSERT_TRUE(tablet->lookup_row_key("300", &rowset_ids, &loc, 7).is()); + ASSERT_TRUE(tablet->lookup_row_key("201", true, &rowset_ids, &loc, 7).is()); + ASSERT_TRUE(tablet->lookup_row_key("300", true, &rowset_ids, &loc, 7).is()); // Key not in range. - ASSERT_TRUE(tablet->lookup_row_key("499", &rowset_ids, &loc, 7).is()); + ASSERT_TRUE(tablet->lookup_row_key("499", true, &rowset_ids, &loc, 7).is()); // Version too low. - ASSERT_TRUE(tablet->lookup_row_key("500", &rowset_ids, &loc, 7).is()); + ASSERT_TRUE(tablet->lookup_row_key("500", true, &rowset_ids, &loc, 7).is()); // Hit a segment, but since we don't have real data, return an internal error when loading the // segment. - ASSERT_TRUE(tablet->lookup_row_key("500", &rowset_ids, &loc, 8).is()); + ASSERT_TRUE(tablet->lookup_row_key("500", true, &rowset_ids, &loc, 8).is()); } } // namespace doris diff --git a/be/test/olap/test_data/header_without_inc_rs.txt b/be/test/olap/test_data/header_without_inc_rs.txt index e96b93e8cf..5475211f7f 100644 --- a/be/test/olap/test_data/header_without_inc_rs.txt +++ b/be/test/olap/test_data/header_without_inc_rs.txt @@ -59,7 +59,8 @@ "disable_auto_compaction": false, "version_col_idx": -1, "store_row_column": false, - "is_dynamic_schema": false + "is_dynamic_schema": false, + "is_partial_update": false }, "rs_metas": [ { diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java index 2b15a53dee..ecc7178418 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java @@ -542,7 +542,8 @@ public class Load { */ public static void initColumns(Table tbl, List columnExprs, Map>> columnToHadoopFunction) throws UserException { - initColumns(tbl, columnExprs, columnToHadoopFunction, null, null, null, null, null, null, null, false, false); + initColumns(tbl, columnExprs, columnToHadoopFunction, null, null, null, null, null, null, null, false, false, + false); } /* @@ -552,11 +553,12 @@ public class Load { public static void initColumns(Table tbl, LoadTaskInfo.ImportColumnDescs columnDescs, Map>> columnToHadoopFunction, Map exprsByName, Analyzer analyzer, TupleDescriptor srcTupleDesc, Map slotDescByName, - List srcSlotIds, TFileFormatType formatType, List hiddenColumns, boolean useVectorizedLoad) + List srcSlotIds, TFileFormatType formatType, List hiddenColumns, boolean useVectorizedLoad, + boolean isPartialUpdate) throws UserException { rewriteColumns(columnDescs); initColumns(tbl, columnDescs.descs, columnToHadoopFunction, exprsByName, analyzer, srcTupleDesc, slotDescByName, - srcSlotIds, formatType, hiddenColumns, useVectorizedLoad, true); + srcSlotIds, formatType, hiddenColumns, useVectorizedLoad, true, isPartialUpdate); } /* @@ -571,7 +573,7 @@ public class Load { Map>> columnToHadoopFunction, Map exprsByName, Analyzer analyzer, TupleDescriptor srcTupleDesc, Map slotDescByName, List srcSlotIds, TFileFormatType formatType, List hiddenColumns, boolean useVectorizedLoad, - boolean needInitSlotAndAnalyzeExprs) throws UserException { + boolean needInitSlotAndAnalyzeExprs, boolean isPartialUpdate) throws UserException { // We make a copy of the columnExprs so that our subsequent changes // to the columnExprs will not affect the original columnExprs. // skip the mapping columns not exist in schema @@ -635,9 +637,10 @@ public class Load { if (columnExprMap.containsKey(columnName)) { continue; } - if (column.getDefaultValue() != null || column.isAllowNull()) { + if (column.getDefaultValue() != null || column.isAllowNull() || isPartialUpdate) { continue; } + //continue; throw new DdlException("Column has no default value. column: " + columnName); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java index 56b4807681..6937c9ad01 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java @@ -587,6 +587,11 @@ public abstract class RoutineLoadJob extends AbstractTxnStateChangeCallback impl return null; } + @Override + public boolean isPartialUpdate() { + return false; + } + @Override public ImportColumnDescs getColumnExprDescs() { if (columnDescs == null) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java index c3639f34e7..07d1ff445f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java @@ -109,9 +109,9 @@ public class FileLoadScanNode extends FileScanNode { // Only for stream load/routine load job. public void setLoadInfo(TUniqueId loadId, long txnId, Table targetTable, BrokerDesc brokerDesc, BrokerFileGroup fileGroup, TBrokerFileStatus fileStatus, boolean strictMode, - TFileType fileType, List hiddenColumns) { + TFileType fileType, List hiddenColumns, boolean isPartialUpdate) { FileGroupInfo fileGroupInfo = new FileGroupInfo(loadId, txnId, targetTable, brokerDesc, - fileGroup, fileStatus, strictMode, fileType, hiddenColumns); + fileGroup, fileStatus, strictMode, fileType, hiddenColumns, isPartialUpdate); fileGroupInfos.add(fileGroupInfo); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java index 92b5dd7780..0ebd3fb7e5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java @@ -77,6 +77,7 @@ import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; @@ -90,6 +91,9 @@ public class OlapTableSink extends DataSink { private TupleDescriptor tupleDescriptor; // specified partition ids. private List partitionIds; + // partial update input columns + private boolean isPartialUpdate = false; + private HashSet partialUpdateInputColumns; // set after init called private TDataSink tDataSink; @@ -140,6 +144,11 @@ public class OlapTableSink extends DataSink { } } + public void setPartialUpdateInputColumns(boolean isPartialUpdate, HashSet columns) { + this.isPartialUpdate = isPartialUpdate; + this.partialUpdateInputColumns = columns; + } + public void updateLoadId(TUniqueId newLoadId) { tDataSink.getOlapTableSink().setLoadId(newLoadId); } @@ -231,6 +240,12 @@ public class OlapTableSink extends DataSink { indexSchema.setIndexesDesc(indexDesc); schemaParam.addToIndexes(indexSchema); } + schemaParam.setIsPartialUpdate(isPartialUpdate); + if (isPartialUpdate) { + for (String s : partialUpdateInputColumns) { + schemaParam.addToPartialUpdateInputColumns(s); + } + } return schemaParam; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java index 552e99b83f..a461a60e99 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/StreamLoadPlanner.java @@ -70,6 +70,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Map; @@ -137,8 +138,37 @@ public class StreamLoadPlanner { // construct tuple descriptor, used for scanNode scanTupleDesc = descTable.createTupleDescriptor("ScanTuple"); boolean negative = taskInfo.getNegative(); + // get partial update related info + boolean isPartialUpdate = taskInfo.isPartialUpdate(); + if (isPartialUpdate && !destTable.getEnableUniqueKeyMergeOnWrite()) { + throw new UserException("Only unique key merge on write support partial update"); + } + HashSet partialUpdateInputColumns = new HashSet<>(); + if (isPartialUpdate) { + for (Column col : destTable.getFullSchema()) { + boolean existInExpr = false; + for (ImportColumnDesc importColumnDesc : taskInfo.getColumnExprDescs().descs) { + if (importColumnDesc.getColumnName() != null + && importColumnDesc.getColumnName().equals(col.getName())) { + if (!col.isVisible()) { + throw new UserException("Partial update should not include invisible column: " + + col.getName()); + } + partialUpdateInputColumns.add(col.getName()); + existInExpr = true; + break; + } + } + if (col.isKey() && !existInExpr) { + throw new UserException("Partial update should include all key columns, missing: " + col.getName()); + } + } + } // here we should be full schema to fill the descriptor table for (Column col : destTable.getFullSchema()) { + if (isPartialUpdate && !partialUpdateInputColumns.contains(col.getName())) { + continue; + } SlotDescriptor slotDesc = descTable.addSlotDescriptor(tupleDesc); slotDesc.setIsMaterialized(true); slotDesc.setColumn(col); @@ -201,7 +231,8 @@ public class StreamLoadPlanner { } // The load id will pass to csv reader to find the stream load context from new load stream manager fileScanNode.setLoadInfo(loadId, taskInfo.getTxnId(), destTable, BrokerDesc.createForStreamLoad(), - fileGroup, fileStatus, taskInfo.isStrictMode(), taskInfo.getFileType(), taskInfo.getHiddenColumns()); + fileGroup, fileStatus, taskInfo.isStrictMode(), taskInfo.getFileType(), taskInfo.getHiddenColumns(), + taskInfo.isPartialUpdate()); scanNode = fileScanNode; scanNode.init(analyzer); @@ -222,6 +253,7 @@ public class StreamLoadPlanner { Config.enable_single_replica_load); olapTableSink.init(loadId, taskInfo.getTxnId(), db.getId(), timeout, taskInfo.getSendBatchParallelism(), taskInfo.isLoadToSingleTablet()); + olapTableSink.setPartialUpdateInputColumns(isPartialUpdate, partialUpdateInputColumns); olapTableSink.complete(); // for stream load, we only need one fragment, ScanNode -> DataSink. diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java b/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java index 39292c5e4c..9cff4be56b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java @@ -85,6 +85,7 @@ public class FileGroupInfo { // used for stream load, FILE_LOCAL or FILE_STREAM private TFileType fileType; private List hiddenColumns = null; + private boolean isPartialUpdate = false; // for broker load public FileGroupInfo(long loadJobId, long txnId, Table targetTable, BrokerDesc brokerDesc, @@ -106,7 +107,7 @@ public class FileGroupInfo { // for stream load public FileGroupInfo(TUniqueId loadId, long txnId, Table targetTable, BrokerDesc brokerDesc, BrokerFileGroup fileGroup, TBrokerFileStatus fileStatus, boolean strictMode, - TFileType fileType, List hiddenColumns) { + TFileType fileType, List hiddenColumns, boolean isPartialUpdate) { this.jobType = JobType.STREAM_LOAD; this.loadId = loadId; this.txnId = txnId; @@ -119,6 +120,7 @@ public class FileGroupInfo { this.strictMode = strictMode; this.fileType = fileType; this.hiddenColumns = hiddenColumns; + this.isPartialUpdate = isPartialUpdate; } public Table getTargetTable() { @@ -159,6 +161,10 @@ public class FileGroupInfo { return hiddenColumns; } + public boolean isPartialUpdate() { + return isPartialUpdate; + } + public void getFileStatusAndCalcInstance(FederationBackendPolicy backendPolicy) throws UserException { if (filesAdded == 0) { throw new UserException("No source file in this table(" + targetTable.getName() + ")."); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java b/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java index cac20c78fa..ea079b644e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java @@ -207,7 +207,7 @@ public class LoadScanProvider implements FileScanProviderIf { Load.initColumns(fileGroupInfo.getTargetTable(), columnDescs, context.fileGroup.getColumnToHadoopFunction(), context.exprMap, analyzer, context.srcTupleDescriptor, context.srcSlotDescByName, srcSlotIds, formatType(context.fileGroup.getFileFormat(), ""), fileGroupInfo.getHiddenColumns(), - VectorizedUtil.isVectorized()); + VectorizedUtil.isVectorized(), fileGroupInfo.isPartialUpdate()); int columnCountFromPath = 0; if (context.fileGroup.getColumnNamesFromPath() != null) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/task/LoadTaskInfo.java b/fe/fe-core/src/main/java/org/apache/doris/task/LoadTaskInfo.java index 6e3133fbde..951921fa04 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/task/LoadTaskInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/task/LoadTaskInfo.java @@ -97,6 +97,8 @@ public interface LoadTaskInfo { List getHiddenColumns(); + boolean isPartialUpdate(); + default boolean getTrimDoubleQuotes() { return false; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java b/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java index 2d28cc3b5c..d494d4cda5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/task/StreamLoadTask.java @@ -83,6 +83,8 @@ public class StreamLoadTask implements LoadTaskInfo { private String headerType = ""; private List hiddenColumns; private boolean trimDoubleQuotes = false; + private boolean isPartialUpdate = false; + private int skipLines = 0; private boolean enableProfile = false; @@ -268,6 +270,11 @@ public class StreamLoadTask implements LoadTaskInfo { return enableProfile; } + @Override + public boolean isPartialUpdate() { + return isPartialUpdate; + } + public static StreamLoadTask fromTStreamLoadPutRequest(TStreamLoadPutRequest request) throws UserException { StreamLoadTask streamLoadTask = new StreamLoadTask(request.getLoadId(), request.getTxnId(), request.getFileType(), request.getFormatType(), @@ -376,6 +383,9 @@ public class StreamLoadTask implements LoadTaskInfo { if (request.isSetEnableProfile()) { enableProfile = request.isEnableProfile(); } + if (request.isSetPartialUpdate()) { + isPartialUpdate = request.isPartialUpdate(); + } } // used for stream load diff --git a/gensrc/proto/descriptors.proto b/gensrc/proto/descriptors.proto index 9660a6707d..ff8c946124 100644 --- a/gensrc/proto/descriptors.proto +++ b/gensrc/proto/descriptors.proto @@ -63,5 +63,7 @@ message POlapTableSchemaParam { repeated PSlotDescriptor slot_descs = 4; required PTupleDescriptor tuple_desc = 5; repeated POlapTableIndexSchema indexes = 6; + optional bool partial_update = 7; + repeated string partial_update_input_columns = 8; }; diff --git a/gensrc/proto/olap_file.proto b/gensrc/proto/olap_file.proto index 4d9c05b369..18196fe9e2 100644 --- a/gensrc/proto/olap_file.proto +++ b/gensrc/proto/olap_file.proto @@ -231,6 +231,8 @@ message TabletSchemaPB { optional int32 version_col_idx = 17 [default = -1]; optional bool store_row_column = 18 [default=false]; // store tuplerow oriented column optional bool is_dynamic_schema = 19 [default=false]; + optional bool is_partial_update = 20 [default=false]; + repeated string partial_update_input_columns = 21; } enum TabletStatePB { diff --git a/gensrc/thrift/Descriptors.thrift b/gensrc/thrift/Descriptors.thrift index 9a5043972c..8a7f60ba78 100644 --- a/gensrc/thrift/Descriptors.thrift +++ b/gensrc/thrift/Descriptors.thrift @@ -205,6 +205,8 @@ struct TOlapTableSchemaParam { 5: required TTupleDescriptor tuple_desc 6: required list indexes 7: optional bool is_dynamic_schema + 8: optional bool is_partial_update + 9: optional list partial_update_input_columns } struct TOlapTableIndex { diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index 54ec33c360..a88edd7680 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -576,6 +576,7 @@ struct TStreamLoadPutRequest { 42: optional bool trim_double_quotes // trim double quotes for csv 43: optional i32 skip_lines // csv skip line num, only used when csv header_type is not set. 44: optional bool enable_profile + 45: optional bool partial_update } struct TStreamLoadPutResult { diff --git a/regression-test/data/unique_with_mow_p0/partial_update/10000.csv b/regression-test/data/unique_with_mow_p0/partial_update/10000.csv new file mode 100644 index 0000000000..484e6ab563 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/10000.csv @@ -0,0 +1,10001 @@ +0,0,1 +1,1,2 +2,2,3 +3,3,4 +4,4,5 +5,5,6 +6,6,7 +7,7,8 +8,8,9 +9,9,10 +10,10,11 +11,11,12 +12,12,13 +13,13,14 +14,14,15 +15,15,16 +16,16,17 +17,17,18 +18,18,19 +19,19,20 +20,20,21 +21,21,22 +22,22,23 +23,23,24 +24,24,25 +25,25,26 +26,26,27 +27,27,28 +28,28,29 +29,29,30 +30,30,31 +31,31,32 +32,32,33 +33,33,34 +34,34,35 +35,35,36 +36,36,37 +37,37,38 +38,38,39 +39,39,40 +40,40,41 +41,41,42 +42,42,43 +43,43,44 +44,44,45 +45,45,46 +46,46,47 +47,47,48 +48,48,49 +49,49,50 +50,50,51 +51,51,52 +52,52,53 +53,53,54 +54,54,55 +55,55,56 +56,56,57 +57,57,58 +58,58,59 +59,59,60 +60,60,61 +61,61,62 +62,62,63 +63,63,64 +64,64,65 +65,65,66 +66,66,67 +67,67,68 +68,68,69 +69,69,70 +70,70,71 +71,71,72 +72,72,73 +73,73,74 +74,74,75 +75,75,76 +76,76,77 +77,77,78 +78,78,79 +79,79,80 +80,80,81 +81,81,82 +82,82,83 +83,83,84 +84,84,85 +85,85,86 +86,86,87 +87,87,88 +88,88,89 +89,89,90 +90,90,91 +91,91,92 +92,92,93 +93,93,94 +94,94,95 +95,95,96 +96,96,97 +97,97,98 +98,98,99 +99,99,100 +100,100,101 +101,101,102 +102,102,103 +103,103,104 +104,104,105 +105,105,106 +106,106,107 +107,107,108 +108,108,109 +109,109,110 +110,110,111 +111,111,112 +112,112,113 +113,113,114 +114,114,115 +115,115,116 +116,116,117 +117,117,118 +118,118,119 +119,119,120 +120,120,121 +121,121,122 +122,122,123 +123,123,124 +124,124,125 +125,125,126 +126,126,127 +127,127,128 +128,128,129 +129,129,130 +130,130,131 +131,131,132 +132,132,133 +133,133,134 +134,134,135 +135,135,136 +136,136,137 +137,137,138 +138,138,139 +139,139,140 +140,140,141 +141,141,142 +142,142,143 +143,143,144 +144,144,145 +145,145,146 +146,146,147 +147,147,148 +148,148,149 +149,149,150 +150,150,151 +151,151,152 +152,152,153 +153,153,154 +154,154,155 +155,155,156 +156,156,157 +157,157,158 +158,158,159 +159,159,160 +160,160,161 +161,161,162 +162,162,163 +163,163,164 +164,164,165 +165,165,166 +166,166,167 +167,167,168 +168,168,169 +169,169,170 +170,170,171 +171,171,172 +172,172,173 +173,173,174 +174,174,175 +175,175,176 +176,176,177 +177,177,178 +178,178,179 +179,179,180 +180,180,181 +181,181,182 +182,182,183 +183,183,184 +184,184,185 +185,185,186 +186,186,187 +187,187,188 +188,188,189 +189,189,190 +190,190,191 +191,191,192 +192,192,193 +193,193,194 +194,194,195 +195,195,196 +196,196,197 +197,197,198 +198,198,199 +199,199,200 +200,200,201 +201,201,202 +202,202,203 +203,203,204 +204,204,205 +205,205,206 +206,206,207 +207,207,208 +208,208,209 +209,209,210 +210,210,211 +211,211,212 +212,212,213 +213,213,214 +214,214,215 +215,215,216 +216,216,217 +217,217,218 +218,218,219 +219,219,220 +220,220,221 +221,221,222 +222,222,223 +223,223,224 +224,224,225 +225,225,226 +226,226,227 +227,227,228 +228,228,229 +229,229,230 +230,230,231 +231,231,232 +232,232,233 +233,233,234 +234,234,235 +235,235,236 +236,236,237 +237,237,238 +238,238,239 +239,239,240 +240,240,241 +241,241,242 +242,242,243 +243,243,244 +244,244,245 +245,245,246 +246,246,247 +247,247,248 +248,248,249 +249,249,250 +250,250,251 +251,251,252 +252,252,253 +253,253,254 +254,254,255 +255,255,256 +256,256,257 +257,257,258 +258,258,259 +259,259,260 +260,260,261 +261,261,262 +262,262,263 +263,263,264 +264,264,265 +265,265,266 +266,266,267 +267,267,268 +268,268,269 +269,269,270 +270,270,271 +271,271,272 +272,272,273 +273,273,274 +274,274,275 +275,275,276 +276,276,277 +277,277,278 +278,278,279 +279,279,280 +280,280,281 +281,281,282 +282,282,283 +283,283,284 +284,284,285 +285,285,286 +286,286,287 +287,287,288 +288,288,289 +289,289,290 +290,290,291 +291,291,292 +292,292,293 +293,293,294 +294,294,295 +295,295,296 +296,296,297 +297,297,298 +298,298,299 +299,299,300 +300,300,301 +301,301,302 +302,302,303 +303,303,304 +304,304,305 +305,305,306 +306,306,307 +307,307,308 +308,308,309 +309,309,310 +310,310,311 +311,311,312 +312,312,313 +313,313,314 +314,314,315 +315,315,316 +316,316,317 +317,317,318 +318,318,319 +319,319,320 +320,320,321 +321,321,322 +322,322,323 +323,323,324 +324,324,325 +325,325,326 +326,326,327 +327,327,328 +328,328,329 +329,329,330 +330,330,331 +331,331,332 +332,332,333 +333,333,334 +334,334,335 +335,335,336 +336,336,337 +337,337,338 +338,338,339 +339,339,340 +340,340,341 +341,341,342 +342,342,343 +343,343,344 +344,344,345 +345,345,346 +346,346,347 +347,347,348 +348,348,349 +349,349,350 +350,350,351 +351,351,352 +352,352,353 +353,353,354 +354,354,355 +355,355,356 +356,356,357 +357,357,358 +358,358,359 +359,359,360 +360,360,361 +361,361,362 +362,362,363 +363,363,364 +364,364,365 +365,365,366 +366,366,367 +367,367,368 +368,368,369 +369,369,370 +370,370,371 +371,371,372 +372,372,373 +373,373,374 +374,374,375 +375,375,376 +376,376,377 +377,377,378 +378,378,379 +379,379,380 +380,380,381 +381,381,382 +382,382,383 +383,383,384 +384,384,385 +385,385,386 +386,386,387 +387,387,388 +388,388,389 +389,389,390 +390,390,391 +391,391,392 +392,392,393 +393,393,394 +394,394,395 +395,395,396 +396,396,397 +397,397,398 +398,398,399 +399,399,400 +400,400,401 +401,401,402 +402,402,403 +403,403,404 +404,404,405 +405,405,406 +406,406,407 +407,407,408 +408,408,409 +409,409,410 +410,410,411 +411,411,412 +412,412,413 +413,413,414 +414,414,415 +415,415,416 +416,416,417 +417,417,418 +418,418,419 +419,419,420 +420,420,421 +421,421,422 +422,422,423 +423,423,424 +424,424,425 +425,425,426 +426,426,427 +427,427,428 +428,428,429 +429,429,430 +430,430,431 +431,431,432 +432,432,433 +433,433,434 +434,434,435 +435,435,436 +436,436,437 +437,437,438 +438,438,439 +439,439,440 +440,440,441 +441,441,442 +442,442,443 +443,443,444 +444,444,445 +445,445,446 +446,446,447 +447,447,448 +448,448,449 +449,449,450 +450,450,451 +451,451,452 +452,452,453 +453,453,454 +454,454,455 +455,455,456 +456,456,457 +457,457,458 +458,458,459 +459,459,460 +460,460,461 +461,461,462 +462,462,463 +463,463,464 +464,464,465 +465,465,466 +466,466,467 +467,467,468 +468,468,469 +469,469,470 +470,470,471 +471,471,472 +472,472,473 +473,473,474 +474,474,475 +475,475,476 +476,476,477 +477,477,478 +478,478,479 +479,479,480 +480,480,481 +481,481,482 +482,482,483 +483,483,484 +484,484,485 +485,485,486 +486,486,487 +487,487,488 +488,488,489 +489,489,490 +490,490,491 +491,491,492 +492,492,493 +493,493,494 +494,494,495 +495,495,496 +496,496,497 +497,497,498 +498,498,499 +499,499,500 +500,500,501 +501,501,502 +502,502,503 +503,503,504 +504,504,505 +505,505,506 +506,506,507 +507,507,508 +508,508,509 +509,509,510 +510,510,511 +511,511,512 +512,512,513 +513,513,514 +514,514,515 +515,515,516 +516,516,517 +517,517,518 +518,518,519 +519,519,520 +520,520,521 +521,521,522 +522,522,523 +523,523,524 +524,524,525 +525,525,526 +526,526,527 +527,527,528 +528,528,529 +529,529,530 +530,530,531 +531,531,532 +532,532,533 +533,533,534 +534,534,535 +535,535,536 +536,536,537 +537,537,538 +538,538,539 +539,539,540 +540,540,541 +541,541,542 +542,542,543 +543,543,544 +544,544,545 +545,545,546 +546,546,547 +547,547,548 +548,548,549 +549,549,550 +550,550,551 +551,551,552 +552,552,553 +553,553,554 +554,554,555 +555,555,556 +556,556,557 +557,557,558 +558,558,559 +559,559,560 +560,560,561 +561,561,562 +562,562,563 +563,563,564 +564,564,565 +565,565,566 +566,566,567 +567,567,568 +568,568,569 +569,569,570 +570,570,571 +571,571,572 +572,572,573 +573,573,574 +574,574,575 +575,575,576 +576,576,577 +577,577,578 +578,578,579 +579,579,580 +580,580,581 +581,581,582 +582,582,583 +583,583,584 +584,584,585 +585,585,586 +586,586,587 +587,587,588 +588,588,589 +589,589,590 +590,590,591 +591,591,592 +592,592,593 +593,593,594 +594,594,595 +595,595,596 +596,596,597 +597,597,598 +598,598,599 +599,599,600 +600,600,601 +601,601,602 +602,602,603 +603,603,604 +604,604,605 +605,605,606 +606,606,607 +607,607,608 +608,608,609 +609,609,610 +610,610,611 +611,611,612 +612,612,613 +613,613,614 +614,614,615 +615,615,616 +616,616,617 +617,617,618 +618,618,619 +619,619,620 +620,620,621 +621,621,622 +622,622,623 +623,623,624 +624,624,625 +625,625,626 +626,626,627 +627,627,628 +628,628,629 +629,629,630 +630,630,631 +631,631,632 +632,632,633 +633,633,634 +634,634,635 +635,635,636 +636,636,637 +637,637,638 +638,638,639 +639,639,640 +640,640,641 +641,641,642 +642,642,643 +643,643,644 +644,644,645 +645,645,646 +646,646,647 +647,647,648 +648,648,649 +649,649,650 +650,650,651 +651,651,652 +652,652,653 +653,653,654 +654,654,655 +655,655,656 +656,656,657 +657,657,658 +658,658,659 +659,659,660 +660,660,661 +661,661,662 +662,662,663 +663,663,664 +664,664,665 +665,665,666 +666,666,667 +667,667,668 +668,668,669 +669,669,670 +670,670,671 +671,671,672 +672,672,673 +673,673,674 +674,674,675 +675,675,676 +676,676,677 +677,677,678 +678,678,679 +679,679,680 +680,680,681 +681,681,682 +682,682,683 +683,683,684 +684,684,685 +685,685,686 +686,686,687 +687,687,688 +688,688,689 +689,689,690 +690,690,691 +691,691,692 +692,692,693 +693,693,694 +694,694,695 +695,695,696 +696,696,697 +697,697,698 +698,698,699 +699,699,700 +700,700,701 +701,701,702 +702,702,703 +703,703,704 +704,704,705 +705,705,706 +706,706,707 +707,707,708 +708,708,709 +709,709,710 +710,710,711 +711,711,712 +712,712,713 +713,713,714 +714,714,715 +715,715,716 +716,716,717 +717,717,718 +718,718,719 +719,719,720 +720,720,721 +721,721,722 +722,722,723 +723,723,724 +724,724,725 +725,725,726 +726,726,727 +727,727,728 +728,728,729 +729,729,730 +730,730,731 +731,731,732 +732,732,733 +733,733,734 +734,734,735 +735,735,736 +736,736,737 +737,737,738 +738,738,739 +739,739,740 +740,740,741 +741,741,742 +742,742,743 +743,743,744 +744,744,745 +745,745,746 +746,746,747 +747,747,748 +748,748,749 +749,749,750 +750,750,751 +751,751,752 +752,752,753 +753,753,754 +754,754,755 +755,755,756 +756,756,757 +757,757,758 +758,758,759 +759,759,760 +760,760,761 +761,761,762 +762,762,763 +763,763,764 +764,764,765 +765,765,766 +766,766,767 +767,767,768 +768,768,769 +769,769,770 +770,770,771 +771,771,772 +772,772,773 +773,773,774 +774,774,775 +775,775,776 +776,776,777 +777,777,778 +778,778,779 +779,779,780 +780,780,781 +781,781,782 +782,782,783 +783,783,784 +784,784,785 +785,785,786 +786,786,787 +787,787,788 +788,788,789 +789,789,790 +790,790,791 +791,791,792 +792,792,793 +793,793,794 +794,794,795 +795,795,796 +796,796,797 +797,797,798 +798,798,799 +799,799,800 +800,800,801 +801,801,802 +802,802,803 +803,803,804 +804,804,805 +805,805,806 +806,806,807 +807,807,808 +808,808,809 +809,809,810 +810,810,811 +811,811,812 +812,812,813 +813,813,814 +814,814,815 +815,815,816 +816,816,817 +817,817,818 +818,818,819 +819,819,820 +820,820,821 +821,821,822 +822,822,823 +823,823,824 +824,824,825 +825,825,826 +826,826,827 +827,827,828 +828,828,829 +829,829,830 +830,830,831 +831,831,832 +832,832,833 +833,833,834 +834,834,835 +835,835,836 +836,836,837 +837,837,838 +838,838,839 +839,839,840 +840,840,841 +841,841,842 +842,842,843 +843,843,844 +844,844,845 +845,845,846 +846,846,847 +847,847,848 +848,848,849 +849,849,850 +850,850,851 +851,851,852 +852,852,853 +853,853,854 +854,854,855 +855,855,856 +856,856,857 +857,857,858 +858,858,859 +859,859,860 +860,860,861 +861,861,862 +862,862,863 +863,863,864 +864,864,865 +865,865,866 +866,866,867 +867,867,868 +868,868,869 +869,869,870 +870,870,871 +871,871,872 +872,872,873 +873,873,874 +874,874,875 +875,875,876 +876,876,877 +877,877,878 +878,878,879 +879,879,880 +880,880,881 +881,881,882 +882,882,883 +883,883,884 +884,884,885 +885,885,886 +886,886,887 +887,887,888 +888,888,889 +889,889,890 +890,890,891 +891,891,892 +892,892,893 +893,893,894 +894,894,895 +895,895,896 +896,896,897 +897,897,898 +898,898,899 +899,899,900 +900,900,901 +901,901,902 +902,902,903 +903,903,904 +904,904,905 +905,905,906 +906,906,907 +907,907,908 +908,908,909 +909,909,910 +910,910,911 +911,911,912 +912,912,913 +913,913,914 +914,914,915 +915,915,916 +916,916,917 +917,917,918 +918,918,919 +919,919,920 +920,920,921 +921,921,922 +922,922,923 +923,923,924 +924,924,925 +925,925,926 +926,926,927 +927,927,928 +928,928,929 +929,929,930 +930,930,931 +931,931,932 +932,932,933 +933,933,934 +934,934,935 +935,935,936 +936,936,937 +937,937,938 +938,938,939 +939,939,940 +940,940,941 +941,941,942 +942,942,943 +943,943,944 +944,944,945 +945,945,946 +946,946,947 +947,947,948 +948,948,949 +949,949,950 +950,950,951 +951,951,952 +952,952,953 +953,953,954 +954,954,955 +955,955,956 +956,956,957 +957,957,958 +958,958,959 +959,959,960 +960,960,961 +961,961,962 +962,962,963 +963,963,964 +964,964,965 +965,965,966 +966,966,967 +967,967,968 +968,968,969 +969,969,970 +970,970,971 +971,971,972 +972,972,973 +973,973,974 +974,974,975 +975,975,976 +976,976,977 +977,977,978 +978,978,979 +979,979,980 +980,980,981 +981,981,982 +982,982,983 +983,983,984 +984,984,985 +985,985,986 +986,986,987 +987,987,988 +988,988,989 +989,989,990 +990,990,991 +991,991,992 +992,992,993 +993,993,994 +994,994,995 +995,995,996 +996,996,997 +997,997,998 +998,998,999 +999,999,1000 +1000,1000,1001 +1001,1001,1002 +1002,1002,1003 +1003,1003,1004 +1004,1004,1005 +1005,1005,1006 +1006,1006,1007 +1007,1007,1008 +1008,1008,1009 +1009,1009,1010 +1010,1010,1011 +1011,1011,1012 +1012,1012,1013 +1013,1013,1014 +1014,1014,1015 +1015,1015,1016 +1016,1016,1017 +1017,1017,1018 +1018,1018,1019 +1019,1019,1020 +1020,1020,1021 +1021,1021,1022 +1022,1022,1023 +1023,1023,1024 +1024,1024,1025 +1025,1025,1026 +1026,1026,1027 +1027,1027,1028 +1028,1028,1029 +1029,1029,1030 +1030,1030,1031 +1031,1031,1032 +1032,1032,1033 +1033,1033,1034 +1034,1034,1035 +1035,1035,1036 +1036,1036,1037 +1037,1037,1038 +1038,1038,1039 +1039,1039,1040 +1040,1040,1041 +1041,1041,1042 +1042,1042,1043 +1043,1043,1044 +1044,1044,1045 +1045,1045,1046 +1046,1046,1047 +1047,1047,1048 +1048,1048,1049 +1049,1049,1050 +1050,1050,1051 +1051,1051,1052 +1052,1052,1053 +1053,1053,1054 +1054,1054,1055 +1055,1055,1056 +1056,1056,1057 +1057,1057,1058 +1058,1058,1059 +1059,1059,1060 +1060,1060,1061 +1061,1061,1062 +1062,1062,1063 +1063,1063,1064 +1064,1064,1065 +1065,1065,1066 +1066,1066,1067 +1067,1067,1068 +1068,1068,1069 +1069,1069,1070 +1070,1070,1071 +1071,1071,1072 +1072,1072,1073 +1073,1073,1074 +1074,1074,1075 +1075,1075,1076 +1076,1076,1077 +1077,1077,1078 +1078,1078,1079 +1079,1079,1080 +1080,1080,1081 +1081,1081,1082 +1082,1082,1083 +1083,1083,1084 +1084,1084,1085 +1085,1085,1086 +1086,1086,1087 +1087,1087,1088 +1088,1088,1089 +1089,1089,1090 +1090,1090,1091 +1091,1091,1092 +1092,1092,1093 +1093,1093,1094 +1094,1094,1095 +1095,1095,1096 +1096,1096,1097 +1097,1097,1098 +1098,1098,1099 +1099,1099,1100 +1100,1100,1101 +1101,1101,1102 +1102,1102,1103 +1103,1103,1104 +1104,1104,1105 +1105,1105,1106 +1106,1106,1107 +1107,1107,1108 +1108,1108,1109 +1109,1109,1110 +1110,1110,1111 +1111,1111,1112 +1112,1112,1113 +1113,1113,1114 +1114,1114,1115 +1115,1115,1116 +1116,1116,1117 +1117,1117,1118 +1118,1118,1119 +1119,1119,1120 +1120,1120,1121 +1121,1121,1122 +1122,1122,1123 +1123,1123,1124 +1124,1124,1125 +1125,1125,1126 +1126,1126,1127 +1127,1127,1128 +1128,1128,1129 +1129,1129,1130 +1130,1130,1131 +1131,1131,1132 +1132,1132,1133 +1133,1133,1134 +1134,1134,1135 +1135,1135,1136 +1136,1136,1137 +1137,1137,1138 +1138,1138,1139 +1139,1139,1140 +1140,1140,1141 +1141,1141,1142 +1142,1142,1143 +1143,1143,1144 +1144,1144,1145 +1145,1145,1146 +1146,1146,1147 +1147,1147,1148 +1148,1148,1149 +1149,1149,1150 +1150,1150,1151 +1151,1151,1152 +1152,1152,1153 +1153,1153,1154 +1154,1154,1155 +1155,1155,1156 +1156,1156,1157 +1157,1157,1158 +1158,1158,1159 +1159,1159,1160 +1160,1160,1161 +1161,1161,1162 +1162,1162,1163 +1163,1163,1164 +1164,1164,1165 +1165,1165,1166 +1166,1166,1167 +1167,1167,1168 +1168,1168,1169 +1169,1169,1170 +1170,1170,1171 +1171,1171,1172 +1172,1172,1173 +1173,1173,1174 +1174,1174,1175 +1175,1175,1176 +1176,1176,1177 +1177,1177,1178 +1178,1178,1179 +1179,1179,1180 +1180,1180,1181 +1181,1181,1182 +1182,1182,1183 +1183,1183,1184 +1184,1184,1185 +1185,1185,1186 +1186,1186,1187 +1187,1187,1188 +1188,1188,1189 +1189,1189,1190 +1190,1190,1191 +1191,1191,1192 +1192,1192,1193 +1193,1193,1194 +1194,1194,1195 +1195,1195,1196 +1196,1196,1197 +1197,1197,1198 +1198,1198,1199 +1199,1199,1200 +1200,1200,1201 +1201,1201,1202 +1202,1202,1203 +1203,1203,1204 +1204,1204,1205 +1205,1205,1206 +1206,1206,1207 +1207,1207,1208 +1208,1208,1209 +1209,1209,1210 +1210,1210,1211 +1211,1211,1212 +1212,1212,1213 +1213,1213,1214 +1214,1214,1215 +1215,1215,1216 +1216,1216,1217 +1217,1217,1218 +1218,1218,1219 +1219,1219,1220 +1220,1220,1221 +1221,1221,1222 +1222,1222,1223 +1223,1223,1224 +1224,1224,1225 +1225,1225,1226 +1226,1226,1227 +1227,1227,1228 +1228,1228,1229 +1229,1229,1230 +1230,1230,1231 +1231,1231,1232 +1232,1232,1233 +1233,1233,1234 +1234,1234,1235 +1235,1235,1236 +1236,1236,1237 +1237,1237,1238 +1238,1238,1239 +1239,1239,1240 +1240,1240,1241 +1241,1241,1242 +1242,1242,1243 +1243,1243,1244 +1244,1244,1245 +1245,1245,1246 +1246,1246,1247 +1247,1247,1248 +1248,1248,1249 +1249,1249,1250 +1250,1250,1251 +1251,1251,1252 +1252,1252,1253 +1253,1253,1254 +1254,1254,1255 +1255,1255,1256 +1256,1256,1257 +1257,1257,1258 +1258,1258,1259 +1259,1259,1260 +1260,1260,1261 +1261,1261,1262 +1262,1262,1263 +1263,1263,1264 +1264,1264,1265 +1265,1265,1266 +1266,1266,1267 +1267,1267,1268 +1268,1268,1269 +1269,1269,1270 +1270,1270,1271 +1271,1271,1272 +1272,1272,1273 +1273,1273,1274 +1274,1274,1275 +1275,1275,1276 +1276,1276,1277 +1277,1277,1278 +1278,1278,1279 +1279,1279,1280 +1280,1280,1281 +1281,1281,1282 +1282,1282,1283 +1283,1283,1284 +1284,1284,1285 +1285,1285,1286 +1286,1286,1287 +1287,1287,1288 +1288,1288,1289 +1289,1289,1290 +1290,1290,1291 +1291,1291,1292 +1292,1292,1293 +1293,1293,1294 +1294,1294,1295 +1295,1295,1296 +1296,1296,1297 +1297,1297,1298 +1298,1298,1299 +1299,1299,1300 +1300,1300,1301 +1301,1301,1302 +1302,1302,1303 +1303,1303,1304 +1304,1304,1305 +1305,1305,1306 +1306,1306,1307 +1307,1307,1308 +1308,1308,1309 +1309,1309,1310 +1310,1310,1311 +1311,1311,1312 +1312,1312,1313 +1313,1313,1314 +1314,1314,1315 +1315,1315,1316 +1316,1316,1317 +1317,1317,1318 +1318,1318,1319 +1319,1319,1320 +1320,1320,1321 +1321,1321,1322 +1322,1322,1323 +1323,1323,1324 +1324,1324,1325 +1325,1325,1326 +1326,1326,1327 +1327,1327,1328 +1328,1328,1329 +1329,1329,1330 +1330,1330,1331 +1331,1331,1332 +1332,1332,1333 +1333,1333,1334 +1334,1334,1335 +1335,1335,1336 +1336,1336,1337 +1337,1337,1338 +1338,1338,1339 +1339,1339,1340 +1340,1340,1341 +1341,1341,1342 +1342,1342,1343 +1343,1343,1344 +1344,1344,1345 +1345,1345,1346 +1346,1346,1347 +1347,1347,1348 +1348,1348,1349 +1349,1349,1350 +1350,1350,1351 +1351,1351,1352 +1352,1352,1353 +1353,1353,1354 +1354,1354,1355 +1355,1355,1356 +1356,1356,1357 +1357,1357,1358 +1358,1358,1359 +1359,1359,1360 +1360,1360,1361 +1361,1361,1362 +1362,1362,1363 +1363,1363,1364 +1364,1364,1365 +1365,1365,1366 +1366,1366,1367 +1367,1367,1368 +1368,1368,1369 +1369,1369,1370 +1370,1370,1371 +1371,1371,1372 +1372,1372,1373 +1373,1373,1374 +1374,1374,1375 +1375,1375,1376 +1376,1376,1377 +1377,1377,1378 +1378,1378,1379 +1379,1379,1380 +1380,1380,1381 +1381,1381,1382 +1382,1382,1383 +1383,1383,1384 +1384,1384,1385 +1385,1385,1386 +1386,1386,1387 +1387,1387,1388 +1388,1388,1389 +1389,1389,1390 +1390,1390,1391 +1391,1391,1392 +1392,1392,1393 +1393,1393,1394 +1394,1394,1395 +1395,1395,1396 +1396,1396,1397 +1397,1397,1398 +1398,1398,1399 +1399,1399,1400 +1400,1400,1401 +1401,1401,1402 +1402,1402,1403 +1403,1403,1404 +1404,1404,1405 +1405,1405,1406 +1406,1406,1407 +1407,1407,1408 +1408,1408,1409 +1409,1409,1410 +1410,1410,1411 +1411,1411,1412 +1412,1412,1413 +1413,1413,1414 +1414,1414,1415 +1415,1415,1416 +1416,1416,1417 +1417,1417,1418 +1418,1418,1419 +1419,1419,1420 +1420,1420,1421 +1421,1421,1422 +1422,1422,1423 +1423,1423,1424 +1424,1424,1425 +1425,1425,1426 +1426,1426,1427 +1427,1427,1428 +1428,1428,1429 +1429,1429,1430 +1430,1430,1431 +1431,1431,1432 +1432,1432,1433 +1433,1433,1434 +1434,1434,1435 +1435,1435,1436 +1436,1436,1437 +1437,1437,1438 +1438,1438,1439 +1439,1439,1440 +1440,1440,1441 +1441,1441,1442 +1442,1442,1443 +1443,1443,1444 +1444,1444,1445 +1445,1445,1446 +1446,1446,1447 +1447,1447,1448 +1448,1448,1449 +1449,1449,1450 +1450,1450,1451 +1451,1451,1452 +1452,1452,1453 +1453,1453,1454 +1454,1454,1455 +1455,1455,1456 +1456,1456,1457 +1457,1457,1458 +1458,1458,1459 +1459,1459,1460 +1460,1460,1461 +1461,1461,1462 +1462,1462,1463 +1463,1463,1464 +1464,1464,1465 +1465,1465,1466 +1466,1466,1467 +1467,1467,1468 +1468,1468,1469 +1469,1469,1470 +1470,1470,1471 +1471,1471,1472 +1472,1472,1473 +1473,1473,1474 +1474,1474,1475 +1475,1475,1476 +1476,1476,1477 +1477,1477,1478 +1478,1478,1479 +1479,1479,1480 +1480,1480,1481 +1481,1481,1482 +1482,1482,1483 +1483,1483,1484 +1484,1484,1485 +1485,1485,1486 +1486,1486,1487 +1487,1487,1488 +1488,1488,1489 +1489,1489,1490 +1490,1490,1491 +1491,1491,1492 +1492,1492,1493 +1493,1493,1494 +1494,1494,1495 +1495,1495,1496 +1496,1496,1497 +1497,1497,1498 +1498,1498,1499 +1499,1499,1500 +1500,1500,1501 +1501,1501,1502 +1502,1502,1503 +1503,1503,1504 +1504,1504,1505 +1505,1505,1506 +1506,1506,1507 +1507,1507,1508 +1508,1508,1509 +1509,1509,1510 +1510,1510,1511 +1511,1511,1512 +1512,1512,1513 +1513,1513,1514 +1514,1514,1515 +1515,1515,1516 +1516,1516,1517 +1517,1517,1518 +1518,1518,1519 +1519,1519,1520 +1520,1520,1521 +1521,1521,1522 +1522,1522,1523 +1523,1523,1524 +1524,1524,1525 +1525,1525,1526 +1526,1526,1527 +1527,1527,1528 +1528,1528,1529 +1529,1529,1530 +1530,1530,1531 +1531,1531,1532 +1532,1532,1533 +1533,1533,1534 +1534,1534,1535 +1535,1535,1536 +1536,1536,1537 +1537,1537,1538 +1538,1538,1539 +1539,1539,1540 +1540,1540,1541 +1541,1541,1542 +1542,1542,1543 +1543,1543,1544 +1544,1544,1545 +1545,1545,1546 +1546,1546,1547 +1547,1547,1548 +1548,1548,1549 +1549,1549,1550 +1550,1550,1551 +1551,1551,1552 +1552,1552,1553 +1553,1553,1554 +1554,1554,1555 +1555,1555,1556 +1556,1556,1557 +1557,1557,1558 +1558,1558,1559 +1559,1559,1560 +1560,1560,1561 +1561,1561,1562 +1562,1562,1563 +1563,1563,1564 +1564,1564,1565 +1565,1565,1566 +1566,1566,1567 +1567,1567,1568 +1568,1568,1569 +1569,1569,1570 +1570,1570,1571 +1571,1571,1572 +1572,1572,1573 +1573,1573,1574 +1574,1574,1575 +1575,1575,1576 +1576,1576,1577 +1577,1577,1578 +1578,1578,1579 +1579,1579,1580 +1580,1580,1581 +1581,1581,1582 +1582,1582,1583 +1583,1583,1584 +1584,1584,1585 +1585,1585,1586 +1586,1586,1587 +1587,1587,1588 +1588,1588,1589 +1589,1589,1590 +1590,1590,1591 +1591,1591,1592 +1592,1592,1593 +1593,1593,1594 +1594,1594,1595 +1595,1595,1596 +1596,1596,1597 +1597,1597,1598 +1598,1598,1599 +1599,1599,1600 +1600,1600,1601 +1601,1601,1602 +1602,1602,1603 +1603,1603,1604 +1604,1604,1605 +1605,1605,1606 +1606,1606,1607 +1607,1607,1608 +1608,1608,1609 +1609,1609,1610 +1610,1610,1611 +1611,1611,1612 +1612,1612,1613 +1613,1613,1614 +1614,1614,1615 +1615,1615,1616 +1616,1616,1617 +1617,1617,1618 +1618,1618,1619 +1619,1619,1620 +1620,1620,1621 +1621,1621,1622 +1622,1622,1623 +1623,1623,1624 +1624,1624,1625 +1625,1625,1626 +1626,1626,1627 +1627,1627,1628 +1628,1628,1629 +1629,1629,1630 +1630,1630,1631 +1631,1631,1632 +1632,1632,1633 +1633,1633,1634 +1634,1634,1635 +1635,1635,1636 +1636,1636,1637 +1637,1637,1638 +1638,1638,1639 +1639,1639,1640 +1640,1640,1641 +1641,1641,1642 +1642,1642,1643 +1643,1643,1644 +1644,1644,1645 +1645,1645,1646 +1646,1646,1647 +1647,1647,1648 +1648,1648,1649 +1649,1649,1650 +1650,1650,1651 +1651,1651,1652 +1652,1652,1653 +1653,1653,1654 +1654,1654,1655 +1655,1655,1656 +1656,1656,1657 +1657,1657,1658 +1658,1658,1659 +1659,1659,1660 +1660,1660,1661 +1661,1661,1662 +1662,1662,1663 +1663,1663,1664 +1664,1664,1665 +1665,1665,1666 +1666,1666,1667 +1667,1667,1668 +1668,1668,1669 +1669,1669,1670 +1670,1670,1671 +1671,1671,1672 +1672,1672,1673 +1673,1673,1674 +1674,1674,1675 +1675,1675,1676 +1676,1676,1677 +1677,1677,1678 +1678,1678,1679 +1679,1679,1680 +1680,1680,1681 +1681,1681,1682 +1682,1682,1683 +1683,1683,1684 +1684,1684,1685 +1685,1685,1686 +1686,1686,1687 +1687,1687,1688 +1688,1688,1689 +1689,1689,1690 +1690,1690,1691 +1691,1691,1692 +1692,1692,1693 +1693,1693,1694 +1694,1694,1695 +1695,1695,1696 +1696,1696,1697 +1697,1697,1698 +1698,1698,1699 +1699,1699,1700 +1700,1700,1701 +1701,1701,1702 +1702,1702,1703 +1703,1703,1704 +1704,1704,1705 +1705,1705,1706 +1706,1706,1707 +1707,1707,1708 +1708,1708,1709 +1709,1709,1710 +1710,1710,1711 +1711,1711,1712 +1712,1712,1713 +1713,1713,1714 +1714,1714,1715 +1715,1715,1716 +1716,1716,1717 +1717,1717,1718 +1718,1718,1719 +1719,1719,1720 +1720,1720,1721 +1721,1721,1722 +1722,1722,1723 +1723,1723,1724 +1724,1724,1725 +1725,1725,1726 +1726,1726,1727 +1727,1727,1728 +1728,1728,1729 +1729,1729,1730 +1730,1730,1731 +1731,1731,1732 +1732,1732,1733 +1733,1733,1734 +1734,1734,1735 +1735,1735,1736 +1736,1736,1737 +1737,1737,1738 +1738,1738,1739 +1739,1739,1740 +1740,1740,1741 +1741,1741,1742 +1742,1742,1743 +1743,1743,1744 +1744,1744,1745 +1745,1745,1746 +1746,1746,1747 +1747,1747,1748 +1748,1748,1749 +1749,1749,1750 +1750,1750,1751 +1751,1751,1752 +1752,1752,1753 +1753,1753,1754 +1754,1754,1755 +1755,1755,1756 +1756,1756,1757 +1757,1757,1758 +1758,1758,1759 +1759,1759,1760 +1760,1760,1761 +1761,1761,1762 +1762,1762,1763 +1763,1763,1764 +1764,1764,1765 +1765,1765,1766 +1766,1766,1767 +1767,1767,1768 +1768,1768,1769 +1769,1769,1770 +1770,1770,1771 +1771,1771,1772 +1772,1772,1773 +1773,1773,1774 +1774,1774,1775 +1775,1775,1776 +1776,1776,1777 +1777,1777,1778 +1778,1778,1779 +1779,1779,1780 +1780,1780,1781 +1781,1781,1782 +1782,1782,1783 +1783,1783,1784 +1784,1784,1785 +1785,1785,1786 +1786,1786,1787 +1787,1787,1788 +1788,1788,1789 +1789,1789,1790 +1790,1790,1791 +1791,1791,1792 +1792,1792,1793 +1793,1793,1794 +1794,1794,1795 +1795,1795,1796 +1796,1796,1797 +1797,1797,1798 +1798,1798,1799 +1799,1799,1800 +1800,1800,1801 +1801,1801,1802 +1802,1802,1803 +1803,1803,1804 +1804,1804,1805 +1805,1805,1806 +1806,1806,1807 +1807,1807,1808 +1808,1808,1809 +1809,1809,1810 +1810,1810,1811 +1811,1811,1812 +1812,1812,1813 +1813,1813,1814 +1814,1814,1815 +1815,1815,1816 +1816,1816,1817 +1817,1817,1818 +1818,1818,1819 +1819,1819,1820 +1820,1820,1821 +1821,1821,1822 +1822,1822,1823 +1823,1823,1824 +1824,1824,1825 +1825,1825,1826 +1826,1826,1827 +1827,1827,1828 +1828,1828,1829 +1829,1829,1830 +1830,1830,1831 +1831,1831,1832 +1832,1832,1833 +1833,1833,1834 +1834,1834,1835 +1835,1835,1836 +1836,1836,1837 +1837,1837,1838 +1838,1838,1839 +1839,1839,1840 +1840,1840,1841 +1841,1841,1842 +1842,1842,1843 +1843,1843,1844 +1844,1844,1845 +1845,1845,1846 +1846,1846,1847 +1847,1847,1848 +1848,1848,1849 +1849,1849,1850 +1850,1850,1851 +1851,1851,1852 +1852,1852,1853 +1853,1853,1854 +1854,1854,1855 +1855,1855,1856 +1856,1856,1857 +1857,1857,1858 +1858,1858,1859 +1859,1859,1860 +1860,1860,1861 +1861,1861,1862 +1862,1862,1863 +1863,1863,1864 +1864,1864,1865 +1865,1865,1866 +1866,1866,1867 +1867,1867,1868 +1868,1868,1869 +1869,1869,1870 +1870,1870,1871 +1871,1871,1872 +1872,1872,1873 +1873,1873,1874 +1874,1874,1875 +1875,1875,1876 +1876,1876,1877 +1877,1877,1878 +1878,1878,1879 +1879,1879,1880 +1880,1880,1881 +1881,1881,1882 +1882,1882,1883 +1883,1883,1884 +1884,1884,1885 +1885,1885,1886 +1886,1886,1887 +1887,1887,1888 +1888,1888,1889 +1889,1889,1890 +1890,1890,1891 +1891,1891,1892 +1892,1892,1893 +1893,1893,1894 +1894,1894,1895 +1895,1895,1896 +1896,1896,1897 +1897,1897,1898 +1898,1898,1899 +1899,1899,1900 +1900,1900,1901 +1901,1901,1902 +1902,1902,1903 +1903,1903,1904 +1904,1904,1905 +1905,1905,1906 +1906,1906,1907 +1907,1907,1908 +1908,1908,1909 +1909,1909,1910 +1910,1910,1911 +1911,1911,1912 +1912,1912,1913 +1913,1913,1914 +1914,1914,1915 +1915,1915,1916 +1916,1916,1917 +1917,1917,1918 +1918,1918,1919 +1919,1919,1920 +1920,1920,1921 +1921,1921,1922 +1922,1922,1923 +1923,1923,1924 +1924,1924,1925 +1925,1925,1926 +1926,1926,1927 +1927,1927,1928 +1928,1928,1929 +1929,1929,1930 +1930,1930,1931 +1931,1931,1932 +1932,1932,1933 +1933,1933,1934 +1934,1934,1935 +1935,1935,1936 +1936,1936,1937 +1937,1937,1938 +1938,1938,1939 +1939,1939,1940 +1940,1940,1941 +1941,1941,1942 +1942,1942,1943 +1943,1943,1944 +1944,1944,1945 +1945,1945,1946 +1946,1946,1947 +1947,1947,1948 +1948,1948,1949 +1949,1949,1950 +1950,1950,1951 +1951,1951,1952 +1952,1952,1953 +1953,1953,1954 +1954,1954,1955 +1955,1955,1956 +1956,1956,1957 +1957,1957,1958 +1958,1958,1959 +1959,1959,1960 +1960,1960,1961 +1961,1961,1962 +1962,1962,1963 +1963,1963,1964 +1964,1964,1965 +1965,1965,1966 +1966,1966,1967 +1967,1967,1968 +1968,1968,1969 +1969,1969,1970 +1970,1970,1971 +1971,1971,1972 +1972,1972,1973 +1973,1973,1974 +1974,1974,1975 +1975,1975,1976 +1976,1976,1977 +1977,1977,1978 +1978,1978,1979 +1979,1979,1980 +1980,1980,1981 +1981,1981,1982 +1982,1982,1983 +1983,1983,1984 +1984,1984,1985 +1985,1985,1986 +1986,1986,1987 +1987,1987,1988 +1988,1988,1989 +1989,1989,1990 +1990,1990,1991 +1991,1991,1992 +1992,1992,1993 +1993,1993,1994 +1994,1994,1995 +1995,1995,1996 +1996,1996,1997 +1997,1997,1998 +1998,1998,1999 +1999,1999,2000 +2000,2000,2001 +2001,2001,2002 +2002,2002,2003 +2003,2003,2004 +2004,2004,2005 +2005,2005,2006 +2006,2006,2007 +2007,2007,2008 +2008,2008,2009 +2009,2009,2010 +2010,2010,2011 +2011,2011,2012 +2012,2012,2013 +2013,2013,2014 +2014,2014,2015 +2015,2015,2016 +2016,2016,2017 +2017,2017,2018 +2018,2018,2019 +2019,2019,2020 +2020,2020,2021 +2021,2021,2022 +2022,2022,2023 +2023,2023,2024 +2024,2024,2025 +2025,2025,2026 +2026,2026,2027 +2027,2027,2028 +2028,2028,2029 +2029,2029,2030 +2030,2030,2031 +2031,2031,2032 +2032,2032,2033 +2033,2033,2034 +2034,2034,2035 +2035,2035,2036 +2036,2036,2037 +2037,2037,2038 +2038,2038,2039 +2039,2039,2040 +2040,2040,2041 +2041,2041,2042 +2042,2042,2043 +2043,2043,2044 +2044,2044,2045 +2045,2045,2046 +2046,2046,2047 +2047,2047,2048 +2048,2048,2049 +2049,2049,2050 +2050,2050,2051 +2051,2051,2052 +2052,2052,2053 +2053,2053,2054 +2054,2054,2055 +2055,2055,2056 +2056,2056,2057 +2057,2057,2058 +2058,2058,2059 +2059,2059,2060 +2060,2060,2061 +2061,2061,2062 +2062,2062,2063 +2063,2063,2064 +2064,2064,2065 +2065,2065,2066 +2066,2066,2067 +2067,2067,2068 +2068,2068,2069 +2069,2069,2070 +2070,2070,2071 +2071,2071,2072 +2072,2072,2073 +2073,2073,2074 +2074,2074,2075 +2075,2075,2076 +2076,2076,2077 +2077,2077,2078 +2078,2078,2079 +2079,2079,2080 +2080,2080,2081 +2081,2081,2082 +2082,2082,2083 +2083,2083,2084 +2084,2084,2085 +2085,2085,2086 +2086,2086,2087 +2087,2087,2088 +2088,2088,2089 +2089,2089,2090 +2090,2090,2091 +2091,2091,2092 +2092,2092,2093 +2093,2093,2094 +2094,2094,2095 +2095,2095,2096 +2096,2096,2097 +2097,2097,2098 +2098,2098,2099 +2099,2099,2100 +2100,2100,2101 +2101,2101,2102 +2102,2102,2103 +2103,2103,2104 +2104,2104,2105 +2105,2105,2106 +2106,2106,2107 +2107,2107,2108 +2108,2108,2109 +2109,2109,2110 +2110,2110,2111 +2111,2111,2112 +2112,2112,2113 +2113,2113,2114 +2114,2114,2115 +2115,2115,2116 +2116,2116,2117 +2117,2117,2118 +2118,2118,2119 +2119,2119,2120 +2120,2120,2121 +2121,2121,2122 +2122,2122,2123 +2123,2123,2124 +2124,2124,2125 +2125,2125,2126 +2126,2126,2127 +2127,2127,2128 +2128,2128,2129 +2129,2129,2130 +2130,2130,2131 +2131,2131,2132 +2132,2132,2133 +2133,2133,2134 +2134,2134,2135 +2135,2135,2136 +2136,2136,2137 +2137,2137,2138 +2138,2138,2139 +2139,2139,2140 +2140,2140,2141 +2141,2141,2142 +2142,2142,2143 +2143,2143,2144 +2144,2144,2145 +2145,2145,2146 +2146,2146,2147 +2147,2147,2148 +2148,2148,2149 +2149,2149,2150 +2150,2150,2151 +2151,2151,2152 +2152,2152,2153 +2153,2153,2154 +2154,2154,2155 +2155,2155,2156 +2156,2156,2157 +2157,2157,2158 +2158,2158,2159 +2159,2159,2160 +2160,2160,2161 +2161,2161,2162 +2162,2162,2163 +2163,2163,2164 +2164,2164,2165 +2165,2165,2166 +2166,2166,2167 +2167,2167,2168 +2168,2168,2169 +2169,2169,2170 +2170,2170,2171 +2171,2171,2172 +2172,2172,2173 +2173,2173,2174 +2174,2174,2175 +2175,2175,2176 +2176,2176,2177 +2177,2177,2178 +2178,2178,2179 +2179,2179,2180 +2180,2180,2181 +2181,2181,2182 +2182,2182,2183 +2183,2183,2184 +2184,2184,2185 +2185,2185,2186 +2186,2186,2187 +2187,2187,2188 +2188,2188,2189 +2189,2189,2190 +2190,2190,2191 +2191,2191,2192 +2192,2192,2193 +2193,2193,2194 +2194,2194,2195 +2195,2195,2196 +2196,2196,2197 +2197,2197,2198 +2198,2198,2199 +2199,2199,2200 +2200,2200,2201 +2201,2201,2202 +2202,2202,2203 +2203,2203,2204 +2204,2204,2205 +2205,2205,2206 +2206,2206,2207 +2207,2207,2208 +2208,2208,2209 +2209,2209,2210 +2210,2210,2211 +2211,2211,2212 +2212,2212,2213 +2213,2213,2214 +2214,2214,2215 +2215,2215,2216 +2216,2216,2217 +2217,2217,2218 +2218,2218,2219 +2219,2219,2220 +2220,2220,2221 +2221,2221,2222 +2222,2222,2223 +2223,2223,2224 +2224,2224,2225 +2225,2225,2226 +2226,2226,2227 +2227,2227,2228 +2228,2228,2229 +2229,2229,2230 +2230,2230,2231 +2231,2231,2232 +2232,2232,2233 +2233,2233,2234 +2234,2234,2235 +2235,2235,2236 +2236,2236,2237 +2237,2237,2238 +2238,2238,2239 +2239,2239,2240 +2240,2240,2241 +2241,2241,2242 +2242,2242,2243 +2243,2243,2244 +2244,2244,2245 +2245,2245,2246 +2246,2246,2247 +2247,2247,2248 +2248,2248,2249 +2249,2249,2250 +2250,2250,2251 +2251,2251,2252 +2252,2252,2253 +2253,2253,2254 +2254,2254,2255 +2255,2255,2256 +2256,2256,2257 +2257,2257,2258 +2258,2258,2259 +2259,2259,2260 +2260,2260,2261 +2261,2261,2262 +2262,2262,2263 +2263,2263,2264 +2264,2264,2265 +2265,2265,2266 +2266,2266,2267 +2267,2267,2268 +2268,2268,2269 +2269,2269,2270 +2270,2270,2271 +2271,2271,2272 +2272,2272,2273 +2273,2273,2274 +2274,2274,2275 +2275,2275,2276 +2276,2276,2277 +2277,2277,2278 +2278,2278,2279 +2279,2279,2280 +2280,2280,2281 +2281,2281,2282 +2282,2282,2283 +2283,2283,2284 +2284,2284,2285 +2285,2285,2286 +2286,2286,2287 +2287,2287,2288 +2288,2288,2289 +2289,2289,2290 +2290,2290,2291 +2291,2291,2292 +2292,2292,2293 +2293,2293,2294 +2294,2294,2295 +2295,2295,2296 +2296,2296,2297 +2297,2297,2298 +2298,2298,2299 +2299,2299,2300 +2300,2300,2301 +2301,2301,2302 +2302,2302,2303 +2303,2303,2304 +2304,2304,2305 +2305,2305,2306 +2306,2306,2307 +2307,2307,2308 +2308,2308,2309 +2309,2309,2310 +2310,2310,2311 +2311,2311,2312 +2312,2312,2313 +2313,2313,2314 +2314,2314,2315 +2315,2315,2316 +2316,2316,2317 +2317,2317,2318 +2318,2318,2319 +2319,2319,2320 +2320,2320,2321 +2321,2321,2322 +2322,2322,2323 +2323,2323,2324 +2324,2324,2325 +2325,2325,2326 +2326,2326,2327 +2327,2327,2328 +2328,2328,2329 +2329,2329,2330 +2330,2330,2331 +2331,2331,2332 +2332,2332,2333 +2333,2333,2334 +2334,2334,2335 +2335,2335,2336 +2336,2336,2337 +2337,2337,2338 +2338,2338,2339 +2339,2339,2340 +2340,2340,2341 +2341,2341,2342 +2342,2342,2343 +2343,2343,2344 +2344,2344,2345 +2345,2345,2346 +2346,2346,2347 +2347,2347,2348 +2348,2348,2349 +2349,2349,2350 +2350,2350,2351 +2351,2351,2352 +2352,2352,2353 +2353,2353,2354 +2354,2354,2355 +2355,2355,2356 +2356,2356,2357 +2357,2357,2358 +2358,2358,2359 +2359,2359,2360 +2360,2360,2361 +2361,2361,2362 +2362,2362,2363 +2363,2363,2364 +2364,2364,2365 +2365,2365,2366 +2366,2366,2367 +2367,2367,2368 +2368,2368,2369 +2369,2369,2370 +2370,2370,2371 +2371,2371,2372 +2372,2372,2373 +2373,2373,2374 +2374,2374,2375 +2375,2375,2376 +2376,2376,2377 +2377,2377,2378 +2378,2378,2379 +2379,2379,2380 +2380,2380,2381 +2381,2381,2382 +2382,2382,2383 +2383,2383,2384 +2384,2384,2385 +2385,2385,2386 +2386,2386,2387 +2387,2387,2388 +2388,2388,2389 +2389,2389,2390 +2390,2390,2391 +2391,2391,2392 +2392,2392,2393 +2393,2393,2394 +2394,2394,2395 +2395,2395,2396 +2396,2396,2397 +2397,2397,2398 +2398,2398,2399 +2399,2399,2400 +2400,2400,2401 +2401,2401,2402 +2402,2402,2403 +2403,2403,2404 +2404,2404,2405 +2405,2405,2406 +2406,2406,2407 +2407,2407,2408 +2408,2408,2409 +2409,2409,2410 +2410,2410,2411 +2411,2411,2412 +2412,2412,2413 +2413,2413,2414 +2414,2414,2415 +2415,2415,2416 +2416,2416,2417 +2417,2417,2418 +2418,2418,2419 +2419,2419,2420 +2420,2420,2421 +2421,2421,2422 +2422,2422,2423 +2423,2423,2424 +2424,2424,2425 +2425,2425,2426 +2426,2426,2427 +2427,2427,2428 +2428,2428,2429 +2429,2429,2430 +2430,2430,2431 +2431,2431,2432 +2432,2432,2433 +2433,2433,2434 +2434,2434,2435 +2435,2435,2436 +2436,2436,2437 +2437,2437,2438 +2438,2438,2439 +2439,2439,2440 +2440,2440,2441 +2441,2441,2442 +2442,2442,2443 +2443,2443,2444 +2444,2444,2445 +2445,2445,2446 +2446,2446,2447 +2447,2447,2448 +2448,2448,2449 +2449,2449,2450 +2450,2450,2451 +2451,2451,2452 +2452,2452,2453 +2453,2453,2454 +2454,2454,2455 +2455,2455,2456 +2456,2456,2457 +2457,2457,2458 +2458,2458,2459 +2459,2459,2460 +2460,2460,2461 +2461,2461,2462 +2462,2462,2463 +2463,2463,2464 +2464,2464,2465 +2465,2465,2466 +2466,2466,2467 +2467,2467,2468 +2468,2468,2469 +2469,2469,2470 +2470,2470,2471 +2471,2471,2472 +2472,2472,2473 +2473,2473,2474 +2474,2474,2475 +2475,2475,2476 +2476,2476,2477 +2477,2477,2478 +2478,2478,2479 +2479,2479,2480 +2480,2480,2481 +2481,2481,2482 +2482,2482,2483 +2483,2483,2484 +2484,2484,2485 +2485,2485,2486 +2486,2486,2487 +2487,2487,2488 +2488,2488,2489 +2489,2489,2490 +2490,2490,2491 +2491,2491,2492 +2492,2492,2493 +2493,2493,2494 +2494,2494,2495 +2495,2495,2496 +2496,2496,2497 +2497,2497,2498 +2498,2498,2499 +2499,2499,2500 +2500,2500,2501 +2501,2501,2502 +2502,2502,2503 +2503,2503,2504 +2504,2504,2505 +2505,2505,2506 +2506,2506,2507 +2507,2507,2508 +2508,2508,2509 +2509,2509,2510 +2510,2510,2511 +2511,2511,2512 +2512,2512,2513 +2513,2513,2514 +2514,2514,2515 +2515,2515,2516 +2516,2516,2517 +2517,2517,2518 +2518,2518,2519 +2519,2519,2520 +2520,2520,2521 +2521,2521,2522 +2522,2522,2523 +2523,2523,2524 +2524,2524,2525 +2525,2525,2526 +2526,2526,2527 +2527,2527,2528 +2528,2528,2529 +2529,2529,2530 +2530,2530,2531 +2531,2531,2532 +2532,2532,2533 +2533,2533,2534 +2534,2534,2535 +2535,2535,2536 +2536,2536,2537 +2537,2537,2538 +2538,2538,2539 +2539,2539,2540 +2540,2540,2541 +2541,2541,2542 +2542,2542,2543 +2543,2543,2544 +2544,2544,2545 +2545,2545,2546 +2546,2546,2547 +2547,2547,2548 +2548,2548,2549 +2549,2549,2550 +2550,2550,2551 +2551,2551,2552 +2552,2552,2553 +2553,2553,2554 +2554,2554,2555 +2555,2555,2556 +2556,2556,2557 +2557,2557,2558 +2558,2558,2559 +2559,2559,2560 +2560,2560,2561 +2561,2561,2562 +2562,2562,2563 +2563,2563,2564 +2564,2564,2565 +2565,2565,2566 +2566,2566,2567 +2567,2567,2568 +2568,2568,2569 +2569,2569,2570 +2570,2570,2571 +2571,2571,2572 +2572,2572,2573 +2573,2573,2574 +2574,2574,2575 +2575,2575,2576 +2576,2576,2577 +2577,2577,2578 +2578,2578,2579 +2579,2579,2580 +2580,2580,2581 +2581,2581,2582 +2582,2582,2583 +2583,2583,2584 +2584,2584,2585 +2585,2585,2586 +2586,2586,2587 +2587,2587,2588 +2588,2588,2589 +2589,2589,2590 +2590,2590,2591 +2591,2591,2592 +2592,2592,2593 +2593,2593,2594 +2594,2594,2595 +2595,2595,2596 +2596,2596,2597 +2597,2597,2598 +2598,2598,2599 +2599,2599,2600 +2600,2600,2601 +2601,2601,2602 +2602,2602,2603 +2603,2603,2604 +2604,2604,2605 +2605,2605,2606 +2606,2606,2607 +2607,2607,2608 +2608,2608,2609 +2609,2609,2610 +2610,2610,2611 +2611,2611,2612 +2612,2612,2613 +2613,2613,2614 +2614,2614,2615 +2615,2615,2616 +2616,2616,2617 +2617,2617,2618 +2618,2618,2619 +2619,2619,2620 +2620,2620,2621 +2621,2621,2622 +2622,2622,2623 +2623,2623,2624 +2624,2624,2625 +2625,2625,2626 +2626,2626,2627 +2627,2627,2628 +2628,2628,2629 +2629,2629,2630 +2630,2630,2631 +2631,2631,2632 +2632,2632,2633 +2633,2633,2634 +2634,2634,2635 +2635,2635,2636 +2636,2636,2637 +2637,2637,2638 +2638,2638,2639 +2639,2639,2640 +2640,2640,2641 +2641,2641,2642 +2642,2642,2643 +2643,2643,2644 +2644,2644,2645 +2645,2645,2646 +2646,2646,2647 +2647,2647,2648 +2648,2648,2649 +2649,2649,2650 +2650,2650,2651 +2651,2651,2652 +2652,2652,2653 +2653,2653,2654 +2654,2654,2655 +2655,2655,2656 +2656,2656,2657 +2657,2657,2658 +2658,2658,2659 +2659,2659,2660 +2660,2660,2661 +2661,2661,2662 +2662,2662,2663 +2663,2663,2664 +2664,2664,2665 +2665,2665,2666 +2666,2666,2667 +2667,2667,2668 +2668,2668,2669 +2669,2669,2670 +2670,2670,2671 +2671,2671,2672 +2672,2672,2673 +2673,2673,2674 +2674,2674,2675 +2675,2675,2676 +2676,2676,2677 +2677,2677,2678 +2678,2678,2679 +2679,2679,2680 +2680,2680,2681 +2681,2681,2682 +2682,2682,2683 +2683,2683,2684 +2684,2684,2685 +2685,2685,2686 +2686,2686,2687 +2687,2687,2688 +2688,2688,2689 +2689,2689,2690 +2690,2690,2691 +2691,2691,2692 +2692,2692,2693 +2693,2693,2694 +2694,2694,2695 +2695,2695,2696 +2696,2696,2697 +2697,2697,2698 +2698,2698,2699 +2699,2699,2700 +2700,2700,2701 +2701,2701,2702 +2702,2702,2703 +2703,2703,2704 +2704,2704,2705 +2705,2705,2706 +2706,2706,2707 +2707,2707,2708 +2708,2708,2709 +2709,2709,2710 +2710,2710,2711 +2711,2711,2712 +2712,2712,2713 +2713,2713,2714 +2714,2714,2715 +2715,2715,2716 +2716,2716,2717 +2717,2717,2718 +2718,2718,2719 +2719,2719,2720 +2720,2720,2721 +2721,2721,2722 +2722,2722,2723 +2723,2723,2724 +2724,2724,2725 +2725,2725,2726 +2726,2726,2727 +2727,2727,2728 +2728,2728,2729 +2729,2729,2730 +2730,2730,2731 +2731,2731,2732 +2732,2732,2733 +2733,2733,2734 +2734,2734,2735 +2735,2735,2736 +2736,2736,2737 +2737,2737,2738 +2738,2738,2739 +2739,2739,2740 +2740,2740,2741 +2741,2741,2742 +2742,2742,2743 +2743,2743,2744 +2744,2744,2745 +2745,2745,2746 +2746,2746,2747 +2747,2747,2748 +2748,2748,2749 +2749,2749,2750 +2750,2750,2751 +2751,2751,2752 +2752,2752,2753 +2753,2753,2754 +2754,2754,2755 +2755,2755,2756 +2756,2756,2757 +2757,2757,2758 +2758,2758,2759 +2759,2759,2760 +2760,2760,2761 +2761,2761,2762 +2762,2762,2763 +2763,2763,2764 +2764,2764,2765 +2765,2765,2766 +2766,2766,2767 +2767,2767,2768 +2768,2768,2769 +2769,2769,2770 +2770,2770,2771 +2771,2771,2772 +2772,2772,2773 +2773,2773,2774 +2774,2774,2775 +2775,2775,2776 +2776,2776,2777 +2777,2777,2778 +2778,2778,2779 +2779,2779,2780 +2780,2780,2781 +2781,2781,2782 +2782,2782,2783 +2783,2783,2784 +2784,2784,2785 +2785,2785,2786 +2786,2786,2787 +2787,2787,2788 +2788,2788,2789 +2789,2789,2790 +2790,2790,2791 +2791,2791,2792 +2792,2792,2793 +2793,2793,2794 +2794,2794,2795 +2795,2795,2796 +2796,2796,2797 +2797,2797,2798 +2798,2798,2799 +2799,2799,2800 +2800,2800,2801 +2801,2801,2802 +2802,2802,2803 +2803,2803,2804 +2804,2804,2805 +2805,2805,2806 +2806,2806,2807 +2807,2807,2808 +2808,2808,2809 +2809,2809,2810 +2810,2810,2811 +2811,2811,2812 +2812,2812,2813 +2813,2813,2814 +2814,2814,2815 +2815,2815,2816 +2816,2816,2817 +2817,2817,2818 +2818,2818,2819 +2819,2819,2820 +2820,2820,2821 +2821,2821,2822 +2822,2822,2823 +2823,2823,2824 +2824,2824,2825 +2825,2825,2826 +2826,2826,2827 +2827,2827,2828 +2828,2828,2829 +2829,2829,2830 +2830,2830,2831 +2831,2831,2832 +2832,2832,2833 +2833,2833,2834 +2834,2834,2835 +2835,2835,2836 +2836,2836,2837 +2837,2837,2838 +2838,2838,2839 +2839,2839,2840 +2840,2840,2841 +2841,2841,2842 +2842,2842,2843 +2843,2843,2844 +2844,2844,2845 +2845,2845,2846 +2846,2846,2847 +2847,2847,2848 +2848,2848,2849 +2849,2849,2850 +2850,2850,2851 +2851,2851,2852 +2852,2852,2853 +2853,2853,2854 +2854,2854,2855 +2855,2855,2856 +2856,2856,2857 +2857,2857,2858 +2858,2858,2859 +2859,2859,2860 +2860,2860,2861 +2861,2861,2862 +2862,2862,2863 +2863,2863,2864 +2864,2864,2865 +2865,2865,2866 +2866,2866,2867 +2867,2867,2868 +2868,2868,2869 +2869,2869,2870 +2870,2870,2871 +2871,2871,2872 +2872,2872,2873 +2873,2873,2874 +2874,2874,2875 +2875,2875,2876 +2876,2876,2877 +2877,2877,2878 +2878,2878,2879 +2879,2879,2880 +2880,2880,2881 +2881,2881,2882 +2882,2882,2883 +2883,2883,2884 +2884,2884,2885 +2885,2885,2886 +2886,2886,2887 +2887,2887,2888 +2888,2888,2889 +2889,2889,2890 +2890,2890,2891 +2891,2891,2892 +2892,2892,2893 +2893,2893,2894 +2894,2894,2895 +2895,2895,2896 +2896,2896,2897 +2897,2897,2898 +2898,2898,2899 +2899,2899,2900 +2900,2900,2901 +2901,2901,2902 +2902,2902,2903 +2903,2903,2904 +2904,2904,2905 +2905,2905,2906 +2906,2906,2907 +2907,2907,2908 +2908,2908,2909 +2909,2909,2910 +2910,2910,2911 +2911,2911,2912 +2912,2912,2913 +2913,2913,2914 +2914,2914,2915 +2915,2915,2916 +2916,2916,2917 +2917,2917,2918 +2918,2918,2919 +2919,2919,2920 +2920,2920,2921 +2921,2921,2922 +2922,2922,2923 +2923,2923,2924 +2924,2924,2925 +2925,2925,2926 +2926,2926,2927 +2927,2927,2928 +2928,2928,2929 +2929,2929,2930 +2930,2930,2931 +2931,2931,2932 +2932,2932,2933 +2933,2933,2934 +2934,2934,2935 +2935,2935,2936 +2936,2936,2937 +2937,2937,2938 +2938,2938,2939 +2939,2939,2940 +2940,2940,2941 +2941,2941,2942 +2942,2942,2943 +2943,2943,2944 +2944,2944,2945 +2945,2945,2946 +2946,2946,2947 +2947,2947,2948 +2948,2948,2949 +2949,2949,2950 +2950,2950,2951 +2951,2951,2952 +2952,2952,2953 +2953,2953,2954 +2954,2954,2955 +2955,2955,2956 +2956,2956,2957 +2957,2957,2958 +2958,2958,2959 +2959,2959,2960 +2960,2960,2961 +2961,2961,2962 +2962,2962,2963 +2963,2963,2964 +2964,2964,2965 +2965,2965,2966 +2966,2966,2967 +2967,2967,2968 +2968,2968,2969 +2969,2969,2970 +2970,2970,2971 +2971,2971,2972 +2972,2972,2973 +2973,2973,2974 +2974,2974,2975 +2975,2975,2976 +2976,2976,2977 +2977,2977,2978 +2978,2978,2979 +2979,2979,2980 +2980,2980,2981 +2981,2981,2982 +2982,2982,2983 +2983,2983,2984 +2984,2984,2985 +2985,2985,2986 +2986,2986,2987 +2987,2987,2988 +2988,2988,2989 +2989,2989,2990 +2990,2990,2991 +2991,2991,2992 +2992,2992,2993 +2993,2993,2994 +2994,2994,2995 +2995,2995,2996 +2996,2996,2997 +2997,2997,2998 +2998,2998,2999 +2999,2999,3000 +3000,3000,3001 +3001,3001,3002 +3002,3002,3003 +3003,3003,3004 +3004,3004,3005 +3005,3005,3006 +3006,3006,3007 +3007,3007,3008 +3008,3008,3009 +3009,3009,3010 +3010,3010,3011 +3011,3011,3012 +3012,3012,3013 +3013,3013,3014 +3014,3014,3015 +3015,3015,3016 +3016,3016,3017 +3017,3017,3018 +3018,3018,3019 +3019,3019,3020 +3020,3020,3021 +3021,3021,3022 +3022,3022,3023 +3023,3023,3024 +3024,3024,3025 +3025,3025,3026 +3026,3026,3027 +3027,3027,3028 +3028,3028,3029 +3029,3029,3030 +3030,3030,3031 +3031,3031,3032 +3032,3032,3033 +3033,3033,3034 +3034,3034,3035 +3035,3035,3036 +3036,3036,3037 +3037,3037,3038 +3038,3038,3039 +3039,3039,3040 +3040,3040,3041 +3041,3041,3042 +3042,3042,3043 +3043,3043,3044 +3044,3044,3045 +3045,3045,3046 +3046,3046,3047 +3047,3047,3048 +3048,3048,3049 +3049,3049,3050 +3050,3050,3051 +3051,3051,3052 +3052,3052,3053 +3053,3053,3054 +3054,3054,3055 +3055,3055,3056 +3056,3056,3057 +3057,3057,3058 +3058,3058,3059 +3059,3059,3060 +3060,3060,3061 +3061,3061,3062 +3062,3062,3063 +3063,3063,3064 +3064,3064,3065 +3065,3065,3066 +3066,3066,3067 +3067,3067,3068 +3068,3068,3069 +3069,3069,3070 +3070,3070,3071 +3071,3071,3072 +3072,3072,3073 +3073,3073,3074 +3074,3074,3075 +3075,3075,3076 +3076,3076,3077 +3077,3077,3078 +3078,3078,3079 +3079,3079,3080 +3080,3080,3081 +3081,3081,3082 +3082,3082,3083 +3083,3083,3084 +3084,3084,3085 +3085,3085,3086 +3086,3086,3087 +3087,3087,3088 +3088,3088,3089 +3089,3089,3090 +3090,3090,3091 +3091,3091,3092 +3092,3092,3093 +3093,3093,3094 +3094,3094,3095 +3095,3095,3096 +3096,3096,3097 +3097,3097,3098 +3098,3098,3099 +3099,3099,3100 +3100,3100,3101 +3101,3101,3102 +3102,3102,3103 +3103,3103,3104 +3104,3104,3105 +3105,3105,3106 +3106,3106,3107 +3107,3107,3108 +3108,3108,3109 +3109,3109,3110 +3110,3110,3111 +3111,3111,3112 +3112,3112,3113 +3113,3113,3114 +3114,3114,3115 +3115,3115,3116 +3116,3116,3117 +3117,3117,3118 +3118,3118,3119 +3119,3119,3120 +3120,3120,3121 +3121,3121,3122 +3122,3122,3123 +3123,3123,3124 +3124,3124,3125 +3125,3125,3126 +3126,3126,3127 +3127,3127,3128 +3128,3128,3129 +3129,3129,3130 +3130,3130,3131 +3131,3131,3132 +3132,3132,3133 +3133,3133,3134 +3134,3134,3135 +3135,3135,3136 +3136,3136,3137 +3137,3137,3138 +3138,3138,3139 +3139,3139,3140 +3140,3140,3141 +3141,3141,3142 +3142,3142,3143 +3143,3143,3144 +3144,3144,3145 +3145,3145,3146 +3146,3146,3147 +3147,3147,3148 +3148,3148,3149 +3149,3149,3150 +3150,3150,3151 +3151,3151,3152 +3152,3152,3153 +3153,3153,3154 +3154,3154,3155 +3155,3155,3156 +3156,3156,3157 +3157,3157,3158 +3158,3158,3159 +3159,3159,3160 +3160,3160,3161 +3161,3161,3162 +3162,3162,3163 +3163,3163,3164 +3164,3164,3165 +3165,3165,3166 +3166,3166,3167 +3167,3167,3168 +3168,3168,3169 +3169,3169,3170 +3170,3170,3171 +3171,3171,3172 +3172,3172,3173 +3173,3173,3174 +3174,3174,3175 +3175,3175,3176 +3176,3176,3177 +3177,3177,3178 +3178,3178,3179 +3179,3179,3180 +3180,3180,3181 +3181,3181,3182 +3182,3182,3183 +3183,3183,3184 +3184,3184,3185 +3185,3185,3186 +3186,3186,3187 +3187,3187,3188 +3188,3188,3189 +3189,3189,3190 +3190,3190,3191 +3191,3191,3192 +3192,3192,3193 +3193,3193,3194 +3194,3194,3195 +3195,3195,3196 +3196,3196,3197 +3197,3197,3198 +3198,3198,3199 +3199,3199,3200 +3200,3200,3201 +3201,3201,3202 +3202,3202,3203 +3203,3203,3204 +3204,3204,3205 +3205,3205,3206 +3206,3206,3207 +3207,3207,3208 +3208,3208,3209 +3209,3209,3210 +3210,3210,3211 +3211,3211,3212 +3212,3212,3213 +3213,3213,3214 +3214,3214,3215 +3215,3215,3216 +3216,3216,3217 +3217,3217,3218 +3218,3218,3219 +3219,3219,3220 +3220,3220,3221 +3221,3221,3222 +3222,3222,3223 +3223,3223,3224 +3224,3224,3225 +3225,3225,3226 +3226,3226,3227 +3227,3227,3228 +3228,3228,3229 +3229,3229,3230 +3230,3230,3231 +3231,3231,3232 +3232,3232,3233 +3233,3233,3234 +3234,3234,3235 +3235,3235,3236 +3236,3236,3237 +3237,3237,3238 +3238,3238,3239 +3239,3239,3240 +3240,3240,3241 +3241,3241,3242 +3242,3242,3243 +3243,3243,3244 +3244,3244,3245 +3245,3245,3246 +3246,3246,3247 +3247,3247,3248 +3248,3248,3249 +3249,3249,3250 +3250,3250,3251 +3251,3251,3252 +3252,3252,3253 +3253,3253,3254 +3254,3254,3255 +3255,3255,3256 +3256,3256,3257 +3257,3257,3258 +3258,3258,3259 +3259,3259,3260 +3260,3260,3261 +3261,3261,3262 +3262,3262,3263 +3263,3263,3264 +3264,3264,3265 +3265,3265,3266 +3266,3266,3267 +3267,3267,3268 +3268,3268,3269 +3269,3269,3270 +3270,3270,3271 +3271,3271,3272 +3272,3272,3273 +3273,3273,3274 +3274,3274,3275 +3275,3275,3276 +3276,3276,3277 +3277,3277,3278 +3278,3278,3279 +3279,3279,3280 +3280,3280,3281 +3281,3281,3282 +3282,3282,3283 +3283,3283,3284 +3284,3284,3285 +3285,3285,3286 +3286,3286,3287 +3287,3287,3288 +3288,3288,3289 +3289,3289,3290 +3290,3290,3291 +3291,3291,3292 +3292,3292,3293 +3293,3293,3294 +3294,3294,3295 +3295,3295,3296 +3296,3296,3297 +3297,3297,3298 +3298,3298,3299 +3299,3299,3300 +3300,3300,3301 +3301,3301,3302 +3302,3302,3303 +3303,3303,3304 +3304,3304,3305 +3305,3305,3306 +3306,3306,3307 +3307,3307,3308 +3308,3308,3309 +3309,3309,3310 +3310,3310,3311 +3311,3311,3312 +3312,3312,3313 +3313,3313,3314 +3314,3314,3315 +3315,3315,3316 +3316,3316,3317 +3317,3317,3318 +3318,3318,3319 +3319,3319,3320 +3320,3320,3321 +3321,3321,3322 +3322,3322,3323 +3323,3323,3324 +3324,3324,3325 +3325,3325,3326 +3326,3326,3327 +3327,3327,3328 +3328,3328,3329 +3329,3329,3330 +3330,3330,3331 +3331,3331,3332 +3332,3332,3333 +3333,3333,3334 +3334,3334,3335 +3335,3335,3336 +3336,3336,3337 +3337,3337,3338 +3338,3338,3339 +3339,3339,3340 +3340,3340,3341 +3341,3341,3342 +3342,3342,3343 +3343,3343,3344 +3344,3344,3345 +3345,3345,3346 +3346,3346,3347 +3347,3347,3348 +3348,3348,3349 +3349,3349,3350 +3350,3350,3351 +3351,3351,3352 +3352,3352,3353 +3353,3353,3354 +3354,3354,3355 +3355,3355,3356 +3356,3356,3357 +3357,3357,3358 +3358,3358,3359 +3359,3359,3360 +3360,3360,3361 +3361,3361,3362 +3362,3362,3363 +3363,3363,3364 +3364,3364,3365 +3365,3365,3366 +3366,3366,3367 +3367,3367,3368 +3368,3368,3369 +3369,3369,3370 +3370,3370,3371 +3371,3371,3372 +3372,3372,3373 +3373,3373,3374 +3374,3374,3375 +3375,3375,3376 +3376,3376,3377 +3377,3377,3378 +3378,3378,3379 +3379,3379,3380 +3380,3380,3381 +3381,3381,3382 +3382,3382,3383 +3383,3383,3384 +3384,3384,3385 +3385,3385,3386 +3386,3386,3387 +3387,3387,3388 +3388,3388,3389 +3389,3389,3390 +3390,3390,3391 +3391,3391,3392 +3392,3392,3393 +3393,3393,3394 +3394,3394,3395 +3395,3395,3396 +3396,3396,3397 +3397,3397,3398 +3398,3398,3399 +3399,3399,3400 +3400,3400,3401 +3401,3401,3402 +3402,3402,3403 +3403,3403,3404 +3404,3404,3405 +3405,3405,3406 +3406,3406,3407 +3407,3407,3408 +3408,3408,3409 +3409,3409,3410 +3410,3410,3411 +3411,3411,3412 +3412,3412,3413 +3413,3413,3414 +3414,3414,3415 +3415,3415,3416 +3416,3416,3417 +3417,3417,3418 +3418,3418,3419 +3419,3419,3420 +3420,3420,3421 +3421,3421,3422 +3422,3422,3423 +3423,3423,3424 +3424,3424,3425 +3425,3425,3426 +3426,3426,3427 +3427,3427,3428 +3428,3428,3429 +3429,3429,3430 +3430,3430,3431 +3431,3431,3432 +3432,3432,3433 +3433,3433,3434 +3434,3434,3435 +3435,3435,3436 +3436,3436,3437 +3437,3437,3438 +3438,3438,3439 +3439,3439,3440 +3440,3440,3441 +3441,3441,3442 +3442,3442,3443 +3443,3443,3444 +3444,3444,3445 +3445,3445,3446 +3446,3446,3447 +3447,3447,3448 +3448,3448,3449 +3449,3449,3450 +3450,3450,3451 +3451,3451,3452 +3452,3452,3453 +3453,3453,3454 +3454,3454,3455 +3455,3455,3456 +3456,3456,3457 +3457,3457,3458 +3458,3458,3459 +3459,3459,3460 +3460,3460,3461 +3461,3461,3462 +3462,3462,3463 +3463,3463,3464 +3464,3464,3465 +3465,3465,3466 +3466,3466,3467 +3467,3467,3468 +3468,3468,3469 +3469,3469,3470 +3470,3470,3471 +3471,3471,3472 +3472,3472,3473 +3473,3473,3474 +3474,3474,3475 +3475,3475,3476 +3476,3476,3477 +3477,3477,3478 +3478,3478,3479 +3479,3479,3480 +3480,3480,3481 +3481,3481,3482 +3482,3482,3483 +3483,3483,3484 +3484,3484,3485 +3485,3485,3486 +3486,3486,3487 +3487,3487,3488 +3488,3488,3489 +3489,3489,3490 +3490,3490,3491 +3491,3491,3492 +3492,3492,3493 +3493,3493,3494 +3494,3494,3495 +3495,3495,3496 +3496,3496,3497 +3497,3497,3498 +3498,3498,3499 +3499,3499,3500 +3500,3500,3501 +3501,3501,3502 +3502,3502,3503 +3503,3503,3504 +3504,3504,3505 +3505,3505,3506 +3506,3506,3507 +3507,3507,3508 +3508,3508,3509 +3509,3509,3510 +3510,3510,3511 +3511,3511,3512 +3512,3512,3513 +3513,3513,3514 +3514,3514,3515 +3515,3515,3516 +3516,3516,3517 +3517,3517,3518 +3518,3518,3519 +3519,3519,3520 +3520,3520,3521 +3521,3521,3522 +3522,3522,3523 +3523,3523,3524 +3524,3524,3525 +3525,3525,3526 +3526,3526,3527 +3527,3527,3528 +3528,3528,3529 +3529,3529,3530 +3530,3530,3531 +3531,3531,3532 +3532,3532,3533 +3533,3533,3534 +3534,3534,3535 +3535,3535,3536 +3536,3536,3537 +3537,3537,3538 +3538,3538,3539 +3539,3539,3540 +3540,3540,3541 +3541,3541,3542 +3542,3542,3543 +3543,3543,3544 +3544,3544,3545 +3545,3545,3546 +3546,3546,3547 +3547,3547,3548 +3548,3548,3549 +3549,3549,3550 +3550,3550,3551 +3551,3551,3552 +3552,3552,3553 +3553,3553,3554 +3554,3554,3555 +3555,3555,3556 +3556,3556,3557 +3557,3557,3558 +3558,3558,3559 +3559,3559,3560 +3560,3560,3561 +3561,3561,3562 +3562,3562,3563 +3563,3563,3564 +3564,3564,3565 +3565,3565,3566 +3566,3566,3567 +3567,3567,3568 +3568,3568,3569 +3569,3569,3570 +3570,3570,3571 +3571,3571,3572 +3572,3572,3573 +3573,3573,3574 +3574,3574,3575 +3575,3575,3576 +3576,3576,3577 +3577,3577,3578 +3578,3578,3579 +3579,3579,3580 +3580,3580,3581 +3581,3581,3582 +3582,3582,3583 +3583,3583,3584 +3584,3584,3585 +3585,3585,3586 +3586,3586,3587 +3587,3587,3588 +3588,3588,3589 +3589,3589,3590 +3590,3590,3591 +3591,3591,3592 +3592,3592,3593 +3593,3593,3594 +3594,3594,3595 +3595,3595,3596 +3596,3596,3597 +3597,3597,3598 +3598,3598,3599 +3599,3599,3600 +3600,3600,3601 +3601,3601,3602 +3602,3602,3603 +3603,3603,3604 +3604,3604,3605 +3605,3605,3606 +3606,3606,3607 +3607,3607,3608 +3608,3608,3609 +3609,3609,3610 +3610,3610,3611 +3611,3611,3612 +3612,3612,3613 +3613,3613,3614 +3614,3614,3615 +3615,3615,3616 +3616,3616,3617 +3617,3617,3618 +3618,3618,3619 +3619,3619,3620 +3620,3620,3621 +3621,3621,3622 +3622,3622,3623 +3623,3623,3624 +3624,3624,3625 +3625,3625,3626 +3626,3626,3627 +3627,3627,3628 +3628,3628,3629 +3629,3629,3630 +3630,3630,3631 +3631,3631,3632 +3632,3632,3633 +3633,3633,3634 +3634,3634,3635 +3635,3635,3636 +3636,3636,3637 +3637,3637,3638 +3638,3638,3639 +3639,3639,3640 +3640,3640,3641 +3641,3641,3642 +3642,3642,3643 +3643,3643,3644 +3644,3644,3645 +3645,3645,3646 +3646,3646,3647 +3647,3647,3648 +3648,3648,3649 +3649,3649,3650 +3650,3650,3651 +3651,3651,3652 +3652,3652,3653 +3653,3653,3654 +3654,3654,3655 +3655,3655,3656 +3656,3656,3657 +3657,3657,3658 +3658,3658,3659 +3659,3659,3660 +3660,3660,3661 +3661,3661,3662 +3662,3662,3663 +3663,3663,3664 +3664,3664,3665 +3665,3665,3666 +3666,3666,3667 +3667,3667,3668 +3668,3668,3669 +3669,3669,3670 +3670,3670,3671 +3671,3671,3672 +3672,3672,3673 +3673,3673,3674 +3674,3674,3675 +3675,3675,3676 +3676,3676,3677 +3677,3677,3678 +3678,3678,3679 +3679,3679,3680 +3680,3680,3681 +3681,3681,3682 +3682,3682,3683 +3683,3683,3684 +3684,3684,3685 +3685,3685,3686 +3686,3686,3687 +3687,3687,3688 +3688,3688,3689 +3689,3689,3690 +3690,3690,3691 +3691,3691,3692 +3692,3692,3693 +3693,3693,3694 +3694,3694,3695 +3695,3695,3696 +3696,3696,3697 +3697,3697,3698 +3698,3698,3699 +3699,3699,3700 +3700,3700,3701 +3701,3701,3702 +3702,3702,3703 +3703,3703,3704 +3704,3704,3705 +3705,3705,3706 +3706,3706,3707 +3707,3707,3708 +3708,3708,3709 +3709,3709,3710 +3710,3710,3711 +3711,3711,3712 +3712,3712,3713 +3713,3713,3714 +3714,3714,3715 +3715,3715,3716 +3716,3716,3717 +3717,3717,3718 +3718,3718,3719 +3719,3719,3720 +3720,3720,3721 +3721,3721,3722 +3722,3722,3723 +3723,3723,3724 +3724,3724,3725 +3725,3725,3726 +3726,3726,3727 +3727,3727,3728 +3728,3728,3729 +3729,3729,3730 +3730,3730,3731 +3731,3731,3732 +3732,3732,3733 +3733,3733,3734 +3734,3734,3735 +3735,3735,3736 +3736,3736,3737 +3737,3737,3738 +3738,3738,3739 +3739,3739,3740 +3740,3740,3741 +3741,3741,3742 +3742,3742,3743 +3743,3743,3744 +3744,3744,3745 +3745,3745,3746 +3746,3746,3747 +3747,3747,3748 +3748,3748,3749 +3749,3749,3750 +3750,3750,3751 +3751,3751,3752 +3752,3752,3753 +3753,3753,3754 +3754,3754,3755 +3755,3755,3756 +3756,3756,3757 +3757,3757,3758 +3758,3758,3759 +3759,3759,3760 +3760,3760,3761 +3761,3761,3762 +3762,3762,3763 +3763,3763,3764 +3764,3764,3765 +3765,3765,3766 +3766,3766,3767 +3767,3767,3768 +3768,3768,3769 +3769,3769,3770 +3770,3770,3771 +3771,3771,3772 +3772,3772,3773 +3773,3773,3774 +3774,3774,3775 +3775,3775,3776 +3776,3776,3777 +3777,3777,3778 +3778,3778,3779 +3779,3779,3780 +3780,3780,3781 +3781,3781,3782 +3782,3782,3783 +3783,3783,3784 +3784,3784,3785 +3785,3785,3786 +3786,3786,3787 +3787,3787,3788 +3788,3788,3789 +3789,3789,3790 +3790,3790,3791 +3791,3791,3792 +3792,3792,3793 +3793,3793,3794 +3794,3794,3795 +3795,3795,3796 +3796,3796,3797 +3797,3797,3798 +3798,3798,3799 +3799,3799,3800 +3800,3800,3801 +3801,3801,3802 +3802,3802,3803 +3803,3803,3804 +3804,3804,3805 +3805,3805,3806 +3806,3806,3807 +3807,3807,3808 +3808,3808,3809 +3809,3809,3810 +3810,3810,3811 +3811,3811,3812 +3812,3812,3813 +3813,3813,3814 +3814,3814,3815 +3815,3815,3816 +3816,3816,3817 +3817,3817,3818 +3818,3818,3819 +3819,3819,3820 +3820,3820,3821 +3821,3821,3822 +3822,3822,3823 +3823,3823,3824 +3824,3824,3825 +3825,3825,3826 +3826,3826,3827 +3827,3827,3828 +3828,3828,3829 +3829,3829,3830 +3830,3830,3831 +3831,3831,3832 +3832,3832,3833 +3833,3833,3834 +3834,3834,3835 +3835,3835,3836 +3836,3836,3837 +3837,3837,3838 +3838,3838,3839 +3839,3839,3840 +3840,3840,3841 +3841,3841,3842 +3842,3842,3843 +3843,3843,3844 +3844,3844,3845 +3845,3845,3846 +3846,3846,3847 +3847,3847,3848 +3848,3848,3849 +3849,3849,3850 +3850,3850,3851 +3851,3851,3852 +3852,3852,3853 +3853,3853,3854 +3854,3854,3855 +3855,3855,3856 +3856,3856,3857 +3857,3857,3858 +3858,3858,3859 +3859,3859,3860 +3860,3860,3861 +3861,3861,3862 +3862,3862,3863 +3863,3863,3864 +3864,3864,3865 +3865,3865,3866 +3866,3866,3867 +3867,3867,3868 +3868,3868,3869 +3869,3869,3870 +3870,3870,3871 +3871,3871,3872 +3872,3872,3873 +3873,3873,3874 +3874,3874,3875 +3875,3875,3876 +3876,3876,3877 +3877,3877,3878 +3878,3878,3879 +3879,3879,3880 +3880,3880,3881 +3881,3881,3882 +3882,3882,3883 +3883,3883,3884 +3884,3884,3885 +3885,3885,3886 +3886,3886,3887 +3887,3887,3888 +3888,3888,3889 +3889,3889,3890 +3890,3890,3891 +3891,3891,3892 +3892,3892,3893 +3893,3893,3894 +3894,3894,3895 +3895,3895,3896 +3896,3896,3897 +3897,3897,3898 +3898,3898,3899 +3899,3899,3900 +3900,3900,3901 +3901,3901,3902 +3902,3902,3903 +3903,3903,3904 +3904,3904,3905 +3905,3905,3906 +3906,3906,3907 +3907,3907,3908 +3908,3908,3909 +3909,3909,3910 +3910,3910,3911 +3911,3911,3912 +3912,3912,3913 +3913,3913,3914 +3914,3914,3915 +3915,3915,3916 +3916,3916,3917 +3917,3917,3918 +3918,3918,3919 +3919,3919,3920 +3920,3920,3921 +3921,3921,3922 +3922,3922,3923 +3923,3923,3924 +3924,3924,3925 +3925,3925,3926 +3926,3926,3927 +3927,3927,3928 +3928,3928,3929 +3929,3929,3930 +3930,3930,3931 +3931,3931,3932 +3932,3932,3933 +3933,3933,3934 +3934,3934,3935 +3935,3935,3936 +3936,3936,3937 +3937,3937,3938 +3938,3938,3939 +3939,3939,3940 +3940,3940,3941 +3941,3941,3942 +3942,3942,3943 +3943,3943,3944 +3944,3944,3945 +3945,3945,3946 +3946,3946,3947 +3947,3947,3948 +3948,3948,3949 +3949,3949,3950 +3950,3950,3951 +3951,3951,3952 +3952,3952,3953 +3953,3953,3954 +3954,3954,3955 +3955,3955,3956 +3956,3956,3957 +3957,3957,3958 +3958,3958,3959 +3959,3959,3960 +3960,3960,3961 +3961,3961,3962 +3962,3962,3963 +3963,3963,3964 +3964,3964,3965 +3965,3965,3966 +3966,3966,3967 +3967,3967,3968 +3968,3968,3969 +3969,3969,3970 +3970,3970,3971 +3971,3971,3972 +3972,3972,3973 +3973,3973,3974 +3974,3974,3975 +3975,3975,3976 +3976,3976,3977 +3977,3977,3978 +3978,3978,3979 +3979,3979,3980 +3980,3980,3981 +3981,3981,3982 +3982,3982,3983 +3983,3983,3984 +3984,3984,3985 +3985,3985,3986 +3986,3986,3987 +3987,3987,3988 +3988,3988,3989 +3989,3989,3990 +3990,3990,3991 +3991,3991,3992 +3992,3992,3993 +3993,3993,3994 +3994,3994,3995 +3995,3995,3996 +3996,3996,3997 +3997,3997,3998 +3998,3998,3999 +3999,3999,4000 +4000,4000,4001 +4001,4001,4002 +4002,4002,4003 +4003,4003,4004 +4004,4004,4005 +4005,4005,4006 +4006,4006,4007 +4007,4007,4008 +4008,4008,4009 +4009,4009,4010 +4010,4010,4011 +4011,4011,4012 +4012,4012,4013 +4013,4013,4014 +4014,4014,4015 +4015,4015,4016 +4016,4016,4017 +4017,4017,4018 +4018,4018,4019 +4019,4019,4020 +4020,4020,4021 +4021,4021,4022 +4022,4022,4023 +4023,4023,4024 +4024,4024,4025 +4025,4025,4026 +4026,4026,4027 +4027,4027,4028 +4028,4028,4029 +4029,4029,4030 +4030,4030,4031 +4031,4031,4032 +4032,4032,4033 +4033,4033,4034 +4034,4034,4035 +4035,4035,4036 +4036,4036,4037 +4037,4037,4038 +4038,4038,4039 +4039,4039,4040 +4040,4040,4041 +4041,4041,4042 +4042,4042,4043 +4043,4043,4044 +4044,4044,4045 +4045,4045,4046 +4046,4046,4047 +4047,4047,4048 +4048,4048,4049 +4049,4049,4050 +4050,4050,4051 +4051,4051,4052 +4052,4052,4053 +4053,4053,4054 +4054,4054,4055 +4055,4055,4056 +4056,4056,4057 +4057,4057,4058 +4058,4058,4059 +4059,4059,4060 +4060,4060,4061 +4061,4061,4062 +4062,4062,4063 +4063,4063,4064 +4064,4064,4065 +4065,4065,4066 +4066,4066,4067 +4067,4067,4068 +4068,4068,4069 +4069,4069,4070 +4070,4070,4071 +4071,4071,4072 +4072,4072,4073 +4073,4073,4074 +4074,4074,4075 +4075,4075,4076 +4076,4076,4077 +4077,4077,4078 +4078,4078,4079 +4079,4079,4080 +4080,4080,4081 +4081,4081,4082 +4082,4082,4083 +4083,4083,4084 +4084,4084,4085 +4085,4085,4086 +4086,4086,4087 +4087,4087,4088 +4088,4088,4089 +4089,4089,4090 +4090,4090,4091 +4091,4091,4092 +4092,4092,4093 +4093,4093,4094 +4094,4094,4095 +4095,4095,4096 +4096,4096,4097 +4097,4097,4098 +4098,4098,4099 +4099,4099,4100 +4100,4100,4101 +4101,4101,4102 +4102,4102,4103 +4103,4103,4104 +4104,4104,4105 +4105,4105,4106 +4106,4106,4107 +4107,4107,4108 +4108,4108,4109 +4109,4109,4110 +4110,4110,4111 +4111,4111,4112 +4112,4112,4113 +4113,4113,4114 +4114,4114,4115 +4115,4115,4116 +4116,4116,4117 +4117,4117,4118 +4118,4118,4119 +4119,4119,4120 +4120,4120,4121 +4121,4121,4122 +4122,4122,4123 +4123,4123,4124 +4124,4124,4125 +4125,4125,4126 +4126,4126,4127 +4127,4127,4128 +4128,4128,4129 +4129,4129,4130 +4130,4130,4131 +4131,4131,4132 +4132,4132,4133 +4133,4133,4134 +4134,4134,4135 +4135,4135,4136 +4136,4136,4137 +4137,4137,4138 +4138,4138,4139 +4139,4139,4140 +4140,4140,4141 +4141,4141,4142 +4142,4142,4143 +4143,4143,4144 +4144,4144,4145 +4145,4145,4146 +4146,4146,4147 +4147,4147,4148 +4148,4148,4149 +4149,4149,4150 +4150,4150,4151 +4151,4151,4152 +4152,4152,4153 +4153,4153,4154 +4154,4154,4155 +4155,4155,4156 +4156,4156,4157 +4157,4157,4158 +4158,4158,4159 +4159,4159,4160 +4160,4160,4161 +4161,4161,4162 +4162,4162,4163 +4163,4163,4164 +4164,4164,4165 +4165,4165,4166 +4166,4166,4167 +4167,4167,4168 +4168,4168,4169 +4169,4169,4170 +4170,4170,4171 +4171,4171,4172 +4172,4172,4173 +4173,4173,4174 +4174,4174,4175 +4175,4175,4176 +4176,4176,4177 +4177,4177,4178 +4178,4178,4179 +4179,4179,4180 +4180,4180,4181 +4181,4181,4182 +4182,4182,4183 +4183,4183,4184 +4184,4184,4185 +4185,4185,4186 +4186,4186,4187 +4187,4187,4188 +4188,4188,4189 +4189,4189,4190 +4190,4190,4191 +4191,4191,4192 +4192,4192,4193 +4193,4193,4194 +4194,4194,4195 +4195,4195,4196 +4196,4196,4197 +4197,4197,4198 +4198,4198,4199 +4199,4199,4200 +4200,4200,4201 +4201,4201,4202 +4202,4202,4203 +4203,4203,4204 +4204,4204,4205 +4205,4205,4206 +4206,4206,4207 +4207,4207,4208 +4208,4208,4209 +4209,4209,4210 +4210,4210,4211 +4211,4211,4212 +4212,4212,4213 +4213,4213,4214 +4214,4214,4215 +4215,4215,4216 +4216,4216,4217 +4217,4217,4218 +4218,4218,4219 +4219,4219,4220 +4220,4220,4221 +4221,4221,4222 +4222,4222,4223 +4223,4223,4224 +4224,4224,4225 +4225,4225,4226 +4226,4226,4227 +4227,4227,4228 +4228,4228,4229 +4229,4229,4230 +4230,4230,4231 +4231,4231,4232 +4232,4232,4233 +4233,4233,4234 +4234,4234,4235 +4235,4235,4236 +4236,4236,4237 +4237,4237,4238 +4238,4238,4239 +4239,4239,4240 +4240,4240,4241 +4241,4241,4242 +4242,4242,4243 +4243,4243,4244 +4244,4244,4245 +4245,4245,4246 +4246,4246,4247 +4247,4247,4248 +4248,4248,4249 +4249,4249,4250 +4250,4250,4251 +4251,4251,4252 +4252,4252,4253 +4253,4253,4254 +4254,4254,4255 +4255,4255,4256 +4256,4256,4257 +4257,4257,4258 +4258,4258,4259 +4259,4259,4260 +4260,4260,4261 +4261,4261,4262 +4262,4262,4263 +4263,4263,4264 +4264,4264,4265 +4265,4265,4266 +4266,4266,4267 +4267,4267,4268 +4268,4268,4269 +4269,4269,4270 +4270,4270,4271 +4271,4271,4272 +4272,4272,4273 +4273,4273,4274 +4274,4274,4275 +4275,4275,4276 +4276,4276,4277 +4277,4277,4278 +4278,4278,4279 +4279,4279,4280 +4280,4280,4281 +4281,4281,4282 +4282,4282,4283 +4283,4283,4284 +4284,4284,4285 +4285,4285,4286 +4286,4286,4287 +4287,4287,4288 +4288,4288,4289 +4289,4289,4290 +4290,4290,4291 +4291,4291,4292 +4292,4292,4293 +4293,4293,4294 +4294,4294,4295 +4295,4295,4296 +4296,4296,4297 +4297,4297,4298 +4298,4298,4299 +4299,4299,4300 +4300,4300,4301 +4301,4301,4302 +4302,4302,4303 +4303,4303,4304 +4304,4304,4305 +4305,4305,4306 +4306,4306,4307 +4307,4307,4308 +4308,4308,4309 +4309,4309,4310 +4310,4310,4311 +4311,4311,4312 +4312,4312,4313 +4313,4313,4314 +4314,4314,4315 +4315,4315,4316 +4316,4316,4317 +4317,4317,4318 +4318,4318,4319 +4319,4319,4320 +4320,4320,4321 +4321,4321,4322 +4322,4322,4323 +4323,4323,4324 +4324,4324,4325 +4325,4325,4326 +4326,4326,4327 +4327,4327,4328 +4328,4328,4329 +4329,4329,4330 +4330,4330,4331 +4331,4331,4332 +4332,4332,4333 +4333,4333,4334 +4334,4334,4335 +4335,4335,4336 +4336,4336,4337 +4337,4337,4338 +4338,4338,4339 +4339,4339,4340 +4340,4340,4341 +4341,4341,4342 +4342,4342,4343 +4343,4343,4344 +4344,4344,4345 +4345,4345,4346 +4346,4346,4347 +4347,4347,4348 +4348,4348,4349 +4349,4349,4350 +4350,4350,4351 +4351,4351,4352 +4352,4352,4353 +4353,4353,4354 +4354,4354,4355 +4355,4355,4356 +4356,4356,4357 +4357,4357,4358 +4358,4358,4359 +4359,4359,4360 +4360,4360,4361 +4361,4361,4362 +4362,4362,4363 +4363,4363,4364 +4364,4364,4365 +4365,4365,4366 +4366,4366,4367 +4367,4367,4368 +4368,4368,4369 +4369,4369,4370 +4370,4370,4371 +4371,4371,4372 +4372,4372,4373 +4373,4373,4374 +4374,4374,4375 +4375,4375,4376 +4376,4376,4377 +4377,4377,4378 +4378,4378,4379 +4379,4379,4380 +4380,4380,4381 +4381,4381,4382 +4382,4382,4383 +4383,4383,4384 +4384,4384,4385 +4385,4385,4386 +4386,4386,4387 +4387,4387,4388 +4388,4388,4389 +4389,4389,4390 +4390,4390,4391 +4391,4391,4392 +4392,4392,4393 +4393,4393,4394 +4394,4394,4395 +4395,4395,4396 +4396,4396,4397 +4397,4397,4398 +4398,4398,4399 +4399,4399,4400 +4400,4400,4401 +4401,4401,4402 +4402,4402,4403 +4403,4403,4404 +4404,4404,4405 +4405,4405,4406 +4406,4406,4407 +4407,4407,4408 +4408,4408,4409 +4409,4409,4410 +4410,4410,4411 +4411,4411,4412 +4412,4412,4413 +4413,4413,4414 +4414,4414,4415 +4415,4415,4416 +4416,4416,4417 +4417,4417,4418 +4418,4418,4419 +4419,4419,4420 +4420,4420,4421 +4421,4421,4422 +4422,4422,4423 +4423,4423,4424 +4424,4424,4425 +4425,4425,4426 +4426,4426,4427 +4427,4427,4428 +4428,4428,4429 +4429,4429,4430 +4430,4430,4431 +4431,4431,4432 +4432,4432,4433 +4433,4433,4434 +4434,4434,4435 +4435,4435,4436 +4436,4436,4437 +4437,4437,4438 +4438,4438,4439 +4439,4439,4440 +4440,4440,4441 +4441,4441,4442 +4442,4442,4443 +4443,4443,4444 +4444,4444,4445 +4445,4445,4446 +4446,4446,4447 +4447,4447,4448 +4448,4448,4449 +4449,4449,4450 +4450,4450,4451 +4451,4451,4452 +4452,4452,4453 +4453,4453,4454 +4454,4454,4455 +4455,4455,4456 +4456,4456,4457 +4457,4457,4458 +4458,4458,4459 +4459,4459,4460 +4460,4460,4461 +4461,4461,4462 +4462,4462,4463 +4463,4463,4464 +4464,4464,4465 +4465,4465,4466 +4466,4466,4467 +4467,4467,4468 +4468,4468,4469 +4469,4469,4470 +4470,4470,4471 +4471,4471,4472 +4472,4472,4473 +4473,4473,4474 +4474,4474,4475 +4475,4475,4476 +4476,4476,4477 +4477,4477,4478 +4478,4478,4479 +4479,4479,4480 +4480,4480,4481 +4481,4481,4482 +4482,4482,4483 +4483,4483,4484 +4484,4484,4485 +4485,4485,4486 +4486,4486,4487 +4487,4487,4488 +4488,4488,4489 +4489,4489,4490 +4490,4490,4491 +4491,4491,4492 +4492,4492,4493 +4493,4493,4494 +4494,4494,4495 +4495,4495,4496 +4496,4496,4497 +4497,4497,4498 +4498,4498,4499 +4499,4499,4500 +4500,4500,4501 +4501,4501,4502 +4502,4502,4503 +4503,4503,4504 +4504,4504,4505 +4505,4505,4506 +4506,4506,4507 +4507,4507,4508 +4508,4508,4509 +4509,4509,4510 +4510,4510,4511 +4511,4511,4512 +4512,4512,4513 +4513,4513,4514 +4514,4514,4515 +4515,4515,4516 +4516,4516,4517 +4517,4517,4518 +4518,4518,4519 +4519,4519,4520 +4520,4520,4521 +4521,4521,4522 +4522,4522,4523 +4523,4523,4524 +4524,4524,4525 +4525,4525,4526 +4526,4526,4527 +4527,4527,4528 +4528,4528,4529 +4529,4529,4530 +4530,4530,4531 +4531,4531,4532 +4532,4532,4533 +4533,4533,4534 +4534,4534,4535 +4535,4535,4536 +4536,4536,4537 +4537,4537,4538 +4538,4538,4539 +4539,4539,4540 +4540,4540,4541 +4541,4541,4542 +4542,4542,4543 +4543,4543,4544 +4544,4544,4545 +4545,4545,4546 +4546,4546,4547 +4547,4547,4548 +4548,4548,4549 +4549,4549,4550 +4550,4550,4551 +4551,4551,4552 +4552,4552,4553 +4553,4553,4554 +4554,4554,4555 +4555,4555,4556 +4556,4556,4557 +4557,4557,4558 +4558,4558,4559 +4559,4559,4560 +4560,4560,4561 +4561,4561,4562 +4562,4562,4563 +4563,4563,4564 +4564,4564,4565 +4565,4565,4566 +4566,4566,4567 +4567,4567,4568 +4568,4568,4569 +4569,4569,4570 +4570,4570,4571 +4571,4571,4572 +4572,4572,4573 +4573,4573,4574 +4574,4574,4575 +4575,4575,4576 +4576,4576,4577 +4577,4577,4578 +4578,4578,4579 +4579,4579,4580 +4580,4580,4581 +4581,4581,4582 +4582,4582,4583 +4583,4583,4584 +4584,4584,4585 +4585,4585,4586 +4586,4586,4587 +4587,4587,4588 +4588,4588,4589 +4589,4589,4590 +4590,4590,4591 +4591,4591,4592 +4592,4592,4593 +4593,4593,4594 +4594,4594,4595 +4595,4595,4596 +4596,4596,4597 +4597,4597,4598 +4598,4598,4599 +4599,4599,4600 +4600,4600,4601 +4601,4601,4602 +4602,4602,4603 +4603,4603,4604 +4604,4604,4605 +4605,4605,4606 +4606,4606,4607 +4607,4607,4608 +4608,4608,4609 +4609,4609,4610 +4610,4610,4611 +4611,4611,4612 +4612,4612,4613 +4613,4613,4614 +4614,4614,4615 +4615,4615,4616 +4616,4616,4617 +4617,4617,4618 +4618,4618,4619 +4619,4619,4620 +4620,4620,4621 +4621,4621,4622 +4622,4622,4623 +4623,4623,4624 +4624,4624,4625 +4625,4625,4626 +4626,4626,4627 +4627,4627,4628 +4628,4628,4629 +4629,4629,4630 +4630,4630,4631 +4631,4631,4632 +4632,4632,4633 +4633,4633,4634 +4634,4634,4635 +4635,4635,4636 +4636,4636,4637 +4637,4637,4638 +4638,4638,4639 +4639,4639,4640 +4640,4640,4641 +4641,4641,4642 +4642,4642,4643 +4643,4643,4644 +4644,4644,4645 +4645,4645,4646 +4646,4646,4647 +4647,4647,4648 +4648,4648,4649 +4649,4649,4650 +4650,4650,4651 +4651,4651,4652 +4652,4652,4653 +4653,4653,4654 +4654,4654,4655 +4655,4655,4656 +4656,4656,4657 +4657,4657,4658 +4658,4658,4659 +4659,4659,4660 +4660,4660,4661 +4661,4661,4662 +4662,4662,4663 +4663,4663,4664 +4664,4664,4665 +4665,4665,4666 +4666,4666,4667 +4667,4667,4668 +4668,4668,4669 +4669,4669,4670 +4670,4670,4671 +4671,4671,4672 +4672,4672,4673 +4673,4673,4674 +4674,4674,4675 +4675,4675,4676 +4676,4676,4677 +4677,4677,4678 +4678,4678,4679 +4679,4679,4680 +4680,4680,4681 +4681,4681,4682 +4682,4682,4683 +4683,4683,4684 +4684,4684,4685 +4685,4685,4686 +4686,4686,4687 +4687,4687,4688 +4688,4688,4689 +4689,4689,4690 +4690,4690,4691 +4691,4691,4692 +4692,4692,4693 +4693,4693,4694 +4694,4694,4695 +4695,4695,4696 +4696,4696,4697 +4697,4697,4698 +4698,4698,4699 +4699,4699,4700 +4700,4700,4701 +4701,4701,4702 +4702,4702,4703 +4703,4703,4704 +4704,4704,4705 +4705,4705,4706 +4706,4706,4707 +4707,4707,4708 +4708,4708,4709 +4709,4709,4710 +4710,4710,4711 +4711,4711,4712 +4712,4712,4713 +4713,4713,4714 +4714,4714,4715 +4715,4715,4716 +4716,4716,4717 +4717,4717,4718 +4718,4718,4719 +4719,4719,4720 +4720,4720,4721 +4721,4721,4722 +4722,4722,4723 +4723,4723,4724 +4724,4724,4725 +4725,4725,4726 +4726,4726,4727 +4727,4727,4728 +4728,4728,4729 +4729,4729,4730 +4730,4730,4731 +4731,4731,4732 +4732,4732,4733 +4733,4733,4734 +4734,4734,4735 +4735,4735,4736 +4736,4736,4737 +4737,4737,4738 +4738,4738,4739 +4739,4739,4740 +4740,4740,4741 +4741,4741,4742 +4742,4742,4743 +4743,4743,4744 +4744,4744,4745 +4745,4745,4746 +4746,4746,4747 +4747,4747,4748 +4748,4748,4749 +4749,4749,4750 +4750,4750,4751 +4751,4751,4752 +4752,4752,4753 +4753,4753,4754 +4754,4754,4755 +4755,4755,4756 +4756,4756,4757 +4757,4757,4758 +4758,4758,4759 +4759,4759,4760 +4760,4760,4761 +4761,4761,4762 +4762,4762,4763 +4763,4763,4764 +4764,4764,4765 +4765,4765,4766 +4766,4766,4767 +4767,4767,4768 +4768,4768,4769 +4769,4769,4770 +4770,4770,4771 +4771,4771,4772 +4772,4772,4773 +4773,4773,4774 +4774,4774,4775 +4775,4775,4776 +4776,4776,4777 +4777,4777,4778 +4778,4778,4779 +4779,4779,4780 +4780,4780,4781 +4781,4781,4782 +4782,4782,4783 +4783,4783,4784 +4784,4784,4785 +4785,4785,4786 +4786,4786,4787 +4787,4787,4788 +4788,4788,4789 +4789,4789,4790 +4790,4790,4791 +4791,4791,4792 +4792,4792,4793 +4793,4793,4794 +4794,4794,4795 +4795,4795,4796 +4796,4796,4797 +4797,4797,4798 +4798,4798,4799 +4799,4799,4800 +4800,4800,4801 +4801,4801,4802 +4802,4802,4803 +4803,4803,4804 +4804,4804,4805 +4805,4805,4806 +4806,4806,4807 +4807,4807,4808 +4808,4808,4809 +4809,4809,4810 +4810,4810,4811 +4811,4811,4812 +4812,4812,4813 +4813,4813,4814 +4814,4814,4815 +4815,4815,4816 +4816,4816,4817 +4817,4817,4818 +4818,4818,4819 +4819,4819,4820 +4820,4820,4821 +4821,4821,4822 +4822,4822,4823 +4823,4823,4824 +4824,4824,4825 +4825,4825,4826 +4826,4826,4827 +4827,4827,4828 +4828,4828,4829 +4829,4829,4830 +4830,4830,4831 +4831,4831,4832 +4832,4832,4833 +4833,4833,4834 +4834,4834,4835 +4835,4835,4836 +4836,4836,4837 +4837,4837,4838 +4838,4838,4839 +4839,4839,4840 +4840,4840,4841 +4841,4841,4842 +4842,4842,4843 +4843,4843,4844 +4844,4844,4845 +4845,4845,4846 +4846,4846,4847 +4847,4847,4848 +4848,4848,4849 +4849,4849,4850 +4850,4850,4851 +4851,4851,4852 +4852,4852,4853 +4853,4853,4854 +4854,4854,4855 +4855,4855,4856 +4856,4856,4857 +4857,4857,4858 +4858,4858,4859 +4859,4859,4860 +4860,4860,4861 +4861,4861,4862 +4862,4862,4863 +4863,4863,4864 +4864,4864,4865 +4865,4865,4866 +4866,4866,4867 +4867,4867,4868 +4868,4868,4869 +4869,4869,4870 +4870,4870,4871 +4871,4871,4872 +4872,4872,4873 +4873,4873,4874 +4874,4874,4875 +4875,4875,4876 +4876,4876,4877 +4877,4877,4878 +4878,4878,4879 +4879,4879,4880 +4880,4880,4881 +4881,4881,4882 +4882,4882,4883 +4883,4883,4884 +4884,4884,4885 +4885,4885,4886 +4886,4886,4887 +4887,4887,4888 +4888,4888,4889 +4889,4889,4890 +4890,4890,4891 +4891,4891,4892 +4892,4892,4893 +4893,4893,4894 +4894,4894,4895 +4895,4895,4896 +4896,4896,4897 +4897,4897,4898 +4898,4898,4899 +4899,4899,4900 +4900,4900,4901 +4901,4901,4902 +4902,4902,4903 +4903,4903,4904 +4904,4904,4905 +4905,4905,4906 +4906,4906,4907 +4907,4907,4908 +4908,4908,4909 +4909,4909,4910 +4910,4910,4911 +4911,4911,4912 +4912,4912,4913 +4913,4913,4914 +4914,4914,4915 +4915,4915,4916 +4916,4916,4917 +4917,4917,4918 +4918,4918,4919 +4919,4919,4920 +4920,4920,4921 +4921,4921,4922 +4922,4922,4923 +4923,4923,4924 +4924,4924,4925 +4925,4925,4926 +4926,4926,4927 +4927,4927,4928 +4928,4928,4929 +4929,4929,4930 +4930,4930,4931 +4931,4931,4932 +4932,4932,4933 +4933,4933,4934 +4934,4934,4935 +4935,4935,4936 +4936,4936,4937 +4937,4937,4938 +4938,4938,4939 +4939,4939,4940 +4940,4940,4941 +4941,4941,4942 +4942,4942,4943 +4943,4943,4944 +4944,4944,4945 +4945,4945,4946 +4946,4946,4947 +4947,4947,4948 +4948,4948,4949 +4949,4949,4950 +4950,4950,4951 +4951,4951,4952 +4952,4952,4953 +4953,4953,4954 +4954,4954,4955 +4955,4955,4956 +4956,4956,4957 +4957,4957,4958 +4958,4958,4959 +4959,4959,4960 +4960,4960,4961 +4961,4961,4962 +4962,4962,4963 +4963,4963,4964 +4964,4964,4965 +4965,4965,4966 +4966,4966,4967 +4967,4967,4968 +4968,4968,4969 +4969,4969,4970 +4970,4970,4971 +4971,4971,4972 +4972,4972,4973 +4973,4973,4974 +4974,4974,4975 +4975,4975,4976 +4976,4976,4977 +4977,4977,4978 +4978,4978,4979 +4979,4979,4980 +4980,4980,4981 +4981,4981,4982 +4982,4982,4983 +4983,4983,4984 +4984,4984,4985 +4985,4985,4986 +4986,4986,4987 +4987,4987,4988 +4988,4988,4989 +4989,4989,4990 +4990,4990,4991 +4991,4991,4992 +4992,4992,4993 +4993,4993,4994 +4994,4994,4995 +4995,4995,4996 +4996,4996,4997 +4997,4997,4998 +4998,4998,4999 +4999,4999,5000 +5000,5000,5001 +5001,5001,5002 +5002,5002,5003 +5003,5003,5004 +5004,5004,5005 +5005,5005,5006 +5006,5006,5007 +5007,5007,5008 +5008,5008,5009 +5009,5009,5010 +5010,5010,5011 +5011,5011,5012 +5012,5012,5013 +5013,5013,5014 +5014,5014,5015 +5015,5015,5016 +5016,5016,5017 +5017,5017,5018 +5018,5018,5019 +5019,5019,5020 +5020,5020,5021 +5021,5021,5022 +5022,5022,5023 +5023,5023,5024 +5024,5024,5025 +5025,5025,5026 +5026,5026,5027 +5027,5027,5028 +5028,5028,5029 +5029,5029,5030 +5030,5030,5031 +5031,5031,5032 +5032,5032,5033 +5033,5033,5034 +5034,5034,5035 +5035,5035,5036 +5036,5036,5037 +5037,5037,5038 +5038,5038,5039 +5039,5039,5040 +5040,5040,5041 +5041,5041,5042 +5042,5042,5043 +5043,5043,5044 +5044,5044,5045 +5045,5045,5046 +5046,5046,5047 +5047,5047,5048 +5048,5048,5049 +5049,5049,5050 +5050,5050,5051 +5051,5051,5052 +5052,5052,5053 +5053,5053,5054 +5054,5054,5055 +5055,5055,5056 +5056,5056,5057 +5057,5057,5058 +5058,5058,5059 +5059,5059,5060 +5060,5060,5061 +5061,5061,5062 +5062,5062,5063 +5063,5063,5064 +5064,5064,5065 +5065,5065,5066 +5066,5066,5067 +5067,5067,5068 +5068,5068,5069 +5069,5069,5070 +5070,5070,5071 +5071,5071,5072 +5072,5072,5073 +5073,5073,5074 +5074,5074,5075 +5075,5075,5076 +5076,5076,5077 +5077,5077,5078 +5078,5078,5079 +5079,5079,5080 +5080,5080,5081 +5081,5081,5082 +5082,5082,5083 +5083,5083,5084 +5084,5084,5085 +5085,5085,5086 +5086,5086,5087 +5087,5087,5088 +5088,5088,5089 +5089,5089,5090 +5090,5090,5091 +5091,5091,5092 +5092,5092,5093 +5093,5093,5094 +5094,5094,5095 +5095,5095,5096 +5096,5096,5097 +5097,5097,5098 +5098,5098,5099 +5099,5099,5100 +5100,5100,5101 +5101,5101,5102 +5102,5102,5103 +5103,5103,5104 +5104,5104,5105 +5105,5105,5106 +5106,5106,5107 +5107,5107,5108 +5108,5108,5109 +5109,5109,5110 +5110,5110,5111 +5111,5111,5112 +5112,5112,5113 +5113,5113,5114 +5114,5114,5115 +5115,5115,5116 +5116,5116,5117 +5117,5117,5118 +5118,5118,5119 +5119,5119,5120 +5120,5120,5121 +5121,5121,5122 +5122,5122,5123 +5123,5123,5124 +5124,5124,5125 +5125,5125,5126 +5126,5126,5127 +5127,5127,5128 +5128,5128,5129 +5129,5129,5130 +5130,5130,5131 +5131,5131,5132 +5132,5132,5133 +5133,5133,5134 +5134,5134,5135 +5135,5135,5136 +5136,5136,5137 +5137,5137,5138 +5138,5138,5139 +5139,5139,5140 +5140,5140,5141 +5141,5141,5142 +5142,5142,5143 +5143,5143,5144 +5144,5144,5145 +5145,5145,5146 +5146,5146,5147 +5147,5147,5148 +5148,5148,5149 +5149,5149,5150 +5150,5150,5151 +5151,5151,5152 +5152,5152,5153 +5153,5153,5154 +5154,5154,5155 +5155,5155,5156 +5156,5156,5157 +5157,5157,5158 +5158,5158,5159 +5159,5159,5160 +5160,5160,5161 +5161,5161,5162 +5162,5162,5163 +5163,5163,5164 +5164,5164,5165 +5165,5165,5166 +5166,5166,5167 +5167,5167,5168 +5168,5168,5169 +5169,5169,5170 +5170,5170,5171 +5171,5171,5172 +5172,5172,5173 +5173,5173,5174 +5174,5174,5175 +5175,5175,5176 +5176,5176,5177 +5177,5177,5178 +5178,5178,5179 +5179,5179,5180 +5180,5180,5181 +5181,5181,5182 +5182,5182,5183 +5183,5183,5184 +5184,5184,5185 +5185,5185,5186 +5186,5186,5187 +5187,5187,5188 +5188,5188,5189 +5189,5189,5190 +5190,5190,5191 +5191,5191,5192 +5192,5192,5193 +5193,5193,5194 +5194,5194,5195 +5195,5195,5196 +5196,5196,5197 +5197,5197,5198 +5198,5198,5199 +5199,5199,5200 +5200,5200,5201 +5201,5201,5202 +5202,5202,5203 +5203,5203,5204 +5204,5204,5205 +5205,5205,5206 +5206,5206,5207 +5207,5207,5208 +5208,5208,5209 +5209,5209,5210 +5210,5210,5211 +5211,5211,5212 +5212,5212,5213 +5213,5213,5214 +5214,5214,5215 +5215,5215,5216 +5216,5216,5217 +5217,5217,5218 +5218,5218,5219 +5219,5219,5220 +5220,5220,5221 +5221,5221,5222 +5222,5222,5223 +5223,5223,5224 +5224,5224,5225 +5225,5225,5226 +5226,5226,5227 +5227,5227,5228 +5228,5228,5229 +5229,5229,5230 +5230,5230,5231 +5231,5231,5232 +5232,5232,5233 +5233,5233,5234 +5234,5234,5235 +5235,5235,5236 +5236,5236,5237 +5237,5237,5238 +5238,5238,5239 +5239,5239,5240 +5240,5240,5241 +5241,5241,5242 +5242,5242,5243 +5243,5243,5244 +5244,5244,5245 +5245,5245,5246 +5246,5246,5247 +5247,5247,5248 +5248,5248,5249 +5249,5249,5250 +5250,5250,5251 +5251,5251,5252 +5252,5252,5253 +5253,5253,5254 +5254,5254,5255 +5255,5255,5256 +5256,5256,5257 +5257,5257,5258 +5258,5258,5259 +5259,5259,5260 +5260,5260,5261 +5261,5261,5262 +5262,5262,5263 +5263,5263,5264 +5264,5264,5265 +5265,5265,5266 +5266,5266,5267 +5267,5267,5268 +5268,5268,5269 +5269,5269,5270 +5270,5270,5271 +5271,5271,5272 +5272,5272,5273 +5273,5273,5274 +5274,5274,5275 +5275,5275,5276 +5276,5276,5277 +5277,5277,5278 +5278,5278,5279 +5279,5279,5280 +5280,5280,5281 +5281,5281,5282 +5282,5282,5283 +5283,5283,5284 +5284,5284,5285 +5285,5285,5286 +5286,5286,5287 +5287,5287,5288 +5288,5288,5289 +5289,5289,5290 +5290,5290,5291 +5291,5291,5292 +5292,5292,5293 +5293,5293,5294 +5294,5294,5295 +5295,5295,5296 +5296,5296,5297 +5297,5297,5298 +5298,5298,5299 +5299,5299,5300 +5300,5300,5301 +5301,5301,5302 +5302,5302,5303 +5303,5303,5304 +5304,5304,5305 +5305,5305,5306 +5306,5306,5307 +5307,5307,5308 +5308,5308,5309 +5309,5309,5310 +5310,5310,5311 +5311,5311,5312 +5312,5312,5313 +5313,5313,5314 +5314,5314,5315 +5315,5315,5316 +5316,5316,5317 +5317,5317,5318 +5318,5318,5319 +5319,5319,5320 +5320,5320,5321 +5321,5321,5322 +5322,5322,5323 +5323,5323,5324 +5324,5324,5325 +5325,5325,5326 +5326,5326,5327 +5327,5327,5328 +5328,5328,5329 +5329,5329,5330 +5330,5330,5331 +5331,5331,5332 +5332,5332,5333 +5333,5333,5334 +5334,5334,5335 +5335,5335,5336 +5336,5336,5337 +5337,5337,5338 +5338,5338,5339 +5339,5339,5340 +5340,5340,5341 +5341,5341,5342 +5342,5342,5343 +5343,5343,5344 +5344,5344,5345 +5345,5345,5346 +5346,5346,5347 +5347,5347,5348 +5348,5348,5349 +5349,5349,5350 +5350,5350,5351 +5351,5351,5352 +5352,5352,5353 +5353,5353,5354 +5354,5354,5355 +5355,5355,5356 +5356,5356,5357 +5357,5357,5358 +5358,5358,5359 +5359,5359,5360 +5360,5360,5361 +5361,5361,5362 +5362,5362,5363 +5363,5363,5364 +5364,5364,5365 +5365,5365,5366 +5366,5366,5367 +5367,5367,5368 +5368,5368,5369 +5369,5369,5370 +5370,5370,5371 +5371,5371,5372 +5372,5372,5373 +5373,5373,5374 +5374,5374,5375 +5375,5375,5376 +5376,5376,5377 +5377,5377,5378 +5378,5378,5379 +5379,5379,5380 +5380,5380,5381 +5381,5381,5382 +5382,5382,5383 +5383,5383,5384 +5384,5384,5385 +5385,5385,5386 +5386,5386,5387 +5387,5387,5388 +5388,5388,5389 +5389,5389,5390 +5390,5390,5391 +5391,5391,5392 +5392,5392,5393 +5393,5393,5394 +5394,5394,5395 +5395,5395,5396 +5396,5396,5397 +5397,5397,5398 +5398,5398,5399 +5399,5399,5400 +5400,5400,5401 +5401,5401,5402 +5402,5402,5403 +5403,5403,5404 +5404,5404,5405 +5405,5405,5406 +5406,5406,5407 +5407,5407,5408 +5408,5408,5409 +5409,5409,5410 +5410,5410,5411 +5411,5411,5412 +5412,5412,5413 +5413,5413,5414 +5414,5414,5415 +5415,5415,5416 +5416,5416,5417 +5417,5417,5418 +5418,5418,5419 +5419,5419,5420 +5420,5420,5421 +5421,5421,5422 +5422,5422,5423 +5423,5423,5424 +5424,5424,5425 +5425,5425,5426 +5426,5426,5427 +5427,5427,5428 +5428,5428,5429 +5429,5429,5430 +5430,5430,5431 +5431,5431,5432 +5432,5432,5433 +5433,5433,5434 +5434,5434,5435 +5435,5435,5436 +5436,5436,5437 +5437,5437,5438 +5438,5438,5439 +5439,5439,5440 +5440,5440,5441 +5441,5441,5442 +5442,5442,5443 +5443,5443,5444 +5444,5444,5445 +5445,5445,5446 +5446,5446,5447 +5447,5447,5448 +5448,5448,5449 +5449,5449,5450 +5450,5450,5451 +5451,5451,5452 +5452,5452,5453 +5453,5453,5454 +5454,5454,5455 +5455,5455,5456 +5456,5456,5457 +5457,5457,5458 +5458,5458,5459 +5459,5459,5460 +5460,5460,5461 +5461,5461,5462 +5462,5462,5463 +5463,5463,5464 +5464,5464,5465 +5465,5465,5466 +5466,5466,5467 +5467,5467,5468 +5468,5468,5469 +5469,5469,5470 +5470,5470,5471 +5471,5471,5472 +5472,5472,5473 +5473,5473,5474 +5474,5474,5475 +5475,5475,5476 +5476,5476,5477 +5477,5477,5478 +5478,5478,5479 +5479,5479,5480 +5480,5480,5481 +5481,5481,5482 +5482,5482,5483 +5483,5483,5484 +5484,5484,5485 +5485,5485,5486 +5486,5486,5487 +5487,5487,5488 +5488,5488,5489 +5489,5489,5490 +5490,5490,5491 +5491,5491,5492 +5492,5492,5493 +5493,5493,5494 +5494,5494,5495 +5495,5495,5496 +5496,5496,5497 +5497,5497,5498 +5498,5498,5499 +5499,5499,5500 +5500,5500,5501 +5501,5501,5502 +5502,5502,5503 +5503,5503,5504 +5504,5504,5505 +5505,5505,5506 +5506,5506,5507 +5507,5507,5508 +5508,5508,5509 +5509,5509,5510 +5510,5510,5511 +5511,5511,5512 +5512,5512,5513 +5513,5513,5514 +5514,5514,5515 +5515,5515,5516 +5516,5516,5517 +5517,5517,5518 +5518,5518,5519 +5519,5519,5520 +5520,5520,5521 +5521,5521,5522 +5522,5522,5523 +5523,5523,5524 +5524,5524,5525 +5525,5525,5526 +5526,5526,5527 +5527,5527,5528 +5528,5528,5529 +5529,5529,5530 +5530,5530,5531 +5531,5531,5532 +5532,5532,5533 +5533,5533,5534 +5534,5534,5535 +5535,5535,5536 +5536,5536,5537 +5537,5537,5538 +5538,5538,5539 +5539,5539,5540 +5540,5540,5541 +5541,5541,5542 +5542,5542,5543 +5543,5543,5544 +5544,5544,5545 +5545,5545,5546 +5546,5546,5547 +5547,5547,5548 +5548,5548,5549 +5549,5549,5550 +5550,5550,5551 +5551,5551,5552 +5552,5552,5553 +5553,5553,5554 +5554,5554,5555 +5555,5555,5556 +5556,5556,5557 +5557,5557,5558 +5558,5558,5559 +5559,5559,5560 +5560,5560,5561 +5561,5561,5562 +5562,5562,5563 +5563,5563,5564 +5564,5564,5565 +5565,5565,5566 +5566,5566,5567 +5567,5567,5568 +5568,5568,5569 +5569,5569,5570 +5570,5570,5571 +5571,5571,5572 +5572,5572,5573 +5573,5573,5574 +5574,5574,5575 +5575,5575,5576 +5576,5576,5577 +5577,5577,5578 +5578,5578,5579 +5579,5579,5580 +5580,5580,5581 +5581,5581,5582 +5582,5582,5583 +5583,5583,5584 +5584,5584,5585 +5585,5585,5586 +5586,5586,5587 +5587,5587,5588 +5588,5588,5589 +5589,5589,5590 +5590,5590,5591 +5591,5591,5592 +5592,5592,5593 +5593,5593,5594 +5594,5594,5595 +5595,5595,5596 +5596,5596,5597 +5597,5597,5598 +5598,5598,5599 +5599,5599,5600 +5600,5600,5601 +5601,5601,5602 +5602,5602,5603 +5603,5603,5604 +5604,5604,5605 +5605,5605,5606 +5606,5606,5607 +5607,5607,5608 +5608,5608,5609 +5609,5609,5610 +5610,5610,5611 +5611,5611,5612 +5612,5612,5613 +5613,5613,5614 +5614,5614,5615 +5615,5615,5616 +5616,5616,5617 +5617,5617,5618 +5618,5618,5619 +5619,5619,5620 +5620,5620,5621 +5621,5621,5622 +5622,5622,5623 +5623,5623,5624 +5624,5624,5625 +5625,5625,5626 +5626,5626,5627 +5627,5627,5628 +5628,5628,5629 +5629,5629,5630 +5630,5630,5631 +5631,5631,5632 +5632,5632,5633 +5633,5633,5634 +5634,5634,5635 +5635,5635,5636 +5636,5636,5637 +5637,5637,5638 +5638,5638,5639 +5639,5639,5640 +5640,5640,5641 +5641,5641,5642 +5642,5642,5643 +5643,5643,5644 +5644,5644,5645 +5645,5645,5646 +5646,5646,5647 +5647,5647,5648 +5648,5648,5649 +5649,5649,5650 +5650,5650,5651 +5651,5651,5652 +5652,5652,5653 +5653,5653,5654 +5654,5654,5655 +5655,5655,5656 +5656,5656,5657 +5657,5657,5658 +5658,5658,5659 +5659,5659,5660 +5660,5660,5661 +5661,5661,5662 +5662,5662,5663 +5663,5663,5664 +5664,5664,5665 +5665,5665,5666 +5666,5666,5667 +5667,5667,5668 +5668,5668,5669 +5669,5669,5670 +5670,5670,5671 +5671,5671,5672 +5672,5672,5673 +5673,5673,5674 +5674,5674,5675 +5675,5675,5676 +5676,5676,5677 +5677,5677,5678 +5678,5678,5679 +5679,5679,5680 +5680,5680,5681 +5681,5681,5682 +5682,5682,5683 +5683,5683,5684 +5684,5684,5685 +5685,5685,5686 +5686,5686,5687 +5687,5687,5688 +5688,5688,5689 +5689,5689,5690 +5690,5690,5691 +5691,5691,5692 +5692,5692,5693 +5693,5693,5694 +5694,5694,5695 +5695,5695,5696 +5696,5696,5697 +5697,5697,5698 +5698,5698,5699 +5699,5699,5700 +5700,5700,5701 +5701,5701,5702 +5702,5702,5703 +5703,5703,5704 +5704,5704,5705 +5705,5705,5706 +5706,5706,5707 +5707,5707,5708 +5708,5708,5709 +5709,5709,5710 +5710,5710,5711 +5711,5711,5712 +5712,5712,5713 +5713,5713,5714 +5714,5714,5715 +5715,5715,5716 +5716,5716,5717 +5717,5717,5718 +5718,5718,5719 +5719,5719,5720 +5720,5720,5721 +5721,5721,5722 +5722,5722,5723 +5723,5723,5724 +5724,5724,5725 +5725,5725,5726 +5726,5726,5727 +5727,5727,5728 +5728,5728,5729 +5729,5729,5730 +5730,5730,5731 +5731,5731,5732 +5732,5732,5733 +5733,5733,5734 +5734,5734,5735 +5735,5735,5736 +5736,5736,5737 +5737,5737,5738 +5738,5738,5739 +5739,5739,5740 +5740,5740,5741 +5741,5741,5742 +5742,5742,5743 +5743,5743,5744 +5744,5744,5745 +5745,5745,5746 +5746,5746,5747 +5747,5747,5748 +5748,5748,5749 +5749,5749,5750 +5750,5750,5751 +5751,5751,5752 +5752,5752,5753 +5753,5753,5754 +5754,5754,5755 +5755,5755,5756 +5756,5756,5757 +5757,5757,5758 +5758,5758,5759 +5759,5759,5760 +5760,5760,5761 +5761,5761,5762 +5762,5762,5763 +5763,5763,5764 +5764,5764,5765 +5765,5765,5766 +5766,5766,5767 +5767,5767,5768 +5768,5768,5769 +5769,5769,5770 +5770,5770,5771 +5771,5771,5772 +5772,5772,5773 +5773,5773,5774 +5774,5774,5775 +5775,5775,5776 +5776,5776,5777 +5777,5777,5778 +5778,5778,5779 +5779,5779,5780 +5780,5780,5781 +5781,5781,5782 +5782,5782,5783 +5783,5783,5784 +5784,5784,5785 +5785,5785,5786 +5786,5786,5787 +5787,5787,5788 +5788,5788,5789 +5789,5789,5790 +5790,5790,5791 +5791,5791,5792 +5792,5792,5793 +5793,5793,5794 +5794,5794,5795 +5795,5795,5796 +5796,5796,5797 +5797,5797,5798 +5798,5798,5799 +5799,5799,5800 +5800,5800,5801 +5801,5801,5802 +5802,5802,5803 +5803,5803,5804 +5804,5804,5805 +5805,5805,5806 +5806,5806,5807 +5807,5807,5808 +5808,5808,5809 +5809,5809,5810 +5810,5810,5811 +5811,5811,5812 +5812,5812,5813 +5813,5813,5814 +5814,5814,5815 +5815,5815,5816 +5816,5816,5817 +5817,5817,5818 +5818,5818,5819 +5819,5819,5820 +5820,5820,5821 +5821,5821,5822 +5822,5822,5823 +5823,5823,5824 +5824,5824,5825 +5825,5825,5826 +5826,5826,5827 +5827,5827,5828 +5828,5828,5829 +5829,5829,5830 +5830,5830,5831 +5831,5831,5832 +5832,5832,5833 +5833,5833,5834 +5834,5834,5835 +5835,5835,5836 +5836,5836,5837 +5837,5837,5838 +5838,5838,5839 +5839,5839,5840 +5840,5840,5841 +5841,5841,5842 +5842,5842,5843 +5843,5843,5844 +5844,5844,5845 +5845,5845,5846 +5846,5846,5847 +5847,5847,5848 +5848,5848,5849 +5849,5849,5850 +5850,5850,5851 +5851,5851,5852 +5852,5852,5853 +5853,5853,5854 +5854,5854,5855 +5855,5855,5856 +5856,5856,5857 +5857,5857,5858 +5858,5858,5859 +5859,5859,5860 +5860,5860,5861 +5861,5861,5862 +5862,5862,5863 +5863,5863,5864 +5864,5864,5865 +5865,5865,5866 +5866,5866,5867 +5867,5867,5868 +5868,5868,5869 +5869,5869,5870 +5870,5870,5871 +5871,5871,5872 +5872,5872,5873 +5873,5873,5874 +5874,5874,5875 +5875,5875,5876 +5876,5876,5877 +5877,5877,5878 +5878,5878,5879 +5879,5879,5880 +5880,5880,5881 +5881,5881,5882 +5882,5882,5883 +5883,5883,5884 +5884,5884,5885 +5885,5885,5886 +5886,5886,5887 +5887,5887,5888 +5888,5888,5889 +5889,5889,5890 +5890,5890,5891 +5891,5891,5892 +5892,5892,5893 +5893,5893,5894 +5894,5894,5895 +5895,5895,5896 +5896,5896,5897 +5897,5897,5898 +5898,5898,5899 +5899,5899,5900 +5900,5900,5901 +5901,5901,5902 +5902,5902,5903 +5903,5903,5904 +5904,5904,5905 +5905,5905,5906 +5906,5906,5907 +5907,5907,5908 +5908,5908,5909 +5909,5909,5910 +5910,5910,5911 +5911,5911,5912 +5912,5912,5913 +5913,5913,5914 +5914,5914,5915 +5915,5915,5916 +5916,5916,5917 +5917,5917,5918 +5918,5918,5919 +5919,5919,5920 +5920,5920,5921 +5921,5921,5922 +5922,5922,5923 +5923,5923,5924 +5924,5924,5925 +5925,5925,5926 +5926,5926,5927 +5927,5927,5928 +5928,5928,5929 +5929,5929,5930 +5930,5930,5931 +5931,5931,5932 +5932,5932,5933 +5933,5933,5934 +5934,5934,5935 +5935,5935,5936 +5936,5936,5937 +5937,5937,5938 +5938,5938,5939 +5939,5939,5940 +5940,5940,5941 +5941,5941,5942 +5942,5942,5943 +5943,5943,5944 +5944,5944,5945 +5945,5945,5946 +5946,5946,5947 +5947,5947,5948 +5948,5948,5949 +5949,5949,5950 +5950,5950,5951 +5951,5951,5952 +5952,5952,5953 +5953,5953,5954 +5954,5954,5955 +5955,5955,5956 +5956,5956,5957 +5957,5957,5958 +5958,5958,5959 +5959,5959,5960 +5960,5960,5961 +5961,5961,5962 +5962,5962,5963 +5963,5963,5964 +5964,5964,5965 +5965,5965,5966 +5966,5966,5967 +5967,5967,5968 +5968,5968,5969 +5969,5969,5970 +5970,5970,5971 +5971,5971,5972 +5972,5972,5973 +5973,5973,5974 +5974,5974,5975 +5975,5975,5976 +5976,5976,5977 +5977,5977,5978 +5978,5978,5979 +5979,5979,5980 +5980,5980,5981 +5981,5981,5982 +5982,5982,5983 +5983,5983,5984 +5984,5984,5985 +5985,5985,5986 +5986,5986,5987 +5987,5987,5988 +5988,5988,5989 +5989,5989,5990 +5990,5990,5991 +5991,5991,5992 +5992,5992,5993 +5993,5993,5994 +5994,5994,5995 +5995,5995,5996 +5996,5996,5997 +5997,5997,5998 +5998,5998,5999 +5999,5999,6000 +6000,6000,6001 +6001,6001,6002 +6002,6002,6003 +6003,6003,6004 +6004,6004,6005 +6005,6005,6006 +6006,6006,6007 +6007,6007,6008 +6008,6008,6009 +6009,6009,6010 +6010,6010,6011 +6011,6011,6012 +6012,6012,6013 +6013,6013,6014 +6014,6014,6015 +6015,6015,6016 +6016,6016,6017 +6017,6017,6018 +6018,6018,6019 +6019,6019,6020 +6020,6020,6021 +6021,6021,6022 +6022,6022,6023 +6023,6023,6024 +6024,6024,6025 +6025,6025,6026 +6026,6026,6027 +6027,6027,6028 +6028,6028,6029 +6029,6029,6030 +6030,6030,6031 +6031,6031,6032 +6032,6032,6033 +6033,6033,6034 +6034,6034,6035 +6035,6035,6036 +6036,6036,6037 +6037,6037,6038 +6038,6038,6039 +6039,6039,6040 +6040,6040,6041 +6041,6041,6042 +6042,6042,6043 +6043,6043,6044 +6044,6044,6045 +6045,6045,6046 +6046,6046,6047 +6047,6047,6048 +6048,6048,6049 +6049,6049,6050 +6050,6050,6051 +6051,6051,6052 +6052,6052,6053 +6053,6053,6054 +6054,6054,6055 +6055,6055,6056 +6056,6056,6057 +6057,6057,6058 +6058,6058,6059 +6059,6059,6060 +6060,6060,6061 +6061,6061,6062 +6062,6062,6063 +6063,6063,6064 +6064,6064,6065 +6065,6065,6066 +6066,6066,6067 +6067,6067,6068 +6068,6068,6069 +6069,6069,6070 +6070,6070,6071 +6071,6071,6072 +6072,6072,6073 +6073,6073,6074 +6074,6074,6075 +6075,6075,6076 +6076,6076,6077 +6077,6077,6078 +6078,6078,6079 +6079,6079,6080 +6080,6080,6081 +6081,6081,6082 +6082,6082,6083 +6083,6083,6084 +6084,6084,6085 +6085,6085,6086 +6086,6086,6087 +6087,6087,6088 +6088,6088,6089 +6089,6089,6090 +6090,6090,6091 +6091,6091,6092 +6092,6092,6093 +6093,6093,6094 +6094,6094,6095 +6095,6095,6096 +6096,6096,6097 +6097,6097,6098 +6098,6098,6099 +6099,6099,6100 +6100,6100,6101 +6101,6101,6102 +6102,6102,6103 +6103,6103,6104 +6104,6104,6105 +6105,6105,6106 +6106,6106,6107 +6107,6107,6108 +6108,6108,6109 +6109,6109,6110 +6110,6110,6111 +6111,6111,6112 +6112,6112,6113 +6113,6113,6114 +6114,6114,6115 +6115,6115,6116 +6116,6116,6117 +6117,6117,6118 +6118,6118,6119 +6119,6119,6120 +6120,6120,6121 +6121,6121,6122 +6122,6122,6123 +6123,6123,6124 +6124,6124,6125 +6125,6125,6126 +6126,6126,6127 +6127,6127,6128 +6128,6128,6129 +6129,6129,6130 +6130,6130,6131 +6131,6131,6132 +6132,6132,6133 +6133,6133,6134 +6134,6134,6135 +6135,6135,6136 +6136,6136,6137 +6137,6137,6138 +6138,6138,6139 +6139,6139,6140 +6140,6140,6141 +6141,6141,6142 +6142,6142,6143 +6143,6143,6144 +6144,6144,6145 +6145,6145,6146 +6146,6146,6147 +6147,6147,6148 +6148,6148,6149 +6149,6149,6150 +6150,6150,6151 +6151,6151,6152 +6152,6152,6153 +6153,6153,6154 +6154,6154,6155 +6155,6155,6156 +6156,6156,6157 +6157,6157,6158 +6158,6158,6159 +6159,6159,6160 +6160,6160,6161 +6161,6161,6162 +6162,6162,6163 +6163,6163,6164 +6164,6164,6165 +6165,6165,6166 +6166,6166,6167 +6167,6167,6168 +6168,6168,6169 +6169,6169,6170 +6170,6170,6171 +6171,6171,6172 +6172,6172,6173 +6173,6173,6174 +6174,6174,6175 +6175,6175,6176 +6176,6176,6177 +6177,6177,6178 +6178,6178,6179 +6179,6179,6180 +6180,6180,6181 +6181,6181,6182 +6182,6182,6183 +6183,6183,6184 +6184,6184,6185 +6185,6185,6186 +6186,6186,6187 +6187,6187,6188 +6188,6188,6189 +6189,6189,6190 +6190,6190,6191 +6191,6191,6192 +6192,6192,6193 +6193,6193,6194 +6194,6194,6195 +6195,6195,6196 +6196,6196,6197 +6197,6197,6198 +6198,6198,6199 +6199,6199,6200 +6200,6200,6201 +6201,6201,6202 +6202,6202,6203 +6203,6203,6204 +6204,6204,6205 +6205,6205,6206 +6206,6206,6207 +6207,6207,6208 +6208,6208,6209 +6209,6209,6210 +6210,6210,6211 +6211,6211,6212 +6212,6212,6213 +6213,6213,6214 +6214,6214,6215 +6215,6215,6216 +6216,6216,6217 +6217,6217,6218 +6218,6218,6219 +6219,6219,6220 +6220,6220,6221 +6221,6221,6222 +6222,6222,6223 +6223,6223,6224 +6224,6224,6225 +6225,6225,6226 +6226,6226,6227 +6227,6227,6228 +6228,6228,6229 +6229,6229,6230 +6230,6230,6231 +6231,6231,6232 +6232,6232,6233 +6233,6233,6234 +6234,6234,6235 +6235,6235,6236 +6236,6236,6237 +6237,6237,6238 +6238,6238,6239 +6239,6239,6240 +6240,6240,6241 +6241,6241,6242 +6242,6242,6243 +6243,6243,6244 +6244,6244,6245 +6245,6245,6246 +6246,6246,6247 +6247,6247,6248 +6248,6248,6249 +6249,6249,6250 +6250,6250,6251 +6251,6251,6252 +6252,6252,6253 +6253,6253,6254 +6254,6254,6255 +6255,6255,6256 +6256,6256,6257 +6257,6257,6258 +6258,6258,6259 +6259,6259,6260 +6260,6260,6261 +6261,6261,6262 +6262,6262,6263 +6263,6263,6264 +6264,6264,6265 +6265,6265,6266 +6266,6266,6267 +6267,6267,6268 +6268,6268,6269 +6269,6269,6270 +6270,6270,6271 +6271,6271,6272 +6272,6272,6273 +6273,6273,6274 +6274,6274,6275 +6275,6275,6276 +6276,6276,6277 +6277,6277,6278 +6278,6278,6279 +6279,6279,6280 +6280,6280,6281 +6281,6281,6282 +6282,6282,6283 +6283,6283,6284 +6284,6284,6285 +6285,6285,6286 +6286,6286,6287 +6287,6287,6288 +6288,6288,6289 +6289,6289,6290 +6290,6290,6291 +6291,6291,6292 +6292,6292,6293 +6293,6293,6294 +6294,6294,6295 +6295,6295,6296 +6296,6296,6297 +6297,6297,6298 +6298,6298,6299 +6299,6299,6300 +6300,6300,6301 +6301,6301,6302 +6302,6302,6303 +6303,6303,6304 +6304,6304,6305 +6305,6305,6306 +6306,6306,6307 +6307,6307,6308 +6308,6308,6309 +6309,6309,6310 +6310,6310,6311 +6311,6311,6312 +6312,6312,6313 +6313,6313,6314 +6314,6314,6315 +6315,6315,6316 +6316,6316,6317 +6317,6317,6318 +6318,6318,6319 +6319,6319,6320 +6320,6320,6321 +6321,6321,6322 +6322,6322,6323 +6323,6323,6324 +6324,6324,6325 +6325,6325,6326 +6326,6326,6327 +6327,6327,6328 +6328,6328,6329 +6329,6329,6330 +6330,6330,6331 +6331,6331,6332 +6332,6332,6333 +6333,6333,6334 +6334,6334,6335 +6335,6335,6336 +6336,6336,6337 +6337,6337,6338 +6338,6338,6339 +6339,6339,6340 +6340,6340,6341 +6341,6341,6342 +6342,6342,6343 +6343,6343,6344 +6344,6344,6345 +6345,6345,6346 +6346,6346,6347 +6347,6347,6348 +6348,6348,6349 +6349,6349,6350 +6350,6350,6351 +6351,6351,6352 +6352,6352,6353 +6353,6353,6354 +6354,6354,6355 +6355,6355,6356 +6356,6356,6357 +6357,6357,6358 +6358,6358,6359 +6359,6359,6360 +6360,6360,6361 +6361,6361,6362 +6362,6362,6363 +6363,6363,6364 +6364,6364,6365 +6365,6365,6366 +6366,6366,6367 +6367,6367,6368 +6368,6368,6369 +6369,6369,6370 +6370,6370,6371 +6371,6371,6372 +6372,6372,6373 +6373,6373,6374 +6374,6374,6375 +6375,6375,6376 +6376,6376,6377 +6377,6377,6378 +6378,6378,6379 +6379,6379,6380 +6380,6380,6381 +6381,6381,6382 +6382,6382,6383 +6383,6383,6384 +6384,6384,6385 +6385,6385,6386 +6386,6386,6387 +6387,6387,6388 +6388,6388,6389 +6389,6389,6390 +6390,6390,6391 +6391,6391,6392 +6392,6392,6393 +6393,6393,6394 +6394,6394,6395 +6395,6395,6396 +6396,6396,6397 +6397,6397,6398 +6398,6398,6399 +6399,6399,6400 +6400,6400,6401 +6401,6401,6402 +6402,6402,6403 +6403,6403,6404 +6404,6404,6405 +6405,6405,6406 +6406,6406,6407 +6407,6407,6408 +6408,6408,6409 +6409,6409,6410 +6410,6410,6411 +6411,6411,6412 +6412,6412,6413 +6413,6413,6414 +6414,6414,6415 +6415,6415,6416 +6416,6416,6417 +6417,6417,6418 +6418,6418,6419 +6419,6419,6420 +6420,6420,6421 +6421,6421,6422 +6422,6422,6423 +6423,6423,6424 +6424,6424,6425 +6425,6425,6426 +6426,6426,6427 +6427,6427,6428 +6428,6428,6429 +6429,6429,6430 +6430,6430,6431 +6431,6431,6432 +6432,6432,6433 +6433,6433,6434 +6434,6434,6435 +6435,6435,6436 +6436,6436,6437 +6437,6437,6438 +6438,6438,6439 +6439,6439,6440 +6440,6440,6441 +6441,6441,6442 +6442,6442,6443 +6443,6443,6444 +6444,6444,6445 +6445,6445,6446 +6446,6446,6447 +6447,6447,6448 +6448,6448,6449 +6449,6449,6450 +6450,6450,6451 +6451,6451,6452 +6452,6452,6453 +6453,6453,6454 +6454,6454,6455 +6455,6455,6456 +6456,6456,6457 +6457,6457,6458 +6458,6458,6459 +6459,6459,6460 +6460,6460,6461 +6461,6461,6462 +6462,6462,6463 +6463,6463,6464 +6464,6464,6465 +6465,6465,6466 +6466,6466,6467 +6467,6467,6468 +6468,6468,6469 +6469,6469,6470 +6470,6470,6471 +6471,6471,6472 +6472,6472,6473 +6473,6473,6474 +6474,6474,6475 +6475,6475,6476 +6476,6476,6477 +6477,6477,6478 +6478,6478,6479 +6479,6479,6480 +6480,6480,6481 +6481,6481,6482 +6482,6482,6483 +6483,6483,6484 +6484,6484,6485 +6485,6485,6486 +6486,6486,6487 +6487,6487,6488 +6488,6488,6489 +6489,6489,6490 +6490,6490,6491 +6491,6491,6492 +6492,6492,6493 +6493,6493,6494 +6494,6494,6495 +6495,6495,6496 +6496,6496,6497 +6497,6497,6498 +6498,6498,6499 +6499,6499,6500 +6500,6500,6501 +6501,6501,6502 +6502,6502,6503 +6503,6503,6504 +6504,6504,6505 +6505,6505,6506 +6506,6506,6507 +6507,6507,6508 +6508,6508,6509 +6509,6509,6510 +6510,6510,6511 +6511,6511,6512 +6512,6512,6513 +6513,6513,6514 +6514,6514,6515 +6515,6515,6516 +6516,6516,6517 +6517,6517,6518 +6518,6518,6519 +6519,6519,6520 +6520,6520,6521 +6521,6521,6522 +6522,6522,6523 +6523,6523,6524 +6524,6524,6525 +6525,6525,6526 +6526,6526,6527 +6527,6527,6528 +6528,6528,6529 +6529,6529,6530 +6530,6530,6531 +6531,6531,6532 +6532,6532,6533 +6533,6533,6534 +6534,6534,6535 +6535,6535,6536 +6536,6536,6537 +6537,6537,6538 +6538,6538,6539 +6539,6539,6540 +6540,6540,6541 +6541,6541,6542 +6542,6542,6543 +6543,6543,6544 +6544,6544,6545 +6545,6545,6546 +6546,6546,6547 +6547,6547,6548 +6548,6548,6549 +6549,6549,6550 +6550,6550,6551 +6551,6551,6552 +6552,6552,6553 +6553,6553,6554 +6554,6554,6555 +6555,6555,6556 +6556,6556,6557 +6557,6557,6558 +6558,6558,6559 +6559,6559,6560 +6560,6560,6561 +6561,6561,6562 +6562,6562,6563 +6563,6563,6564 +6564,6564,6565 +6565,6565,6566 +6566,6566,6567 +6567,6567,6568 +6568,6568,6569 +6569,6569,6570 +6570,6570,6571 +6571,6571,6572 +6572,6572,6573 +6573,6573,6574 +6574,6574,6575 +6575,6575,6576 +6576,6576,6577 +6577,6577,6578 +6578,6578,6579 +6579,6579,6580 +6580,6580,6581 +6581,6581,6582 +6582,6582,6583 +6583,6583,6584 +6584,6584,6585 +6585,6585,6586 +6586,6586,6587 +6587,6587,6588 +6588,6588,6589 +6589,6589,6590 +6590,6590,6591 +6591,6591,6592 +6592,6592,6593 +6593,6593,6594 +6594,6594,6595 +6595,6595,6596 +6596,6596,6597 +6597,6597,6598 +6598,6598,6599 +6599,6599,6600 +6600,6600,6601 +6601,6601,6602 +6602,6602,6603 +6603,6603,6604 +6604,6604,6605 +6605,6605,6606 +6606,6606,6607 +6607,6607,6608 +6608,6608,6609 +6609,6609,6610 +6610,6610,6611 +6611,6611,6612 +6612,6612,6613 +6613,6613,6614 +6614,6614,6615 +6615,6615,6616 +6616,6616,6617 +6617,6617,6618 +6618,6618,6619 +6619,6619,6620 +6620,6620,6621 +6621,6621,6622 +6622,6622,6623 +6623,6623,6624 +6624,6624,6625 +6625,6625,6626 +6626,6626,6627 +6627,6627,6628 +6628,6628,6629 +6629,6629,6630 +6630,6630,6631 +6631,6631,6632 +6632,6632,6633 +6633,6633,6634 +6634,6634,6635 +6635,6635,6636 +6636,6636,6637 +6637,6637,6638 +6638,6638,6639 +6639,6639,6640 +6640,6640,6641 +6641,6641,6642 +6642,6642,6643 +6643,6643,6644 +6644,6644,6645 +6645,6645,6646 +6646,6646,6647 +6647,6647,6648 +6648,6648,6649 +6649,6649,6650 +6650,6650,6651 +6651,6651,6652 +6652,6652,6653 +6653,6653,6654 +6654,6654,6655 +6655,6655,6656 +6656,6656,6657 +6657,6657,6658 +6658,6658,6659 +6659,6659,6660 +6660,6660,6661 +6661,6661,6662 +6662,6662,6663 +6663,6663,6664 +6664,6664,6665 +6665,6665,6666 +6666,6666,6667 +6667,6667,6668 +6668,6668,6669 +6669,6669,6670 +6670,6670,6671 +6671,6671,6672 +6672,6672,6673 +6673,6673,6674 +6674,6674,6675 +6675,6675,6676 +6676,6676,6677 +6677,6677,6678 +6678,6678,6679 +6679,6679,6680 +6680,6680,6681 +6681,6681,6682 +6682,6682,6683 +6683,6683,6684 +6684,6684,6685 +6685,6685,6686 +6686,6686,6687 +6687,6687,6688 +6688,6688,6689 +6689,6689,6690 +6690,6690,6691 +6691,6691,6692 +6692,6692,6693 +6693,6693,6694 +6694,6694,6695 +6695,6695,6696 +6696,6696,6697 +6697,6697,6698 +6698,6698,6699 +6699,6699,6700 +6700,6700,6701 +6701,6701,6702 +6702,6702,6703 +6703,6703,6704 +6704,6704,6705 +6705,6705,6706 +6706,6706,6707 +6707,6707,6708 +6708,6708,6709 +6709,6709,6710 +6710,6710,6711 +6711,6711,6712 +6712,6712,6713 +6713,6713,6714 +6714,6714,6715 +6715,6715,6716 +6716,6716,6717 +6717,6717,6718 +6718,6718,6719 +6719,6719,6720 +6720,6720,6721 +6721,6721,6722 +6722,6722,6723 +6723,6723,6724 +6724,6724,6725 +6725,6725,6726 +6726,6726,6727 +6727,6727,6728 +6728,6728,6729 +6729,6729,6730 +6730,6730,6731 +6731,6731,6732 +6732,6732,6733 +6733,6733,6734 +6734,6734,6735 +6735,6735,6736 +6736,6736,6737 +6737,6737,6738 +6738,6738,6739 +6739,6739,6740 +6740,6740,6741 +6741,6741,6742 +6742,6742,6743 +6743,6743,6744 +6744,6744,6745 +6745,6745,6746 +6746,6746,6747 +6747,6747,6748 +6748,6748,6749 +6749,6749,6750 +6750,6750,6751 +6751,6751,6752 +6752,6752,6753 +6753,6753,6754 +6754,6754,6755 +6755,6755,6756 +6756,6756,6757 +6757,6757,6758 +6758,6758,6759 +6759,6759,6760 +6760,6760,6761 +6761,6761,6762 +6762,6762,6763 +6763,6763,6764 +6764,6764,6765 +6765,6765,6766 +6766,6766,6767 +6767,6767,6768 +6768,6768,6769 +6769,6769,6770 +6770,6770,6771 +6771,6771,6772 +6772,6772,6773 +6773,6773,6774 +6774,6774,6775 +6775,6775,6776 +6776,6776,6777 +6777,6777,6778 +6778,6778,6779 +6779,6779,6780 +6780,6780,6781 +6781,6781,6782 +6782,6782,6783 +6783,6783,6784 +6784,6784,6785 +6785,6785,6786 +6786,6786,6787 +6787,6787,6788 +6788,6788,6789 +6789,6789,6790 +6790,6790,6791 +6791,6791,6792 +6792,6792,6793 +6793,6793,6794 +6794,6794,6795 +6795,6795,6796 +6796,6796,6797 +6797,6797,6798 +6798,6798,6799 +6799,6799,6800 +6800,6800,6801 +6801,6801,6802 +6802,6802,6803 +6803,6803,6804 +6804,6804,6805 +6805,6805,6806 +6806,6806,6807 +6807,6807,6808 +6808,6808,6809 +6809,6809,6810 +6810,6810,6811 +6811,6811,6812 +6812,6812,6813 +6813,6813,6814 +6814,6814,6815 +6815,6815,6816 +6816,6816,6817 +6817,6817,6818 +6818,6818,6819 +6819,6819,6820 +6820,6820,6821 +6821,6821,6822 +6822,6822,6823 +6823,6823,6824 +6824,6824,6825 +6825,6825,6826 +6826,6826,6827 +6827,6827,6828 +6828,6828,6829 +6829,6829,6830 +6830,6830,6831 +6831,6831,6832 +6832,6832,6833 +6833,6833,6834 +6834,6834,6835 +6835,6835,6836 +6836,6836,6837 +6837,6837,6838 +6838,6838,6839 +6839,6839,6840 +6840,6840,6841 +6841,6841,6842 +6842,6842,6843 +6843,6843,6844 +6844,6844,6845 +6845,6845,6846 +6846,6846,6847 +6847,6847,6848 +6848,6848,6849 +6849,6849,6850 +6850,6850,6851 +6851,6851,6852 +6852,6852,6853 +6853,6853,6854 +6854,6854,6855 +6855,6855,6856 +6856,6856,6857 +6857,6857,6858 +6858,6858,6859 +6859,6859,6860 +6860,6860,6861 +6861,6861,6862 +6862,6862,6863 +6863,6863,6864 +6864,6864,6865 +6865,6865,6866 +6866,6866,6867 +6867,6867,6868 +6868,6868,6869 +6869,6869,6870 +6870,6870,6871 +6871,6871,6872 +6872,6872,6873 +6873,6873,6874 +6874,6874,6875 +6875,6875,6876 +6876,6876,6877 +6877,6877,6878 +6878,6878,6879 +6879,6879,6880 +6880,6880,6881 +6881,6881,6882 +6882,6882,6883 +6883,6883,6884 +6884,6884,6885 +6885,6885,6886 +6886,6886,6887 +6887,6887,6888 +6888,6888,6889 +6889,6889,6890 +6890,6890,6891 +6891,6891,6892 +6892,6892,6893 +6893,6893,6894 +6894,6894,6895 +6895,6895,6896 +6896,6896,6897 +6897,6897,6898 +6898,6898,6899 +6899,6899,6900 +6900,6900,6901 +6901,6901,6902 +6902,6902,6903 +6903,6903,6904 +6904,6904,6905 +6905,6905,6906 +6906,6906,6907 +6907,6907,6908 +6908,6908,6909 +6909,6909,6910 +6910,6910,6911 +6911,6911,6912 +6912,6912,6913 +6913,6913,6914 +6914,6914,6915 +6915,6915,6916 +6916,6916,6917 +6917,6917,6918 +6918,6918,6919 +6919,6919,6920 +6920,6920,6921 +6921,6921,6922 +6922,6922,6923 +6923,6923,6924 +6924,6924,6925 +6925,6925,6926 +6926,6926,6927 +6927,6927,6928 +6928,6928,6929 +6929,6929,6930 +6930,6930,6931 +6931,6931,6932 +6932,6932,6933 +6933,6933,6934 +6934,6934,6935 +6935,6935,6936 +6936,6936,6937 +6937,6937,6938 +6938,6938,6939 +6939,6939,6940 +6940,6940,6941 +6941,6941,6942 +6942,6942,6943 +6943,6943,6944 +6944,6944,6945 +6945,6945,6946 +6946,6946,6947 +6947,6947,6948 +6948,6948,6949 +6949,6949,6950 +6950,6950,6951 +6951,6951,6952 +6952,6952,6953 +6953,6953,6954 +6954,6954,6955 +6955,6955,6956 +6956,6956,6957 +6957,6957,6958 +6958,6958,6959 +6959,6959,6960 +6960,6960,6961 +6961,6961,6962 +6962,6962,6963 +6963,6963,6964 +6964,6964,6965 +6965,6965,6966 +6966,6966,6967 +6967,6967,6968 +6968,6968,6969 +6969,6969,6970 +6970,6970,6971 +6971,6971,6972 +6972,6972,6973 +6973,6973,6974 +6974,6974,6975 +6975,6975,6976 +6976,6976,6977 +6977,6977,6978 +6978,6978,6979 +6979,6979,6980 +6980,6980,6981 +6981,6981,6982 +6982,6982,6983 +6983,6983,6984 +6984,6984,6985 +6985,6985,6986 +6986,6986,6987 +6987,6987,6988 +6988,6988,6989 +6989,6989,6990 +6990,6990,6991 +6991,6991,6992 +6992,6992,6993 +6993,6993,6994 +6994,6994,6995 +6995,6995,6996 +6996,6996,6997 +6997,6997,6998 +6998,6998,6999 +6999,6999,7000 +7000,7000,7001 +7001,7001,7002 +7002,7002,7003 +7003,7003,7004 +7004,7004,7005 +7005,7005,7006 +7006,7006,7007 +7007,7007,7008 +7008,7008,7009 +7009,7009,7010 +7010,7010,7011 +7011,7011,7012 +7012,7012,7013 +7013,7013,7014 +7014,7014,7015 +7015,7015,7016 +7016,7016,7017 +7017,7017,7018 +7018,7018,7019 +7019,7019,7020 +7020,7020,7021 +7021,7021,7022 +7022,7022,7023 +7023,7023,7024 +7024,7024,7025 +7025,7025,7026 +7026,7026,7027 +7027,7027,7028 +7028,7028,7029 +7029,7029,7030 +7030,7030,7031 +7031,7031,7032 +7032,7032,7033 +7033,7033,7034 +7034,7034,7035 +7035,7035,7036 +7036,7036,7037 +7037,7037,7038 +7038,7038,7039 +7039,7039,7040 +7040,7040,7041 +7041,7041,7042 +7042,7042,7043 +7043,7043,7044 +7044,7044,7045 +7045,7045,7046 +7046,7046,7047 +7047,7047,7048 +7048,7048,7049 +7049,7049,7050 +7050,7050,7051 +7051,7051,7052 +7052,7052,7053 +7053,7053,7054 +7054,7054,7055 +7055,7055,7056 +7056,7056,7057 +7057,7057,7058 +7058,7058,7059 +7059,7059,7060 +7060,7060,7061 +7061,7061,7062 +7062,7062,7063 +7063,7063,7064 +7064,7064,7065 +7065,7065,7066 +7066,7066,7067 +7067,7067,7068 +7068,7068,7069 +7069,7069,7070 +7070,7070,7071 +7071,7071,7072 +7072,7072,7073 +7073,7073,7074 +7074,7074,7075 +7075,7075,7076 +7076,7076,7077 +7077,7077,7078 +7078,7078,7079 +7079,7079,7080 +7080,7080,7081 +7081,7081,7082 +7082,7082,7083 +7083,7083,7084 +7084,7084,7085 +7085,7085,7086 +7086,7086,7087 +7087,7087,7088 +7088,7088,7089 +7089,7089,7090 +7090,7090,7091 +7091,7091,7092 +7092,7092,7093 +7093,7093,7094 +7094,7094,7095 +7095,7095,7096 +7096,7096,7097 +7097,7097,7098 +7098,7098,7099 +7099,7099,7100 +7100,7100,7101 +7101,7101,7102 +7102,7102,7103 +7103,7103,7104 +7104,7104,7105 +7105,7105,7106 +7106,7106,7107 +7107,7107,7108 +7108,7108,7109 +7109,7109,7110 +7110,7110,7111 +7111,7111,7112 +7112,7112,7113 +7113,7113,7114 +7114,7114,7115 +7115,7115,7116 +7116,7116,7117 +7117,7117,7118 +7118,7118,7119 +7119,7119,7120 +7120,7120,7121 +7121,7121,7122 +7122,7122,7123 +7123,7123,7124 +7124,7124,7125 +7125,7125,7126 +7126,7126,7127 +7127,7127,7128 +7128,7128,7129 +7129,7129,7130 +7130,7130,7131 +7131,7131,7132 +7132,7132,7133 +7133,7133,7134 +7134,7134,7135 +7135,7135,7136 +7136,7136,7137 +7137,7137,7138 +7138,7138,7139 +7139,7139,7140 +7140,7140,7141 +7141,7141,7142 +7142,7142,7143 +7143,7143,7144 +7144,7144,7145 +7145,7145,7146 +7146,7146,7147 +7147,7147,7148 +7148,7148,7149 +7149,7149,7150 +7150,7150,7151 +7151,7151,7152 +7152,7152,7153 +7153,7153,7154 +7154,7154,7155 +7155,7155,7156 +7156,7156,7157 +7157,7157,7158 +7158,7158,7159 +7159,7159,7160 +7160,7160,7161 +7161,7161,7162 +7162,7162,7163 +7163,7163,7164 +7164,7164,7165 +7165,7165,7166 +7166,7166,7167 +7167,7167,7168 +7168,7168,7169 +7169,7169,7170 +7170,7170,7171 +7171,7171,7172 +7172,7172,7173 +7173,7173,7174 +7174,7174,7175 +7175,7175,7176 +7176,7176,7177 +7177,7177,7178 +7178,7178,7179 +7179,7179,7180 +7180,7180,7181 +7181,7181,7182 +7182,7182,7183 +7183,7183,7184 +7184,7184,7185 +7185,7185,7186 +7186,7186,7187 +7187,7187,7188 +7188,7188,7189 +7189,7189,7190 +7190,7190,7191 +7191,7191,7192 +7192,7192,7193 +7193,7193,7194 +7194,7194,7195 +7195,7195,7196 +7196,7196,7197 +7197,7197,7198 +7198,7198,7199 +7199,7199,7200 +7200,7200,7201 +7201,7201,7202 +7202,7202,7203 +7203,7203,7204 +7204,7204,7205 +7205,7205,7206 +7206,7206,7207 +7207,7207,7208 +7208,7208,7209 +7209,7209,7210 +7210,7210,7211 +7211,7211,7212 +7212,7212,7213 +7213,7213,7214 +7214,7214,7215 +7215,7215,7216 +7216,7216,7217 +7217,7217,7218 +7218,7218,7219 +7219,7219,7220 +7220,7220,7221 +7221,7221,7222 +7222,7222,7223 +7223,7223,7224 +7224,7224,7225 +7225,7225,7226 +7226,7226,7227 +7227,7227,7228 +7228,7228,7229 +7229,7229,7230 +7230,7230,7231 +7231,7231,7232 +7232,7232,7233 +7233,7233,7234 +7234,7234,7235 +7235,7235,7236 +7236,7236,7237 +7237,7237,7238 +7238,7238,7239 +7239,7239,7240 +7240,7240,7241 +7241,7241,7242 +7242,7242,7243 +7243,7243,7244 +7244,7244,7245 +7245,7245,7246 +7246,7246,7247 +7247,7247,7248 +7248,7248,7249 +7249,7249,7250 +7250,7250,7251 +7251,7251,7252 +7252,7252,7253 +7253,7253,7254 +7254,7254,7255 +7255,7255,7256 +7256,7256,7257 +7257,7257,7258 +7258,7258,7259 +7259,7259,7260 +7260,7260,7261 +7261,7261,7262 +7262,7262,7263 +7263,7263,7264 +7264,7264,7265 +7265,7265,7266 +7266,7266,7267 +7267,7267,7268 +7268,7268,7269 +7269,7269,7270 +7270,7270,7271 +7271,7271,7272 +7272,7272,7273 +7273,7273,7274 +7274,7274,7275 +7275,7275,7276 +7276,7276,7277 +7277,7277,7278 +7278,7278,7279 +7279,7279,7280 +7280,7280,7281 +7281,7281,7282 +7282,7282,7283 +7283,7283,7284 +7284,7284,7285 +7285,7285,7286 +7286,7286,7287 +7287,7287,7288 +7288,7288,7289 +7289,7289,7290 +7290,7290,7291 +7291,7291,7292 +7292,7292,7293 +7293,7293,7294 +7294,7294,7295 +7295,7295,7296 +7296,7296,7297 +7297,7297,7298 +7298,7298,7299 +7299,7299,7300 +7300,7300,7301 +7301,7301,7302 +7302,7302,7303 +7303,7303,7304 +7304,7304,7305 +7305,7305,7306 +7306,7306,7307 +7307,7307,7308 +7308,7308,7309 +7309,7309,7310 +7310,7310,7311 +7311,7311,7312 +7312,7312,7313 +7313,7313,7314 +7314,7314,7315 +7315,7315,7316 +7316,7316,7317 +7317,7317,7318 +7318,7318,7319 +7319,7319,7320 +7320,7320,7321 +7321,7321,7322 +7322,7322,7323 +7323,7323,7324 +7324,7324,7325 +7325,7325,7326 +7326,7326,7327 +7327,7327,7328 +7328,7328,7329 +7329,7329,7330 +7330,7330,7331 +7331,7331,7332 +7332,7332,7333 +7333,7333,7334 +7334,7334,7335 +7335,7335,7336 +7336,7336,7337 +7337,7337,7338 +7338,7338,7339 +7339,7339,7340 +7340,7340,7341 +7341,7341,7342 +7342,7342,7343 +7343,7343,7344 +7344,7344,7345 +7345,7345,7346 +7346,7346,7347 +7347,7347,7348 +7348,7348,7349 +7349,7349,7350 +7350,7350,7351 +7351,7351,7352 +7352,7352,7353 +7353,7353,7354 +7354,7354,7355 +7355,7355,7356 +7356,7356,7357 +7357,7357,7358 +7358,7358,7359 +7359,7359,7360 +7360,7360,7361 +7361,7361,7362 +7362,7362,7363 +7363,7363,7364 +7364,7364,7365 +7365,7365,7366 +7366,7366,7367 +7367,7367,7368 +7368,7368,7369 +7369,7369,7370 +7370,7370,7371 +7371,7371,7372 +7372,7372,7373 +7373,7373,7374 +7374,7374,7375 +7375,7375,7376 +7376,7376,7377 +7377,7377,7378 +7378,7378,7379 +7379,7379,7380 +7380,7380,7381 +7381,7381,7382 +7382,7382,7383 +7383,7383,7384 +7384,7384,7385 +7385,7385,7386 +7386,7386,7387 +7387,7387,7388 +7388,7388,7389 +7389,7389,7390 +7390,7390,7391 +7391,7391,7392 +7392,7392,7393 +7393,7393,7394 +7394,7394,7395 +7395,7395,7396 +7396,7396,7397 +7397,7397,7398 +7398,7398,7399 +7399,7399,7400 +7400,7400,7401 +7401,7401,7402 +7402,7402,7403 +7403,7403,7404 +7404,7404,7405 +7405,7405,7406 +7406,7406,7407 +7407,7407,7408 +7408,7408,7409 +7409,7409,7410 +7410,7410,7411 +7411,7411,7412 +7412,7412,7413 +7413,7413,7414 +7414,7414,7415 +7415,7415,7416 +7416,7416,7417 +7417,7417,7418 +7418,7418,7419 +7419,7419,7420 +7420,7420,7421 +7421,7421,7422 +7422,7422,7423 +7423,7423,7424 +7424,7424,7425 +7425,7425,7426 +7426,7426,7427 +7427,7427,7428 +7428,7428,7429 +7429,7429,7430 +7430,7430,7431 +7431,7431,7432 +7432,7432,7433 +7433,7433,7434 +7434,7434,7435 +7435,7435,7436 +7436,7436,7437 +7437,7437,7438 +7438,7438,7439 +7439,7439,7440 +7440,7440,7441 +7441,7441,7442 +7442,7442,7443 +7443,7443,7444 +7444,7444,7445 +7445,7445,7446 +7446,7446,7447 +7447,7447,7448 +7448,7448,7449 +7449,7449,7450 +7450,7450,7451 +7451,7451,7452 +7452,7452,7453 +7453,7453,7454 +7454,7454,7455 +7455,7455,7456 +7456,7456,7457 +7457,7457,7458 +7458,7458,7459 +7459,7459,7460 +7460,7460,7461 +7461,7461,7462 +7462,7462,7463 +7463,7463,7464 +7464,7464,7465 +7465,7465,7466 +7466,7466,7467 +7467,7467,7468 +7468,7468,7469 +7469,7469,7470 +7470,7470,7471 +7471,7471,7472 +7472,7472,7473 +7473,7473,7474 +7474,7474,7475 +7475,7475,7476 +7476,7476,7477 +7477,7477,7478 +7478,7478,7479 +7479,7479,7480 +7480,7480,7481 +7481,7481,7482 +7482,7482,7483 +7483,7483,7484 +7484,7484,7485 +7485,7485,7486 +7486,7486,7487 +7487,7487,7488 +7488,7488,7489 +7489,7489,7490 +7490,7490,7491 +7491,7491,7492 +7492,7492,7493 +7493,7493,7494 +7494,7494,7495 +7495,7495,7496 +7496,7496,7497 +7497,7497,7498 +7498,7498,7499 +7499,7499,7500 +7500,7500,7501 +7501,7501,7502 +7502,7502,7503 +7503,7503,7504 +7504,7504,7505 +7505,7505,7506 +7506,7506,7507 +7507,7507,7508 +7508,7508,7509 +7509,7509,7510 +7510,7510,7511 +7511,7511,7512 +7512,7512,7513 +7513,7513,7514 +7514,7514,7515 +7515,7515,7516 +7516,7516,7517 +7517,7517,7518 +7518,7518,7519 +7519,7519,7520 +7520,7520,7521 +7521,7521,7522 +7522,7522,7523 +7523,7523,7524 +7524,7524,7525 +7525,7525,7526 +7526,7526,7527 +7527,7527,7528 +7528,7528,7529 +7529,7529,7530 +7530,7530,7531 +7531,7531,7532 +7532,7532,7533 +7533,7533,7534 +7534,7534,7535 +7535,7535,7536 +7536,7536,7537 +7537,7537,7538 +7538,7538,7539 +7539,7539,7540 +7540,7540,7541 +7541,7541,7542 +7542,7542,7543 +7543,7543,7544 +7544,7544,7545 +7545,7545,7546 +7546,7546,7547 +7547,7547,7548 +7548,7548,7549 +7549,7549,7550 +7550,7550,7551 +7551,7551,7552 +7552,7552,7553 +7553,7553,7554 +7554,7554,7555 +7555,7555,7556 +7556,7556,7557 +7557,7557,7558 +7558,7558,7559 +7559,7559,7560 +7560,7560,7561 +7561,7561,7562 +7562,7562,7563 +7563,7563,7564 +7564,7564,7565 +7565,7565,7566 +7566,7566,7567 +7567,7567,7568 +7568,7568,7569 +7569,7569,7570 +7570,7570,7571 +7571,7571,7572 +7572,7572,7573 +7573,7573,7574 +7574,7574,7575 +7575,7575,7576 +7576,7576,7577 +7577,7577,7578 +7578,7578,7579 +7579,7579,7580 +7580,7580,7581 +7581,7581,7582 +7582,7582,7583 +7583,7583,7584 +7584,7584,7585 +7585,7585,7586 +7586,7586,7587 +7587,7587,7588 +7588,7588,7589 +7589,7589,7590 +7590,7590,7591 +7591,7591,7592 +7592,7592,7593 +7593,7593,7594 +7594,7594,7595 +7595,7595,7596 +7596,7596,7597 +7597,7597,7598 +7598,7598,7599 +7599,7599,7600 +7600,7600,7601 +7601,7601,7602 +7602,7602,7603 +7603,7603,7604 +7604,7604,7605 +7605,7605,7606 +7606,7606,7607 +7607,7607,7608 +7608,7608,7609 +7609,7609,7610 +7610,7610,7611 +7611,7611,7612 +7612,7612,7613 +7613,7613,7614 +7614,7614,7615 +7615,7615,7616 +7616,7616,7617 +7617,7617,7618 +7618,7618,7619 +7619,7619,7620 +7620,7620,7621 +7621,7621,7622 +7622,7622,7623 +7623,7623,7624 +7624,7624,7625 +7625,7625,7626 +7626,7626,7627 +7627,7627,7628 +7628,7628,7629 +7629,7629,7630 +7630,7630,7631 +7631,7631,7632 +7632,7632,7633 +7633,7633,7634 +7634,7634,7635 +7635,7635,7636 +7636,7636,7637 +7637,7637,7638 +7638,7638,7639 +7639,7639,7640 +7640,7640,7641 +7641,7641,7642 +7642,7642,7643 +7643,7643,7644 +7644,7644,7645 +7645,7645,7646 +7646,7646,7647 +7647,7647,7648 +7648,7648,7649 +7649,7649,7650 +7650,7650,7651 +7651,7651,7652 +7652,7652,7653 +7653,7653,7654 +7654,7654,7655 +7655,7655,7656 +7656,7656,7657 +7657,7657,7658 +7658,7658,7659 +7659,7659,7660 +7660,7660,7661 +7661,7661,7662 +7662,7662,7663 +7663,7663,7664 +7664,7664,7665 +7665,7665,7666 +7666,7666,7667 +7667,7667,7668 +7668,7668,7669 +7669,7669,7670 +7670,7670,7671 +7671,7671,7672 +7672,7672,7673 +7673,7673,7674 +7674,7674,7675 +7675,7675,7676 +7676,7676,7677 +7677,7677,7678 +7678,7678,7679 +7679,7679,7680 +7680,7680,7681 +7681,7681,7682 +7682,7682,7683 +7683,7683,7684 +7684,7684,7685 +7685,7685,7686 +7686,7686,7687 +7687,7687,7688 +7688,7688,7689 +7689,7689,7690 +7690,7690,7691 +7691,7691,7692 +7692,7692,7693 +7693,7693,7694 +7694,7694,7695 +7695,7695,7696 +7696,7696,7697 +7697,7697,7698 +7698,7698,7699 +7699,7699,7700 +7700,7700,7701 +7701,7701,7702 +7702,7702,7703 +7703,7703,7704 +7704,7704,7705 +7705,7705,7706 +7706,7706,7707 +7707,7707,7708 +7708,7708,7709 +7709,7709,7710 +7710,7710,7711 +7711,7711,7712 +7712,7712,7713 +7713,7713,7714 +7714,7714,7715 +7715,7715,7716 +7716,7716,7717 +7717,7717,7718 +7718,7718,7719 +7719,7719,7720 +7720,7720,7721 +7721,7721,7722 +7722,7722,7723 +7723,7723,7724 +7724,7724,7725 +7725,7725,7726 +7726,7726,7727 +7727,7727,7728 +7728,7728,7729 +7729,7729,7730 +7730,7730,7731 +7731,7731,7732 +7732,7732,7733 +7733,7733,7734 +7734,7734,7735 +7735,7735,7736 +7736,7736,7737 +7737,7737,7738 +7738,7738,7739 +7739,7739,7740 +7740,7740,7741 +7741,7741,7742 +7742,7742,7743 +7743,7743,7744 +7744,7744,7745 +7745,7745,7746 +7746,7746,7747 +7747,7747,7748 +7748,7748,7749 +7749,7749,7750 +7750,7750,7751 +7751,7751,7752 +7752,7752,7753 +7753,7753,7754 +7754,7754,7755 +7755,7755,7756 +7756,7756,7757 +7757,7757,7758 +7758,7758,7759 +7759,7759,7760 +7760,7760,7761 +7761,7761,7762 +7762,7762,7763 +7763,7763,7764 +7764,7764,7765 +7765,7765,7766 +7766,7766,7767 +7767,7767,7768 +7768,7768,7769 +7769,7769,7770 +7770,7770,7771 +7771,7771,7772 +7772,7772,7773 +7773,7773,7774 +7774,7774,7775 +7775,7775,7776 +7776,7776,7777 +7777,7777,7778 +7778,7778,7779 +7779,7779,7780 +7780,7780,7781 +7781,7781,7782 +7782,7782,7783 +7783,7783,7784 +7784,7784,7785 +7785,7785,7786 +7786,7786,7787 +7787,7787,7788 +7788,7788,7789 +7789,7789,7790 +7790,7790,7791 +7791,7791,7792 +7792,7792,7793 +7793,7793,7794 +7794,7794,7795 +7795,7795,7796 +7796,7796,7797 +7797,7797,7798 +7798,7798,7799 +7799,7799,7800 +7800,7800,7801 +7801,7801,7802 +7802,7802,7803 +7803,7803,7804 +7804,7804,7805 +7805,7805,7806 +7806,7806,7807 +7807,7807,7808 +7808,7808,7809 +7809,7809,7810 +7810,7810,7811 +7811,7811,7812 +7812,7812,7813 +7813,7813,7814 +7814,7814,7815 +7815,7815,7816 +7816,7816,7817 +7817,7817,7818 +7818,7818,7819 +7819,7819,7820 +7820,7820,7821 +7821,7821,7822 +7822,7822,7823 +7823,7823,7824 +7824,7824,7825 +7825,7825,7826 +7826,7826,7827 +7827,7827,7828 +7828,7828,7829 +7829,7829,7830 +7830,7830,7831 +7831,7831,7832 +7832,7832,7833 +7833,7833,7834 +7834,7834,7835 +7835,7835,7836 +7836,7836,7837 +7837,7837,7838 +7838,7838,7839 +7839,7839,7840 +7840,7840,7841 +7841,7841,7842 +7842,7842,7843 +7843,7843,7844 +7844,7844,7845 +7845,7845,7846 +7846,7846,7847 +7847,7847,7848 +7848,7848,7849 +7849,7849,7850 +7850,7850,7851 +7851,7851,7852 +7852,7852,7853 +7853,7853,7854 +7854,7854,7855 +7855,7855,7856 +7856,7856,7857 +7857,7857,7858 +7858,7858,7859 +7859,7859,7860 +7860,7860,7861 +7861,7861,7862 +7862,7862,7863 +7863,7863,7864 +7864,7864,7865 +7865,7865,7866 +7866,7866,7867 +7867,7867,7868 +7868,7868,7869 +7869,7869,7870 +7870,7870,7871 +7871,7871,7872 +7872,7872,7873 +7873,7873,7874 +7874,7874,7875 +7875,7875,7876 +7876,7876,7877 +7877,7877,7878 +7878,7878,7879 +7879,7879,7880 +7880,7880,7881 +7881,7881,7882 +7882,7882,7883 +7883,7883,7884 +7884,7884,7885 +7885,7885,7886 +7886,7886,7887 +7887,7887,7888 +7888,7888,7889 +7889,7889,7890 +7890,7890,7891 +7891,7891,7892 +7892,7892,7893 +7893,7893,7894 +7894,7894,7895 +7895,7895,7896 +7896,7896,7897 +7897,7897,7898 +7898,7898,7899 +7899,7899,7900 +7900,7900,7901 +7901,7901,7902 +7902,7902,7903 +7903,7903,7904 +7904,7904,7905 +7905,7905,7906 +7906,7906,7907 +7907,7907,7908 +7908,7908,7909 +7909,7909,7910 +7910,7910,7911 +7911,7911,7912 +7912,7912,7913 +7913,7913,7914 +7914,7914,7915 +7915,7915,7916 +7916,7916,7917 +7917,7917,7918 +7918,7918,7919 +7919,7919,7920 +7920,7920,7921 +7921,7921,7922 +7922,7922,7923 +7923,7923,7924 +7924,7924,7925 +7925,7925,7926 +7926,7926,7927 +7927,7927,7928 +7928,7928,7929 +7929,7929,7930 +7930,7930,7931 +7931,7931,7932 +7932,7932,7933 +7933,7933,7934 +7934,7934,7935 +7935,7935,7936 +7936,7936,7937 +7937,7937,7938 +7938,7938,7939 +7939,7939,7940 +7940,7940,7941 +7941,7941,7942 +7942,7942,7943 +7943,7943,7944 +7944,7944,7945 +7945,7945,7946 +7946,7946,7947 +7947,7947,7948 +7948,7948,7949 +7949,7949,7950 +7950,7950,7951 +7951,7951,7952 +7952,7952,7953 +7953,7953,7954 +7954,7954,7955 +7955,7955,7956 +7956,7956,7957 +7957,7957,7958 +7958,7958,7959 +7959,7959,7960 +7960,7960,7961 +7961,7961,7962 +7962,7962,7963 +7963,7963,7964 +7964,7964,7965 +7965,7965,7966 +7966,7966,7967 +7967,7967,7968 +7968,7968,7969 +7969,7969,7970 +7970,7970,7971 +7971,7971,7972 +7972,7972,7973 +7973,7973,7974 +7974,7974,7975 +7975,7975,7976 +7976,7976,7977 +7977,7977,7978 +7978,7978,7979 +7979,7979,7980 +7980,7980,7981 +7981,7981,7982 +7982,7982,7983 +7983,7983,7984 +7984,7984,7985 +7985,7985,7986 +7986,7986,7987 +7987,7987,7988 +7988,7988,7989 +7989,7989,7990 +7990,7990,7991 +7991,7991,7992 +7992,7992,7993 +7993,7993,7994 +7994,7994,7995 +7995,7995,7996 +7996,7996,7997 +7997,7997,7998 +7998,7998,7999 +7999,7999,8000 +8000,8000,8001 +8001,8001,8002 +8002,8002,8003 +8003,8003,8004 +8004,8004,8005 +8005,8005,8006 +8006,8006,8007 +8007,8007,8008 +8008,8008,8009 +8009,8009,8010 +8010,8010,8011 +8011,8011,8012 +8012,8012,8013 +8013,8013,8014 +8014,8014,8015 +8015,8015,8016 +8016,8016,8017 +8017,8017,8018 +8018,8018,8019 +8019,8019,8020 +8020,8020,8021 +8021,8021,8022 +8022,8022,8023 +8023,8023,8024 +8024,8024,8025 +8025,8025,8026 +8026,8026,8027 +8027,8027,8028 +8028,8028,8029 +8029,8029,8030 +8030,8030,8031 +8031,8031,8032 +8032,8032,8033 +8033,8033,8034 +8034,8034,8035 +8035,8035,8036 +8036,8036,8037 +8037,8037,8038 +8038,8038,8039 +8039,8039,8040 +8040,8040,8041 +8041,8041,8042 +8042,8042,8043 +8043,8043,8044 +8044,8044,8045 +8045,8045,8046 +8046,8046,8047 +8047,8047,8048 +8048,8048,8049 +8049,8049,8050 +8050,8050,8051 +8051,8051,8052 +8052,8052,8053 +8053,8053,8054 +8054,8054,8055 +8055,8055,8056 +8056,8056,8057 +8057,8057,8058 +8058,8058,8059 +8059,8059,8060 +8060,8060,8061 +8061,8061,8062 +8062,8062,8063 +8063,8063,8064 +8064,8064,8065 +8065,8065,8066 +8066,8066,8067 +8067,8067,8068 +8068,8068,8069 +8069,8069,8070 +8070,8070,8071 +8071,8071,8072 +8072,8072,8073 +8073,8073,8074 +8074,8074,8075 +8075,8075,8076 +8076,8076,8077 +8077,8077,8078 +8078,8078,8079 +8079,8079,8080 +8080,8080,8081 +8081,8081,8082 +8082,8082,8083 +8083,8083,8084 +8084,8084,8085 +8085,8085,8086 +8086,8086,8087 +8087,8087,8088 +8088,8088,8089 +8089,8089,8090 +8090,8090,8091 +8091,8091,8092 +8092,8092,8093 +8093,8093,8094 +8094,8094,8095 +8095,8095,8096 +8096,8096,8097 +8097,8097,8098 +8098,8098,8099 +8099,8099,8100 +8100,8100,8101 +8101,8101,8102 +8102,8102,8103 +8103,8103,8104 +8104,8104,8105 +8105,8105,8106 +8106,8106,8107 +8107,8107,8108 +8108,8108,8109 +8109,8109,8110 +8110,8110,8111 +8111,8111,8112 +8112,8112,8113 +8113,8113,8114 +8114,8114,8115 +8115,8115,8116 +8116,8116,8117 +8117,8117,8118 +8118,8118,8119 +8119,8119,8120 +8120,8120,8121 +8121,8121,8122 +8122,8122,8123 +8123,8123,8124 +8124,8124,8125 +8125,8125,8126 +8126,8126,8127 +8127,8127,8128 +8128,8128,8129 +8129,8129,8130 +8130,8130,8131 +8131,8131,8132 +8132,8132,8133 +8133,8133,8134 +8134,8134,8135 +8135,8135,8136 +8136,8136,8137 +8137,8137,8138 +8138,8138,8139 +8139,8139,8140 +8140,8140,8141 +8141,8141,8142 +8142,8142,8143 +8143,8143,8144 +8144,8144,8145 +8145,8145,8146 +8146,8146,8147 +8147,8147,8148 +8148,8148,8149 +8149,8149,8150 +8150,8150,8151 +8151,8151,8152 +8152,8152,8153 +8153,8153,8154 +8154,8154,8155 +8155,8155,8156 +8156,8156,8157 +8157,8157,8158 +8158,8158,8159 +8159,8159,8160 +8160,8160,8161 +8161,8161,8162 +8162,8162,8163 +8163,8163,8164 +8164,8164,8165 +8165,8165,8166 +8166,8166,8167 +8167,8167,8168 +8168,8168,8169 +8169,8169,8170 +8170,8170,8171 +8171,8171,8172 +8172,8172,8173 +8173,8173,8174 +8174,8174,8175 +8175,8175,8176 +8176,8176,8177 +8177,8177,8178 +8178,8178,8179 +8179,8179,8180 +8180,8180,8181 +8181,8181,8182 +8182,8182,8183 +8183,8183,8184 +8184,8184,8185 +8185,8185,8186 +8186,8186,8187 +8187,8187,8188 +8188,8188,8189 +8189,8189,8190 +8190,8190,8191 +8191,8191,8192 +8192,8192,8193 +8193,8193,8194 +8194,8194,8195 +8195,8195,8196 +8196,8196,8197 +8197,8197,8198 +8198,8198,8199 +8199,8199,8200 +8200,8200,8201 +8201,8201,8202 +8202,8202,8203 +8203,8203,8204 +8204,8204,8205 +8205,8205,8206 +8206,8206,8207 +8207,8207,8208 +8208,8208,8209 +8209,8209,8210 +8210,8210,8211 +8211,8211,8212 +8212,8212,8213 +8213,8213,8214 +8214,8214,8215 +8215,8215,8216 +8216,8216,8217 +8217,8217,8218 +8218,8218,8219 +8219,8219,8220 +8220,8220,8221 +8221,8221,8222 +8222,8222,8223 +8223,8223,8224 +8224,8224,8225 +8225,8225,8226 +8226,8226,8227 +8227,8227,8228 +8228,8228,8229 +8229,8229,8230 +8230,8230,8231 +8231,8231,8232 +8232,8232,8233 +8233,8233,8234 +8234,8234,8235 +8235,8235,8236 +8236,8236,8237 +8237,8237,8238 +8238,8238,8239 +8239,8239,8240 +8240,8240,8241 +8241,8241,8242 +8242,8242,8243 +8243,8243,8244 +8244,8244,8245 +8245,8245,8246 +8246,8246,8247 +8247,8247,8248 +8248,8248,8249 +8249,8249,8250 +8250,8250,8251 +8251,8251,8252 +8252,8252,8253 +8253,8253,8254 +8254,8254,8255 +8255,8255,8256 +8256,8256,8257 +8257,8257,8258 +8258,8258,8259 +8259,8259,8260 +8260,8260,8261 +8261,8261,8262 +8262,8262,8263 +8263,8263,8264 +8264,8264,8265 +8265,8265,8266 +8266,8266,8267 +8267,8267,8268 +8268,8268,8269 +8269,8269,8270 +8270,8270,8271 +8271,8271,8272 +8272,8272,8273 +8273,8273,8274 +8274,8274,8275 +8275,8275,8276 +8276,8276,8277 +8277,8277,8278 +8278,8278,8279 +8279,8279,8280 +8280,8280,8281 +8281,8281,8282 +8282,8282,8283 +8283,8283,8284 +8284,8284,8285 +8285,8285,8286 +8286,8286,8287 +8287,8287,8288 +8288,8288,8289 +8289,8289,8290 +8290,8290,8291 +8291,8291,8292 +8292,8292,8293 +8293,8293,8294 +8294,8294,8295 +8295,8295,8296 +8296,8296,8297 +8297,8297,8298 +8298,8298,8299 +8299,8299,8300 +8300,8300,8301 +8301,8301,8302 +8302,8302,8303 +8303,8303,8304 +8304,8304,8305 +8305,8305,8306 +8306,8306,8307 +8307,8307,8308 +8308,8308,8309 +8309,8309,8310 +8310,8310,8311 +8311,8311,8312 +8312,8312,8313 +8313,8313,8314 +8314,8314,8315 +8315,8315,8316 +8316,8316,8317 +8317,8317,8318 +8318,8318,8319 +8319,8319,8320 +8320,8320,8321 +8321,8321,8322 +8322,8322,8323 +8323,8323,8324 +8324,8324,8325 +8325,8325,8326 +8326,8326,8327 +8327,8327,8328 +8328,8328,8329 +8329,8329,8330 +8330,8330,8331 +8331,8331,8332 +8332,8332,8333 +8333,8333,8334 +8334,8334,8335 +8335,8335,8336 +8336,8336,8337 +8337,8337,8338 +8338,8338,8339 +8339,8339,8340 +8340,8340,8341 +8341,8341,8342 +8342,8342,8343 +8343,8343,8344 +8344,8344,8345 +8345,8345,8346 +8346,8346,8347 +8347,8347,8348 +8348,8348,8349 +8349,8349,8350 +8350,8350,8351 +8351,8351,8352 +8352,8352,8353 +8353,8353,8354 +8354,8354,8355 +8355,8355,8356 +8356,8356,8357 +8357,8357,8358 +8358,8358,8359 +8359,8359,8360 +8360,8360,8361 +8361,8361,8362 +8362,8362,8363 +8363,8363,8364 +8364,8364,8365 +8365,8365,8366 +8366,8366,8367 +8367,8367,8368 +8368,8368,8369 +8369,8369,8370 +8370,8370,8371 +8371,8371,8372 +8372,8372,8373 +8373,8373,8374 +8374,8374,8375 +8375,8375,8376 +8376,8376,8377 +8377,8377,8378 +8378,8378,8379 +8379,8379,8380 +8380,8380,8381 +8381,8381,8382 +8382,8382,8383 +8383,8383,8384 +8384,8384,8385 +8385,8385,8386 +8386,8386,8387 +8387,8387,8388 +8388,8388,8389 +8389,8389,8390 +8390,8390,8391 +8391,8391,8392 +8392,8392,8393 +8393,8393,8394 +8394,8394,8395 +8395,8395,8396 +8396,8396,8397 +8397,8397,8398 +8398,8398,8399 +8399,8399,8400 +8400,8400,8401 +8401,8401,8402 +8402,8402,8403 +8403,8403,8404 +8404,8404,8405 +8405,8405,8406 +8406,8406,8407 +8407,8407,8408 +8408,8408,8409 +8409,8409,8410 +8410,8410,8411 +8411,8411,8412 +8412,8412,8413 +8413,8413,8414 +8414,8414,8415 +8415,8415,8416 +8416,8416,8417 +8417,8417,8418 +8418,8418,8419 +8419,8419,8420 +8420,8420,8421 +8421,8421,8422 +8422,8422,8423 +8423,8423,8424 +8424,8424,8425 +8425,8425,8426 +8426,8426,8427 +8427,8427,8428 +8428,8428,8429 +8429,8429,8430 +8430,8430,8431 +8431,8431,8432 +8432,8432,8433 +8433,8433,8434 +8434,8434,8435 +8435,8435,8436 +8436,8436,8437 +8437,8437,8438 +8438,8438,8439 +8439,8439,8440 +8440,8440,8441 +8441,8441,8442 +8442,8442,8443 +8443,8443,8444 +8444,8444,8445 +8445,8445,8446 +8446,8446,8447 +8447,8447,8448 +8448,8448,8449 +8449,8449,8450 +8450,8450,8451 +8451,8451,8452 +8452,8452,8453 +8453,8453,8454 +8454,8454,8455 +8455,8455,8456 +8456,8456,8457 +8457,8457,8458 +8458,8458,8459 +8459,8459,8460 +8460,8460,8461 +8461,8461,8462 +8462,8462,8463 +8463,8463,8464 +8464,8464,8465 +8465,8465,8466 +8466,8466,8467 +8467,8467,8468 +8468,8468,8469 +8469,8469,8470 +8470,8470,8471 +8471,8471,8472 +8472,8472,8473 +8473,8473,8474 +8474,8474,8475 +8475,8475,8476 +8476,8476,8477 +8477,8477,8478 +8478,8478,8479 +8479,8479,8480 +8480,8480,8481 +8481,8481,8482 +8482,8482,8483 +8483,8483,8484 +8484,8484,8485 +8485,8485,8486 +8486,8486,8487 +8487,8487,8488 +8488,8488,8489 +8489,8489,8490 +8490,8490,8491 +8491,8491,8492 +8492,8492,8493 +8493,8493,8494 +8494,8494,8495 +8495,8495,8496 +8496,8496,8497 +8497,8497,8498 +8498,8498,8499 +8499,8499,8500 +8500,8500,8501 +8501,8501,8502 +8502,8502,8503 +8503,8503,8504 +8504,8504,8505 +8505,8505,8506 +8506,8506,8507 +8507,8507,8508 +8508,8508,8509 +8509,8509,8510 +8510,8510,8511 +8511,8511,8512 +8512,8512,8513 +8513,8513,8514 +8514,8514,8515 +8515,8515,8516 +8516,8516,8517 +8517,8517,8518 +8518,8518,8519 +8519,8519,8520 +8520,8520,8521 +8521,8521,8522 +8522,8522,8523 +8523,8523,8524 +8524,8524,8525 +8525,8525,8526 +8526,8526,8527 +8527,8527,8528 +8528,8528,8529 +8529,8529,8530 +8530,8530,8531 +8531,8531,8532 +8532,8532,8533 +8533,8533,8534 +8534,8534,8535 +8535,8535,8536 +8536,8536,8537 +8537,8537,8538 +8538,8538,8539 +8539,8539,8540 +8540,8540,8541 +8541,8541,8542 +8542,8542,8543 +8543,8543,8544 +8544,8544,8545 +8545,8545,8546 +8546,8546,8547 +8547,8547,8548 +8548,8548,8549 +8549,8549,8550 +8550,8550,8551 +8551,8551,8552 +8552,8552,8553 +8553,8553,8554 +8554,8554,8555 +8555,8555,8556 +8556,8556,8557 +8557,8557,8558 +8558,8558,8559 +8559,8559,8560 +8560,8560,8561 +8561,8561,8562 +8562,8562,8563 +8563,8563,8564 +8564,8564,8565 +8565,8565,8566 +8566,8566,8567 +8567,8567,8568 +8568,8568,8569 +8569,8569,8570 +8570,8570,8571 +8571,8571,8572 +8572,8572,8573 +8573,8573,8574 +8574,8574,8575 +8575,8575,8576 +8576,8576,8577 +8577,8577,8578 +8578,8578,8579 +8579,8579,8580 +8580,8580,8581 +8581,8581,8582 +8582,8582,8583 +8583,8583,8584 +8584,8584,8585 +8585,8585,8586 +8586,8586,8587 +8587,8587,8588 +8588,8588,8589 +8589,8589,8590 +8590,8590,8591 +8591,8591,8592 +8592,8592,8593 +8593,8593,8594 +8594,8594,8595 +8595,8595,8596 +8596,8596,8597 +8597,8597,8598 +8598,8598,8599 +8599,8599,8600 +8600,8600,8601 +8601,8601,8602 +8602,8602,8603 +8603,8603,8604 +8604,8604,8605 +8605,8605,8606 +8606,8606,8607 +8607,8607,8608 +8608,8608,8609 +8609,8609,8610 +8610,8610,8611 +8611,8611,8612 +8612,8612,8613 +8613,8613,8614 +8614,8614,8615 +8615,8615,8616 +8616,8616,8617 +8617,8617,8618 +8618,8618,8619 +8619,8619,8620 +8620,8620,8621 +8621,8621,8622 +8622,8622,8623 +8623,8623,8624 +8624,8624,8625 +8625,8625,8626 +8626,8626,8627 +8627,8627,8628 +8628,8628,8629 +8629,8629,8630 +8630,8630,8631 +8631,8631,8632 +8632,8632,8633 +8633,8633,8634 +8634,8634,8635 +8635,8635,8636 +8636,8636,8637 +8637,8637,8638 +8638,8638,8639 +8639,8639,8640 +8640,8640,8641 +8641,8641,8642 +8642,8642,8643 +8643,8643,8644 +8644,8644,8645 +8645,8645,8646 +8646,8646,8647 +8647,8647,8648 +8648,8648,8649 +8649,8649,8650 +8650,8650,8651 +8651,8651,8652 +8652,8652,8653 +8653,8653,8654 +8654,8654,8655 +8655,8655,8656 +8656,8656,8657 +8657,8657,8658 +8658,8658,8659 +8659,8659,8660 +8660,8660,8661 +8661,8661,8662 +8662,8662,8663 +8663,8663,8664 +8664,8664,8665 +8665,8665,8666 +8666,8666,8667 +8667,8667,8668 +8668,8668,8669 +8669,8669,8670 +8670,8670,8671 +8671,8671,8672 +8672,8672,8673 +8673,8673,8674 +8674,8674,8675 +8675,8675,8676 +8676,8676,8677 +8677,8677,8678 +8678,8678,8679 +8679,8679,8680 +8680,8680,8681 +8681,8681,8682 +8682,8682,8683 +8683,8683,8684 +8684,8684,8685 +8685,8685,8686 +8686,8686,8687 +8687,8687,8688 +8688,8688,8689 +8689,8689,8690 +8690,8690,8691 +8691,8691,8692 +8692,8692,8693 +8693,8693,8694 +8694,8694,8695 +8695,8695,8696 +8696,8696,8697 +8697,8697,8698 +8698,8698,8699 +8699,8699,8700 +8700,8700,8701 +8701,8701,8702 +8702,8702,8703 +8703,8703,8704 +8704,8704,8705 +8705,8705,8706 +8706,8706,8707 +8707,8707,8708 +8708,8708,8709 +8709,8709,8710 +8710,8710,8711 +8711,8711,8712 +8712,8712,8713 +8713,8713,8714 +8714,8714,8715 +8715,8715,8716 +8716,8716,8717 +8717,8717,8718 +8718,8718,8719 +8719,8719,8720 +8720,8720,8721 +8721,8721,8722 +8722,8722,8723 +8723,8723,8724 +8724,8724,8725 +8725,8725,8726 +8726,8726,8727 +8727,8727,8728 +8728,8728,8729 +8729,8729,8730 +8730,8730,8731 +8731,8731,8732 +8732,8732,8733 +8733,8733,8734 +8734,8734,8735 +8735,8735,8736 +8736,8736,8737 +8737,8737,8738 +8738,8738,8739 +8739,8739,8740 +8740,8740,8741 +8741,8741,8742 +8742,8742,8743 +8743,8743,8744 +8744,8744,8745 +8745,8745,8746 +8746,8746,8747 +8747,8747,8748 +8748,8748,8749 +8749,8749,8750 +8750,8750,8751 +8751,8751,8752 +8752,8752,8753 +8753,8753,8754 +8754,8754,8755 +8755,8755,8756 +8756,8756,8757 +8757,8757,8758 +8758,8758,8759 +8759,8759,8760 +8760,8760,8761 +8761,8761,8762 +8762,8762,8763 +8763,8763,8764 +8764,8764,8765 +8765,8765,8766 +8766,8766,8767 +8767,8767,8768 +8768,8768,8769 +8769,8769,8770 +8770,8770,8771 +8771,8771,8772 +8772,8772,8773 +8773,8773,8774 +8774,8774,8775 +8775,8775,8776 +8776,8776,8777 +8777,8777,8778 +8778,8778,8779 +8779,8779,8780 +8780,8780,8781 +8781,8781,8782 +8782,8782,8783 +8783,8783,8784 +8784,8784,8785 +8785,8785,8786 +8786,8786,8787 +8787,8787,8788 +8788,8788,8789 +8789,8789,8790 +8790,8790,8791 +8791,8791,8792 +8792,8792,8793 +8793,8793,8794 +8794,8794,8795 +8795,8795,8796 +8796,8796,8797 +8797,8797,8798 +8798,8798,8799 +8799,8799,8800 +8800,8800,8801 +8801,8801,8802 +8802,8802,8803 +8803,8803,8804 +8804,8804,8805 +8805,8805,8806 +8806,8806,8807 +8807,8807,8808 +8808,8808,8809 +8809,8809,8810 +8810,8810,8811 +8811,8811,8812 +8812,8812,8813 +8813,8813,8814 +8814,8814,8815 +8815,8815,8816 +8816,8816,8817 +8817,8817,8818 +8818,8818,8819 +8819,8819,8820 +8820,8820,8821 +8821,8821,8822 +8822,8822,8823 +8823,8823,8824 +8824,8824,8825 +8825,8825,8826 +8826,8826,8827 +8827,8827,8828 +8828,8828,8829 +8829,8829,8830 +8830,8830,8831 +8831,8831,8832 +8832,8832,8833 +8833,8833,8834 +8834,8834,8835 +8835,8835,8836 +8836,8836,8837 +8837,8837,8838 +8838,8838,8839 +8839,8839,8840 +8840,8840,8841 +8841,8841,8842 +8842,8842,8843 +8843,8843,8844 +8844,8844,8845 +8845,8845,8846 +8846,8846,8847 +8847,8847,8848 +8848,8848,8849 +8849,8849,8850 +8850,8850,8851 +8851,8851,8852 +8852,8852,8853 +8853,8853,8854 +8854,8854,8855 +8855,8855,8856 +8856,8856,8857 +8857,8857,8858 +8858,8858,8859 +8859,8859,8860 +8860,8860,8861 +8861,8861,8862 +8862,8862,8863 +8863,8863,8864 +8864,8864,8865 +8865,8865,8866 +8866,8866,8867 +8867,8867,8868 +8868,8868,8869 +8869,8869,8870 +8870,8870,8871 +8871,8871,8872 +8872,8872,8873 +8873,8873,8874 +8874,8874,8875 +8875,8875,8876 +8876,8876,8877 +8877,8877,8878 +8878,8878,8879 +8879,8879,8880 +8880,8880,8881 +8881,8881,8882 +8882,8882,8883 +8883,8883,8884 +8884,8884,8885 +8885,8885,8886 +8886,8886,8887 +8887,8887,8888 +8888,8888,8889 +8889,8889,8890 +8890,8890,8891 +8891,8891,8892 +8892,8892,8893 +8893,8893,8894 +8894,8894,8895 +8895,8895,8896 +8896,8896,8897 +8897,8897,8898 +8898,8898,8899 +8899,8899,8900 +8900,8900,8901 +8901,8901,8902 +8902,8902,8903 +8903,8903,8904 +8904,8904,8905 +8905,8905,8906 +8906,8906,8907 +8907,8907,8908 +8908,8908,8909 +8909,8909,8910 +8910,8910,8911 +8911,8911,8912 +8912,8912,8913 +8913,8913,8914 +8914,8914,8915 +8915,8915,8916 +8916,8916,8917 +8917,8917,8918 +8918,8918,8919 +8919,8919,8920 +8920,8920,8921 +8921,8921,8922 +8922,8922,8923 +8923,8923,8924 +8924,8924,8925 +8925,8925,8926 +8926,8926,8927 +8927,8927,8928 +8928,8928,8929 +8929,8929,8930 +8930,8930,8931 +8931,8931,8932 +8932,8932,8933 +8933,8933,8934 +8934,8934,8935 +8935,8935,8936 +8936,8936,8937 +8937,8937,8938 +8938,8938,8939 +8939,8939,8940 +8940,8940,8941 +8941,8941,8942 +8942,8942,8943 +8943,8943,8944 +8944,8944,8945 +8945,8945,8946 +8946,8946,8947 +8947,8947,8948 +8948,8948,8949 +8949,8949,8950 +8950,8950,8951 +8951,8951,8952 +8952,8952,8953 +8953,8953,8954 +8954,8954,8955 +8955,8955,8956 +8956,8956,8957 +8957,8957,8958 +8958,8958,8959 +8959,8959,8960 +8960,8960,8961 +8961,8961,8962 +8962,8962,8963 +8963,8963,8964 +8964,8964,8965 +8965,8965,8966 +8966,8966,8967 +8967,8967,8968 +8968,8968,8969 +8969,8969,8970 +8970,8970,8971 +8971,8971,8972 +8972,8972,8973 +8973,8973,8974 +8974,8974,8975 +8975,8975,8976 +8976,8976,8977 +8977,8977,8978 +8978,8978,8979 +8979,8979,8980 +8980,8980,8981 +8981,8981,8982 +8982,8982,8983 +8983,8983,8984 +8984,8984,8985 +8985,8985,8986 +8986,8986,8987 +8987,8987,8988 +8988,8988,8989 +8989,8989,8990 +8990,8990,8991 +8991,8991,8992 +8992,8992,8993 +8993,8993,8994 +8994,8994,8995 +8995,8995,8996 +8996,8996,8997 +8997,8997,8998 +8998,8998,8999 +8999,8999,9000 +9000,9000,9001 +9001,9001,9002 +9002,9002,9003 +9003,9003,9004 +9004,9004,9005 +9005,9005,9006 +9006,9006,9007 +9007,9007,9008 +9008,9008,9009 +9009,9009,9010 +9010,9010,9011 +9011,9011,9012 +9012,9012,9013 +9013,9013,9014 +9014,9014,9015 +9015,9015,9016 +9016,9016,9017 +9017,9017,9018 +9018,9018,9019 +9019,9019,9020 +9020,9020,9021 +9021,9021,9022 +9022,9022,9023 +9023,9023,9024 +9024,9024,9025 +9025,9025,9026 +9026,9026,9027 +9027,9027,9028 +9028,9028,9029 +9029,9029,9030 +9030,9030,9031 +9031,9031,9032 +9032,9032,9033 +9033,9033,9034 +9034,9034,9035 +9035,9035,9036 +9036,9036,9037 +9037,9037,9038 +9038,9038,9039 +9039,9039,9040 +9040,9040,9041 +9041,9041,9042 +9042,9042,9043 +9043,9043,9044 +9044,9044,9045 +9045,9045,9046 +9046,9046,9047 +9047,9047,9048 +9048,9048,9049 +9049,9049,9050 +9050,9050,9051 +9051,9051,9052 +9052,9052,9053 +9053,9053,9054 +9054,9054,9055 +9055,9055,9056 +9056,9056,9057 +9057,9057,9058 +9058,9058,9059 +9059,9059,9060 +9060,9060,9061 +9061,9061,9062 +9062,9062,9063 +9063,9063,9064 +9064,9064,9065 +9065,9065,9066 +9066,9066,9067 +9067,9067,9068 +9068,9068,9069 +9069,9069,9070 +9070,9070,9071 +9071,9071,9072 +9072,9072,9073 +9073,9073,9074 +9074,9074,9075 +9075,9075,9076 +9076,9076,9077 +9077,9077,9078 +9078,9078,9079 +9079,9079,9080 +9080,9080,9081 +9081,9081,9082 +9082,9082,9083 +9083,9083,9084 +9084,9084,9085 +9085,9085,9086 +9086,9086,9087 +9087,9087,9088 +9088,9088,9089 +9089,9089,9090 +9090,9090,9091 +9091,9091,9092 +9092,9092,9093 +9093,9093,9094 +9094,9094,9095 +9095,9095,9096 +9096,9096,9097 +9097,9097,9098 +9098,9098,9099 +9099,9099,9100 +9100,9100,9101 +9101,9101,9102 +9102,9102,9103 +9103,9103,9104 +9104,9104,9105 +9105,9105,9106 +9106,9106,9107 +9107,9107,9108 +9108,9108,9109 +9109,9109,9110 +9110,9110,9111 +9111,9111,9112 +9112,9112,9113 +9113,9113,9114 +9114,9114,9115 +9115,9115,9116 +9116,9116,9117 +9117,9117,9118 +9118,9118,9119 +9119,9119,9120 +9120,9120,9121 +9121,9121,9122 +9122,9122,9123 +9123,9123,9124 +9124,9124,9125 +9125,9125,9126 +9126,9126,9127 +9127,9127,9128 +9128,9128,9129 +9129,9129,9130 +9130,9130,9131 +9131,9131,9132 +9132,9132,9133 +9133,9133,9134 +9134,9134,9135 +9135,9135,9136 +9136,9136,9137 +9137,9137,9138 +9138,9138,9139 +9139,9139,9140 +9140,9140,9141 +9141,9141,9142 +9142,9142,9143 +9143,9143,9144 +9144,9144,9145 +9145,9145,9146 +9146,9146,9147 +9147,9147,9148 +9148,9148,9149 +9149,9149,9150 +9150,9150,9151 +9151,9151,9152 +9152,9152,9153 +9153,9153,9154 +9154,9154,9155 +9155,9155,9156 +9156,9156,9157 +9157,9157,9158 +9158,9158,9159 +9159,9159,9160 +9160,9160,9161 +9161,9161,9162 +9162,9162,9163 +9163,9163,9164 +9164,9164,9165 +9165,9165,9166 +9166,9166,9167 +9167,9167,9168 +9168,9168,9169 +9169,9169,9170 +9170,9170,9171 +9171,9171,9172 +9172,9172,9173 +9173,9173,9174 +9174,9174,9175 +9175,9175,9176 +9176,9176,9177 +9177,9177,9178 +9178,9178,9179 +9179,9179,9180 +9180,9180,9181 +9181,9181,9182 +9182,9182,9183 +9183,9183,9184 +9184,9184,9185 +9185,9185,9186 +9186,9186,9187 +9187,9187,9188 +9188,9188,9189 +9189,9189,9190 +9190,9190,9191 +9191,9191,9192 +9192,9192,9193 +9193,9193,9194 +9194,9194,9195 +9195,9195,9196 +9196,9196,9197 +9197,9197,9198 +9198,9198,9199 +9199,9199,9200 +9200,9200,9201 +9201,9201,9202 +9202,9202,9203 +9203,9203,9204 +9204,9204,9205 +9205,9205,9206 +9206,9206,9207 +9207,9207,9208 +9208,9208,9209 +9209,9209,9210 +9210,9210,9211 +9211,9211,9212 +9212,9212,9213 +9213,9213,9214 +9214,9214,9215 +9215,9215,9216 +9216,9216,9217 +9217,9217,9218 +9218,9218,9219 +9219,9219,9220 +9220,9220,9221 +9221,9221,9222 +9222,9222,9223 +9223,9223,9224 +9224,9224,9225 +9225,9225,9226 +9226,9226,9227 +9227,9227,9228 +9228,9228,9229 +9229,9229,9230 +9230,9230,9231 +9231,9231,9232 +9232,9232,9233 +9233,9233,9234 +9234,9234,9235 +9235,9235,9236 +9236,9236,9237 +9237,9237,9238 +9238,9238,9239 +9239,9239,9240 +9240,9240,9241 +9241,9241,9242 +9242,9242,9243 +9243,9243,9244 +9244,9244,9245 +9245,9245,9246 +9246,9246,9247 +9247,9247,9248 +9248,9248,9249 +9249,9249,9250 +9250,9250,9251 +9251,9251,9252 +9252,9252,9253 +9253,9253,9254 +9254,9254,9255 +9255,9255,9256 +9256,9256,9257 +9257,9257,9258 +9258,9258,9259 +9259,9259,9260 +9260,9260,9261 +9261,9261,9262 +9262,9262,9263 +9263,9263,9264 +9264,9264,9265 +9265,9265,9266 +9266,9266,9267 +9267,9267,9268 +9268,9268,9269 +9269,9269,9270 +9270,9270,9271 +9271,9271,9272 +9272,9272,9273 +9273,9273,9274 +9274,9274,9275 +9275,9275,9276 +9276,9276,9277 +9277,9277,9278 +9278,9278,9279 +9279,9279,9280 +9280,9280,9281 +9281,9281,9282 +9282,9282,9283 +9283,9283,9284 +9284,9284,9285 +9285,9285,9286 +9286,9286,9287 +9287,9287,9288 +9288,9288,9289 +9289,9289,9290 +9290,9290,9291 +9291,9291,9292 +9292,9292,9293 +9293,9293,9294 +9294,9294,9295 +9295,9295,9296 +9296,9296,9297 +9297,9297,9298 +9298,9298,9299 +9299,9299,9300 +9300,9300,9301 +9301,9301,9302 +9302,9302,9303 +9303,9303,9304 +9304,9304,9305 +9305,9305,9306 +9306,9306,9307 +9307,9307,9308 +9308,9308,9309 +9309,9309,9310 +9310,9310,9311 +9311,9311,9312 +9312,9312,9313 +9313,9313,9314 +9314,9314,9315 +9315,9315,9316 +9316,9316,9317 +9317,9317,9318 +9318,9318,9319 +9319,9319,9320 +9320,9320,9321 +9321,9321,9322 +9322,9322,9323 +9323,9323,9324 +9324,9324,9325 +9325,9325,9326 +9326,9326,9327 +9327,9327,9328 +9328,9328,9329 +9329,9329,9330 +9330,9330,9331 +9331,9331,9332 +9332,9332,9333 +9333,9333,9334 +9334,9334,9335 +9335,9335,9336 +9336,9336,9337 +9337,9337,9338 +9338,9338,9339 +9339,9339,9340 +9340,9340,9341 +9341,9341,9342 +9342,9342,9343 +9343,9343,9344 +9344,9344,9345 +9345,9345,9346 +9346,9346,9347 +9347,9347,9348 +9348,9348,9349 +9349,9349,9350 +9350,9350,9351 +9351,9351,9352 +9352,9352,9353 +9353,9353,9354 +9354,9354,9355 +9355,9355,9356 +9356,9356,9357 +9357,9357,9358 +9358,9358,9359 +9359,9359,9360 +9360,9360,9361 +9361,9361,9362 +9362,9362,9363 +9363,9363,9364 +9364,9364,9365 +9365,9365,9366 +9366,9366,9367 +9367,9367,9368 +9368,9368,9369 +9369,9369,9370 +9370,9370,9371 +9371,9371,9372 +9372,9372,9373 +9373,9373,9374 +9374,9374,9375 +9375,9375,9376 +9376,9376,9377 +9377,9377,9378 +9378,9378,9379 +9379,9379,9380 +9380,9380,9381 +9381,9381,9382 +9382,9382,9383 +9383,9383,9384 +9384,9384,9385 +9385,9385,9386 +9386,9386,9387 +9387,9387,9388 +9388,9388,9389 +9389,9389,9390 +9390,9390,9391 +9391,9391,9392 +9392,9392,9393 +9393,9393,9394 +9394,9394,9395 +9395,9395,9396 +9396,9396,9397 +9397,9397,9398 +9398,9398,9399 +9399,9399,9400 +9400,9400,9401 +9401,9401,9402 +9402,9402,9403 +9403,9403,9404 +9404,9404,9405 +9405,9405,9406 +9406,9406,9407 +9407,9407,9408 +9408,9408,9409 +9409,9409,9410 +9410,9410,9411 +9411,9411,9412 +9412,9412,9413 +9413,9413,9414 +9414,9414,9415 +9415,9415,9416 +9416,9416,9417 +9417,9417,9418 +9418,9418,9419 +9419,9419,9420 +9420,9420,9421 +9421,9421,9422 +9422,9422,9423 +9423,9423,9424 +9424,9424,9425 +9425,9425,9426 +9426,9426,9427 +9427,9427,9428 +9428,9428,9429 +9429,9429,9430 +9430,9430,9431 +9431,9431,9432 +9432,9432,9433 +9433,9433,9434 +9434,9434,9435 +9435,9435,9436 +9436,9436,9437 +9437,9437,9438 +9438,9438,9439 +9439,9439,9440 +9440,9440,9441 +9441,9441,9442 +9442,9442,9443 +9443,9443,9444 +9444,9444,9445 +9445,9445,9446 +9446,9446,9447 +9447,9447,9448 +9448,9448,9449 +9449,9449,9450 +9450,9450,9451 +9451,9451,9452 +9452,9452,9453 +9453,9453,9454 +9454,9454,9455 +9455,9455,9456 +9456,9456,9457 +9457,9457,9458 +9458,9458,9459 +9459,9459,9460 +9460,9460,9461 +9461,9461,9462 +9462,9462,9463 +9463,9463,9464 +9464,9464,9465 +9465,9465,9466 +9466,9466,9467 +9467,9467,9468 +9468,9468,9469 +9469,9469,9470 +9470,9470,9471 +9471,9471,9472 +9472,9472,9473 +9473,9473,9474 +9474,9474,9475 +9475,9475,9476 +9476,9476,9477 +9477,9477,9478 +9478,9478,9479 +9479,9479,9480 +9480,9480,9481 +9481,9481,9482 +9482,9482,9483 +9483,9483,9484 +9484,9484,9485 +9485,9485,9486 +9486,9486,9487 +9487,9487,9488 +9488,9488,9489 +9489,9489,9490 +9490,9490,9491 +9491,9491,9492 +9492,9492,9493 +9493,9493,9494 +9494,9494,9495 +9495,9495,9496 +9496,9496,9497 +9497,9497,9498 +9498,9498,9499 +9499,9499,9500 +9500,9500,9501 +9501,9501,9502 +9502,9502,9503 +9503,9503,9504 +9504,9504,9505 +9505,9505,9506 +9506,9506,9507 +9507,9507,9508 +9508,9508,9509 +9509,9509,9510 +9510,9510,9511 +9511,9511,9512 +9512,9512,9513 +9513,9513,9514 +9514,9514,9515 +9515,9515,9516 +9516,9516,9517 +9517,9517,9518 +9518,9518,9519 +9519,9519,9520 +9520,9520,9521 +9521,9521,9522 +9522,9522,9523 +9523,9523,9524 +9524,9524,9525 +9525,9525,9526 +9526,9526,9527 +9527,9527,9528 +9528,9528,9529 +9529,9529,9530 +9530,9530,9531 +9531,9531,9532 +9532,9532,9533 +9533,9533,9534 +9534,9534,9535 +9535,9535,9536 +9536,9536,9537 +9537,9537,9538 +9538,9538,9539 +9539,9539,9540 +9540,9540,9541 +9541,9541,9542 +9542,9542,9543 +9543,9543,9544 +9544,9544,9545 +9545,9545,9546 +9546,9546,9547 +9547,9547,9548 +9548,9548,9549 +9549,9549,9550 +9550,9550,9551 +9551,9551,9552 +9552,9552,9553 +9553,9553,9554 +9554,9554,9555 +9555,9555,9556 +9556,9556,9557 +9557,9557,9558 +9558,9558,9559 +9559,9559,9560 +9560,9560,9561 +9561,9561,9562 +9562,9562,9563 +9563,9563,9564 +9564,9564,9565 +9565,9565,9566 +9566,9566,9567 +9567,9567,9568 +9568,9568,9569 +9569,9569,9570 +9570,9570,9571 +9571,9571,9572 +9572,9572,9573 +9573,9573,9574 +9574,9574,9575 +9575,9575,9576 +9576,9576,9577 +9577,9577,9578 +9578,9578,9579 +9579,9579,9580 +9580,9580,9581 +9581,9581,9582 +9582,9582,9583 +9583,9583,9584 +9584,9584,9585 +9585,9585,9586 +9586,9586,9587 +9587,9587,9588 +9588,9588,9589 +9589,9589,9590 +9590,9590,9591 +9591,9591,9592 +9592,9592,9593 +9593,9593,9594 +9594,9594,9595 +9595,9595,9596 +9596,9596,9597 +9597,9597,9598 +9598,9598,9599 +9599,9599,9600 +9600,9600,9601 +9601,9601,9602 +9602,9602,9603 +9603,9603,9604 +9604,9604,9605 +9605,9605,9606 +9606,9606,9607 +9607,9607,9608 +9608,9608,9609 +9609,9609,9610 +9610,9610,9611 +9611,9611,9612 +9612,9612,9613 +9613,9613,9614 +9614,9614,9615 +9615,9615,9616 +9616,9616,9617 +9617,9617,9618 +9618,9618,9619 +9619,9619,9620 +9620,9620,9621 +9621,9621,9622 +9622,9622,9623 +9623,9623,9624 +9624,9624,9625 +9625,9625,9626 +9626,9626,9627 +9627,9627,9628 +9628,9628,9629 +9629,9629,9630 +9630,9630,9631 +9631,9631,9632 +9632,9632,9633 +9633,9633,9634 +9634,9634,9635 +9635,9635,9636 +9636,9636,9637 +9637,9637,9638 +9638,9638,9639 +9639,9639,9640 +9640,9640,9641 +9641,9641,9642 +9642,9642,9643 +9643,9643,9644 +9644,9644,9645 +9645,9645,9646 +9646,9646,9647 +9647,9647,9648 +9648,9648,9649 +9649,9649,9650 +9650,9650,9651 +9651,9651,9652 +9652,9652,9653 +9653,9653,9654 +9654,9654,9655 +9655,9655,9656 +9656,9656,9657 +9657,9657,9658 +9658,9658,9659 +9659,9659,9660 +9660,9660,9661 +9661,9661,9662 +9662,9662,9663 +9663,9663,9664 +9664,9664,9665 +9665,9665,9666 +9666,9666,9667 +9667,9667,9668 +9668,9668,9669 +9669,9669,9670 +9670,9670,9671 +9671,9671,9672 +9672,9672,9673 +9673,9673,9674 +9674,9674,9675 +9675,9675,9676 +9676,9676,9677 +9677,9677,9678 +9678,9678,9679 +9679,9679,9680 +9680,9680,9681 +9681,9681,9682 +9682,9682,9683 +9683,9683,9684 +9684,9684,9685 +9685,9685,9686 +9686,9686,9687 +9687,9687,9688 +9688,9688,9689 +9689,9689,9690 +9690,9690,9691 +9691,9691,9692 +9692,9692,9693 +9693,9693,9694 +9694,9694,9695 +9695,9695,9696 +9696,9696,9697 +9697,9697,9698 +9698,9698,9699 +9699,9699,9700 +9700,9700,9701 +9701,9701,9702 +9702,9702,9703 +9703,9703,9704 +9704,9704,9705 +9705,9705,9706 +9706,9706,9707 +9707,9707,9708 +9708,9708,9709 +9709,9709,9710 +9710,9710,9711 +9711,9711,9712 +9712,9712,9713 +9713,9713,9714 +9714,9714,9715 +9715,9715,9716 +9716,9716,9717 +9717,9717,9718 +9718,9718,9719 +9719,9719,9720 +9720,9720,9721 +9721,9721,9722 +9722,9722,9723 +9723,9723,9724 +9724,9724,9725 +9725,9725,9726 +9726,9726,9727 +9727,9727,9728 +9728,9728,9729 +9729,9729,9730 +9730,9730,9731 +9731,9731,9732 +9732,9732,9733 +9733,9733,9734 +9734,9734,9735 +9735,9735,9736 +9736,9736,9737 +9737,9737,9738 +9738,9738,9739 +9739,9739,9740 +9740,9740,9741 +9741,9741,9742 +9742,9742,9743 +9743,9743,9744 +9744,9744,9745 +9745,9745,9746 +9746,9746,9747 +9747,9747,9748 +9748,9748,9749 +9749,9749,9750 +9750,9750,9751 +9751,9751,9752 +9752,9752,9753 +9753,9753,9754 +9754,9754,9755 +9755,9755,9756 +9756,9756,9757 +9757,9757,9758 +9758,9758,9759 +9759,9759,9760 +9760,9760,9761 +9761,9761,9762 +9762,9762,9763 +9763,9763,9764 +9764,9764,9765 +9765,9765,9766 +9766,9766,9767 +9767,9767,9768 +9768,9768,9769 +9769,9769,9770 +9770,9770,9771 +9771,9771,9772 +9772,9772,9773 +9773,9773,9774 +9774,9774,9775 +9775,9775,9776 +9776,9776,9777 +9777,9777,9778 +9778,9778,9779 +9779,9779,9780 +9780,9780,9781 +9781,9781,9782 +9782,9782,9783 +9783,9783,9784 +9784,9784,9785 +9785,9785,9786 +9786,9786,9787 +9787,9787,9788 +9788,9788,9789 +9789,9789,9790 +9790,9790,9791 +9791,9791,9792 +9792,9792,9793 +9793,9793,9794 +9794,9794,9795 +9795,9795,9796 +9796,9796,9797 +9797,9797,9798 +9798,9798,9799 +9799,9799,9800 +9800,9800,9801 +9801,9801,9802 +9802,9802,9803 +9803,9803,9804 +9804,9804,9805 +9805,9805,9806 +9806,9806,9807 +9807,9807,9808 +9808,9808,9809 +9809,9809,9810 +9810,9810,9811 +9811,9811,9812 +9812,9812,9813 +9813,9813,9814 +9814,9814,9815 +9815,9815,9816 +9816,9816,9817 +9817,9817,9818 +9818,9818,9819 +9819,9819,9820 +9820,9820,9821 +9821,9821,9822 +9822,9822,9823 +9823,9823,9824 +9824,9824,9825 +9825,9825,9826 +9826,9826,9827 +9827,9827,9828 +9828,9828,9829 +9829,9829,9830 +9830,9830,9831 +9831,9831,9832 +9832,9832,9833 +9833,9833,9834 +9834,9834,9835 +9835,9835,9836 +9836,9836,9837 +9837,9837,9838 +9838,9838,9839 +9839,9839,9840 +9840,9840,9841 +9841,9841,9842 +9842,9842,9843 +9843,9843,9844 +9844,9844,9845 +9845,9845,9846 +9846,9846,9847 +9847,9847,9848 +9848,9848,9849 +9849,9849,9850 +9850,9850,9851 +9851,9851,9852 +9852,9852,9853 +9853,9853,9854 +9854,9854,9855 +9855,9855,9856 +9856,9856,9857 +9857,9857,9858 +9858,9858,9859 +9859,9859,9860 +9860,9860,9861 +9861,9861,9862 +9862,9862,9863 +9863,9863,9864 +9864,9864,9865 +9865,9865,9866 +9866,9866,9867 +9867,9867,9868 +9868,9868,9869 +9869,9869,9870 +9870,9870,9871 +9871,9871,9872 +9872,9872,9873 +9873,9873,9874 +9874,9874,9875 +9875,9875,9876 +9876,9876,9877 +9877,9877,9878 +9878,9878,9879 +9879,9879,9880 +9880,9880,9881 +9881,9881,9882 +9882,9882,9883 +9883,9883,9884 +9884,9884,9885 +9885,9885,9886 +9886,9886,9887 +9887,9887,9888 +9888,9888,9889 +9889,9889,9890 +9890,9890,9891 +9891,9891,9892 +9892,9892,9893 +9893,9893,9894 +9894,9894,9895 +9895,9895,9896 +9896,9896,9897 +9897,9897,9898 +9898,9898,9899 +9899,9899,9900 +9900,9900,9901 +9901,9901,9902 +9902,9902,9903 +9903,9903,9904 +9904,9904,9905 +9905,9905,9906 +9906,9906,9907 +9907,9907,9908 +9908,9908,9909 +9909,9909,9910 +9910,9910,9911 +9911,9911,9912 +9912,9912,9913 +9913,9913,9914 +9914,9914,9915 +9915,9915,9916 +9916,9916,9917 +9917,9917,9918 +9918,9918,9919 +9919,9919,9920 +9920,9920,9921 +9921,9921,9922 +9922,9922,9923 +9923,9923,9924 +9924,9924,9925 +9925,9925,9926 +9926,9926,9927 +9927,9927,9928 +9928,9928,9929 +9929,9929,9930 +9930,9930,9931 +9931,9931,9932 +9932,9932,9933 +9933,9933,9934 +9934,9934,9935 +9935,9935,9936 +9936,9936,9937 +9937,9937,9938 +9938,9938,9939 +9939,9939,9940 +9940,9940,9941 +9941,9941,9942 +9942,9942,9943 +9943,9943,9944 +9944,9944,9945 +9945,9945,9946 +9946,9946,9947 +9947,9947,9948 +9948,9948,9949 +9949,9949,9950 +9950,9950,9951 +9951,9951,9952 +9952,9952,9953 +9953,9953,9954 +9954,9954,9955 +9955,9955,9956 +9956,9956,9957 +9957,9957,9958 +9958,9958,9959 +9959,9959,9960 +9960,9960,9961 +9961,9961,9962 +9962,9962,9963 +9963,9963,9964 +9964,9964,9965 +9965,9965,9966 +9966,9966,9967 +9967,9967,9968 +9968,9968,9969 +9969,9969,9970 +9970,9970,9971 +9971,9971,9972 +9972,9972,9973 +9973,9973,9974 +9974,9974,9975 +9975,9975,9976 +9976,9976,9977 +9977,9977,9978 +9978,9978,9979 +9979,9979,9980 +9980,9980,9981 +9981,9981,9982 +9982,9982,9983 +9983,9983,9984 +9984,9984,9985 +9985,9985,9986 +9986,9986,9987 +9987,9987,9988 +9988,9988,9989 +9989,9989,9990 +9990,9990,9991 +9991,9991,9992 +9992,9992,9993 +9993,9993,9994 +9994,9994,9995 +9995,9995,9996 +9996,9996,9997 +9997,9997,9998 +9998,9998,9999 +9999,9999,10000 +10000,10000,10001 \ No newline at end of file diff --git a/regression-test/data/unique_with_mow_p0/partial_update/10000_update_1.csv b/regression-test/data/unique_with_mow_p0/partial_update/10000_update_1.csv new file mode 100644 index 0000000000..2f14a2ce4b --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/10000_update_1.csv @@ -0,0 +1,10001 @@ +0,0 +1,2 +2,4 +3,6 +4,8 +5,10 +6,12 +7,14 +8,16 +9,18 +10,20 +11,22 +12,24 +13,26 +14,28 +15,30 +16,32 +17,34 +18,36 +19,38 +20,40 +21,42 +22,44 +23,46 +24,48 +25,50 +26,52 +27,54 +28,56 +29,58 +30,60 +31,62 +32,64 +33,66 +34,68 +35,70 +36,72 +37,74 +38,76 +39,78 +40,80 +41,82 +42,84 +43,86 +44,88 +45,90 +46,92 +47,94 +48,96 +49,98 +50,100 +51,102 +52,104 +53,106 +54,108 +55,110 +56,112 +57,114 +58,116 +59,118 +60,120 +61,122 +62,124 +63,126 +64,128 +65,130 +66,132 +67,134 +68,136 +69,138 +70,140 +71,142 +72,144 +73,146 +74,148 +75,150 +76,152 +77,154 +78,156 +79,158 +80,160 +81,162 +82,164 +83,166 +84,168 +85,170 +86,172 +87,174 +88,176 +89,178 +90,180 +91,182 +92,184 +93,186 +94,188 +95,190 +96,192 +97,194 +98,196 +99,198 +100,200 +101,202 +102,204 +103,206 +104,208 +105,210 +106,212 +107,214 +108,216 +109,218 +110,220 +111,222 +112,224 +113,226 +114,228 +115,230 +116,232 +117,234 +118,236 +119,238 +120,240 +121,242 +122,244 +123,246 +124,248 +125,250 +126,252 +127,254 +128,256 +129,258 +130,260 +131,262 +132,264 +133,266 +134,268 +135,270 +136,272 +137,274 +138,276 +139,278 +140,280 +141,282 +142,284 +143,286 +144,288 +145,290 +146,292 +147,294 +148,296 +149,298 +150,300 +151,302 +152,304 +153,306 +154,308 +155,310 +156,312 +157,314 +158,316 +159,318 +160,320 +161,322 +162,324 +163,326 +164,328 +165,330 +166,332 +167,334 +168,336 +169,338 +170,340 +171,342 +172,344 +173,346 +174,348 +175,350 +176,352 +177,354 +178,356 +179,358 +180,360 +181,362 +182,364 +183,366 +184,368 +185,370 +186,372 +187,374 +188,376 +189,378 +190,380 +191,382 +192,384 +193,386 +194,388 +195,390 +196,392 +197,394 +198,396 +199,398 +200,400 +201,402 +202,404 +203,406 +204,408 +205,410 +206,412 +207,414 +208,416 +209,418 +210,420 +211,422 +212,424 +213,426 +214,428 +215,430 +216,432 +217,434 +218,436 +219,438 +220,440 +221,442 +222,444 +223,446 +224,448 +225,450 +226,452 +227,454 +228,456 +229,458 +230,460 +231,462 +232,464 +233,466 +234,468 +235,470 +236,472 +237,474 +238,476 +239,478 +240,480 +241,482 +242,484 +243,486 +244,488 +245,490 +246,492 +247,494 +248,496 +249,498 +250,500 +251,502 +252,504 +253,506 +254,508 +255,510 +256,512 +257,514 +258,516 +259,518 +260,520 +261,522 +262,524 +263,526 +264,528 +265,530 +266,532 +267,534 +268,536 +269,538 +270,540 +271,542 +272,544 +273,546 +274,548 +275,550 +276,552 +277,554 +278,556 +279,558 +280,560 +281,562 +282,564 +283,566 +284,568 +285,570 +286,572 +287,574 +288,576 +289,578 +290,580 +291,582 +292,584 +293,586 +294,588 +295,590 +296,592 +297,594 +298,596 +299,598 +300,600 +301,602 +302,604 +303,606 +304,608 +305,610 +306,612 +307,614 +308,616 +309,618 +310,620 +311,622 +312,624 +313,626 +314,628 +315,630 +316,632 +317,634 +318,636 +319,638 +320,640 +321,642 +322,644 +323,646 +324,648 +325,650 +326,652 +327,654 +328,656 +329,658 +330,660 +331,662 +332,664 +333,666 +334,668 +335,670 +336,672 +337,674 +338,676 +339,678 +340,680 +341,682 +342,684 +343,686 +344,688 +345,690 +346,692 +347,694 +348,696 +349,698 +350,700 +351,702 +352,704 +353,706 +354,708 +355,710 +356,712 +357,714 +358,716 +359,718 +360,720 +361,722 +362,724 +363,726 +364,728 +365,730 +366,732 +367,734 +368,736 +369,738 +370,740 +371,742 +372,744 +373,746 +374,748 +375,750 +376,752 +377,754 +378,756 +379,758 +380,760 +381,762 +382,764 +383,766 +384,768 +385,770 +386,772 +387,774 +388,776 +389,778 +390,780 +391,782 +392,784 +393,786 +394,788 +395,790 +396,792 +397,794 +398,796 +399,798 +400,800 +401,802 +402,804 +403,806 +404,808 +405,810 +406,812 +407,814 +408,816 +409,818 +410,820 +411,822 +412,824 +413,826 +414,828 +415,830 +416,832 +417,834 +418,836 +419,838 +420,840 +421,842 +422,844 +423,846 +424,848 +425,850 +426,852 +427,854 +428,856 +429,858 +430,860 +431,862 +432,864 +433,866 +434,868 +435,870 +436,872 +437,874 +438,876 +439,878 +440,880 +441,882 +442,884 +443,886 +444,888 +445,890 +446,892 +447,894 +448,896 +449,898 +450,900 +451,902 +452,904 +453,906 +454,908 +455,910 +456,912 +457,914 +458,916 +459,918 +460,920 +461,922 +462,924 +463,926 +464,928 +465,930 +466,932 +467,934 +468,936 +469,938 +470,940 +471,942 +472,944 +473,946 +474,948 +475,950 +476,952 +477,954 +478,956 +479,958 +480,960 +481,962 +482,964 +483,966 +484,968 +485,970 +486,972 +487,974 +488,976 +489,978 +490,980 +491,982 +492,984 +493,986 +494,988 +495,990 +496,992 +497,994 +498,996 +499,998 +500,1000 +501,1002 +502,1004 +503,1006 +504,1008 +505,1010 +506,1012 +507,1014 +508,1016 +509,1018 +510,1020 +511,1022 +512,1024 +513,1026 +514,1028 +515,1030 +516,1032 +517,1034 +518,1036 +519,1038 +520,1040 +521,1042 +522,1044 +523,1046 +524,1048 +525,1050 +526,1052 +527,1054 +528,1056 +529,1058 +530,1060 +531,1062 +532,1064 +533,1066 +534,1068 +535,1070 +536,1072 +537,1074 +538,1076 +539,1078 +540,1080 +541,1082 +542,1084 +543,1086 +544,1088 +545,1090 +546,1092 +547,1094 +548,1096 +549,1098 +550,1100 +551,1102 +552,1104 +553,1106 +554,1108 +555,1110 +556,1112 +557,1114 +558,1116 +559,1118 +560,1120 +561,1122 +562,1124 +563,1126 +564,1128 +565,1130 +566,1132 +567,1134 +568,1136 +569,1138 +570,1140 +571,1142 +572,1144 +573,1146 +574,1148 +575,1150 +576,1152 +577,1154 +578,1156 +579,1158 +580,1160 +581,1162 +582,1164 +583,1166 +584,1168 +585,1170 +586,1172 +587,1174 +588,1176 +589,1178 +590,1180 +591,1182 +592,1184 +593,1186 +594,1188 +595,1190 +596,1192 +597,1194 +598,1196 +599,1198 +600,1200 +601,1202 +602,1204 +603,1206 +604,1208 +605,1210 +606,1212 +607,1214 +608,1216 +609,1218 +610,1220 +611,1222 +612,1224 +613,1226 +614,1228 +615,1230 +616,1232 +617,1234 +618,1236 +619,1238 +620,1240 +621,1242 +622,1244 +623,1246 +624,1248 +625,1250 +626,1252 +627,1254 +628,1256 +629,1258 +630,1260 +631,1262 +632,1264 +633,1266 +634,1268 +635,1270 +636,1272 +637,1274 +638,1276 +639,1278 +640,1280 +641,1282 +642,1284 +643,1286 +644,1288 +645,1290 +646,1292 +647,1294 +648,1296 +649,1298 +650,1300 +651,1302 +652,1304 +653,1306 +654,1308 +655,1310 +656,1312 +657,1314 +658,1316 +659,1318 +660,1320 +661,1322 +662,1324 +663,1326 +664,1328 +665,1330 +666,1332 +667,1334 +668,1336 +669,1338 +670,1340 +671,1342 +672,1344 +673,1346 +674,1348 +675,1350 +676,1352 +677,1354 +678,1356 +679,1358 +680,1360 +681,1362 +682,1364 +683,1366 +684,1368 +685,1370 +686,1372 +687,1374 +688,1376 +689,1378 +690,1380 +691,1382 +692,1384 +693,1386 +694,1388 +695,1390 +696,1392 +697,1394 +698,1396 +699,1398 +700,1400 +701,1402 +702,1404 +703,1406 +704,1408 +705,1410 +706,1412 +707,1414 +708,1416 +709,1418 +710,1420 +711,1422 +712,1424 +713,1426 +714,1428 +715,1430 +716,1432 +717,1434 +718,1436 +719,1438 +720,1440 +721,1442 +722,1444 +723,1446 +724,1448 +725,1450 +726,1452 +727,1454 +728,1456 +729,1458 +730,1460 +731,1462 +732,1464 +733,1466 +734,1468 +735,1470 +736,1472 +737,1474 +738,1476 +739,1478 +740,1480 +741,1482 +742,1484 +743,1486 +744,1488 +745,1490 +746,1492 +747,1494 +748,1496 +749,1498 +750,1500 +751,1502 +752,1504 +753,1506 +754,1508 +755,1510 +756,1512 +757,1514 +758,1516 +759,1518 +760,1520 +761,1522 +762,1524 +763,1526 +764,1528 +765,1530 +766,1532 +767,1534 +768,1536 +769,1538 +770,1540 +771,1542 +772,1544 +773,1546 +774,1548 +775,1550 +776,1552 +777,1554 +778,1556 +779,1558 +780,1560 +781,1562 +782,1564 +783,1566 +784,1568 +785,1570 +786,1572 +787,1574 +788,1576 +789,1578 +790,1580 +791,1582 +792,1584 +793,1586 +794,1588 +795,1590 +796,1592 +797,1594 +798,1596 +799,1598 +800,1600 +801,1602 +802,1604 +803,1606 +804,1608 +805,1610 +806,1612 +807,1614 +808,1616 +809,1618 +810,1620 +811,1622 +812,1624 +813,1626 +814,1628 +815,1630 +816,1632 +817,1634 +818,1636 +819,1638 +820,1640 +821,1642 +822,1644 +823,1646 +824,1648 +825,1650 +826,1652 +827,1654 +828,1656 +829,1658 +830,1660 +831,1662 +832,1664 +833,1666 +834,1668 +835,1670 +836,1672 +837,1674 +838,1676 +839,1678 +840,1680 +841,1682 +842,1684 +843,1686 +844,1688 +845,1690 +846,1692 +847,1694 +848,1696 +849,1698 +850,1700 +851,1702 +852,1704 +853,1706 +854,1708 +855,1710 +856,1712 +857,1714 +858,1716 +859,1718 +860,1720 +861,1722 +862,1724 +863,1726 +864,1728 +865,1730 +866,1732 +867,1734 +868,1736 +869,1738 +870,1740 +871,1742 +872,1744 +873,1746 +874,1748 +875,1750 +876,1752 +877,1754 +878,1756 +879,1758 +880,1760 +881,1762 +882,1764 +883,1766 +884,1768 +885,1770 +886,1772 +887,1774 +888,1776 +889,1778 +890,1780 +891,1782 +892,1784 +893,1786 +894,1788 +895,1790 +896,1792 +897,1794 +898,1796 +899,1798 +900,1800 +901,1802 +902,1804 +903,1806 +904,1808 +905,1810 +906,1812 +907,1814 +908,1816 +909,1818 +910,1820 +911,1822 +912,1824 +913,1826 +914,1828 +915,1830 +916,1832 +917,1834 +918,1836 +919,1838 +920,1840 +921,1842 +922,1844 +923,1846 +924,1848 +925,1850 +926,1852 +927,1854 +928,1856 +929,1858 +930,1860 +931,1862 +932,1864 +933,1866 +934,1868 +935,1870 +936,1872 +937,1874 +938,1876 +939,1878 +940,1880 +941,1882 +942,1884 +943,1886 +944,1888 +945,1890 +946,1892 +947,1894 +948,1896 +949,1898 +950,1900 +951,1902 +952,1904 +953,1906 +954,1908 +955,1910 +956,1912 +957,1914 +958,1916 +959,1918 +960,1920 +961,1922 +962,1924 +963,1926 +964,1928 +965,1930 +966,1932 +967,1934 +968,1936 +969,1938 +970,1940 +971,1942 +972,1944 +973,1946 +974,1948 +975,1950 +976,1952 +977,1954 +978,1956 +979,1958 +980,1960 +981,1962 +982,1964 +983,1966 +984,1968 +985,1970 +986,1972 +987,1974 +988,1976 +989,1978 +990,1980 +991,1982 +992,1984 +993,1986 +994,1988 +995,1990 +996,1992 +997,1994 +998,1996 +999,1998 +1000,2000 +1001,2002 +1002,2004 +1003,2006 +1004,2008 +1005,2010 +1006,2012 +1007,2014 +1008,2016 +1009,2018 +1010,2020 +1011,2022 +1012,2024 +1013,2026 +1014,2028 +1015,2030 +1016,2032 +1017,2034 +1018,2036 +1019,2038 +1020,2040 +1021,2042 +1022,2044 +1023,2046 +1024,2048 +1025,2050 +1026,2052 +1027,2054 +1028,2056 +1029,2058 +1030,2060 +1031,2062 +1032,2064 +1033,2066 +1034,2068 +1035,2070 +1036,2072 +1037,2074 +1038,2076 +1039,2078 +1040,2080 +1041,2082 +1042,2084 +1043,2086 +1044,2088 +1045,2090 +1046,2092 +1047,2094 +1048,2096 +1049,2098 +1050,2100 +1051,2102 +1052,2104 +1053,2106 +1054,2108 +1055,2110 +1056,2112 +1057,2114 +1058,2116 +1059,2118 +1060,2120 +1061,2122 +1062,2124 +1063,2126 +1064,2128 +1065,2130 +1066,2132 +1067,2134 +1068,2136 +1069,2138 +1070,2140 +1071,2142 +1072,2144 +1073,2146 +1074,2148 +1075,2150 +1076,2152 +1077,2154 +1078,2156 +1079,2158 +1080,2160 +1081,2162 +1082,2164 +1083,2166 +1084,2168 +1085,2170 +1086,2172 +1087,2174 +1088,2176 +1089,2178 +1090,2180 +1091,2182 +1092,2184 +1093,2186 +1094,2188 +1095,2190 +1096,2192 +1097,2194 +1098,2196 +1099,2198 +1100,2200 +1101,2202 +1102,2204 +1103,2206 +1104,2208 +1105,2210 +1106,2212 +1107,2214 +1108,2216 +1109,2218 +1110,2220 +1111,2222 +1112,2224 +1113,2226 +1114,2228 +1115,2230 +1116,2232 +1117,2234 +1118,2236 +1119,2238 +1120,2240 +1121,2242 +1122,2244 +1123,2246 +1124,2248 +1125,2250 +1126,2252 +1127,2254 +1128,2256 +1129,2258 +1130,2260 +1131,2262 +1132,2264 +1133,2266 +1134,2268 +1135,2270 +1136,2272 +1137,2274 +1138,2276 +1139,2278 +1140,2280 +1141,2282 +1142,2284 +1143,2286 +1144,2288 +1145,2290 +1146,2292 +1147,2294 +1148,2296 +1149,2298 +1150,2300 +1151,2302 +1152,2304 +1153,2306 +1154,2308 +1155,2310 +1156,2312 +1157,2314 +1158,2316 +1159,2318 +1160,2320 +1161,2322 +1162,2324 +1163,2326 +1164,2328 +1165,2330 +1166,2332 +1167,2334 +1168,2336 +1169,2338 +1170,2340 +1171,2342 +1172,2344 +1173,2346 +1174,2348 +1175,2350 +1176,2352 +1177,2354 +1178,2356 +1179,2358 +1180,2360 +1181,2362 +1182,2364 +1183,2366 +1184,2368 +1185,2370 +1186,2372 +1187,2374 +1188,2376 +1189,2378 +1190,2380 +1191,2382 +1192,2384 +1193,2386 +1194,2388 +1195,2390 +1196,2392 +1197,2394 +1198,2396 +1199,2398 +1200,2400 +1201,2402 +1202,2404 +1203,2406 +1204,2408 +1205,2410 +1206,2412 +1207,2414 +1208,2416 +1209,2418 +1210,2420 +1211,2422 +1212,2424 +1213,2426 +1214,2428 +1215,2430 +1216,2432 +1217,2434 +1218,2436 +1219,2438 +1220,2440 +1221,2442 +1222,2444 +1223,2446 +1224,2448 +1225,2450 +1226,2452 +1227,2454 +1228,2456 +1229,2458 +1230,2460 +1231,2462 +1232,2464 +1233,2466 +1234,2468 +1235,2470 +1236,2472 +1237,2474 +1238,2476 +1239,2478 +1240,2480 +1241,2482 +1242,2484 +1243,2486 +1244,2488 +1245,2490 +1246,2492 +1247,2494 +1248,2496 +1249,2498 +1250,2500 +1251,2502 +1252,2504 +1253,2506 +1254,2508 +1255,2510 +1256,2512 +1257,2514 +1258,2516 +1259,2518 +1260,2520 +1261,2522 +1262,2524 +1263,2526 +1264,2528 +1265,2530 +1266,2532 +1267,2534 +1268,2536 +1269,2538 +1270,2540 +1271,2542 +1272,2544 +1273,2546 +1274,2548 +1275,2550 +1276,2552 +1277,2554 +1278,2556 +1279,2558 +1280,2560 +1281,2562 +1282,2564 +1283,2566 +1284,2568 +1285,2570 +1286,2572 +1287,2574 +1288,2576 +1289,2578 +1290,2580 +1291,2582 +1292,2584 +1293,2586 +1294,2588 +1295,2590 +1296,2592 +1297,2594 +1298,2596 +1299,2598 +1300,2600 +1301,2602 +1302,2604 +1303,2606 +1304,2608 +1305,2610 +1306,2612 +1307,2614 +1308,2616 +1309,2618 +1310,2620 +1311,2622 +1312,2624 +1313,2626 +1314,2628 +1315,2630 +1316,2632 +1317,2634 +1318,2636 +1319,2638 +1320,2640 +1321,2642 +1322,2644 +1323,2646 +1324,2648 +1325,2650 +1326,2652 +1327,2654 +1328,2656 +1329,2658 +1330,2660 +1331,2662 +1332,2664 +1333,2666 +1334,2668 +1335,2670 +1336,2672 +1337,2674 +1338,2676 +1339,2678 +1340,2680 +1341,2682 +1342,2684 +1343,2686 +1344,2688 +1345,2690 +1346,2692 +1347,2694 +1348,2696 +1349,2698 +1350,2700 +1351,2702 +1352,2704 +1353,2706 +1354,2708 +1355,2710 +1356,2712 +1357,2714 +1358,2716 +1359,2718 +1360,2720 +1361,2722 +1362,2724 +1363,2726 +1364,2728 +1365,2730 +1366,2732 +1367,2734 +1368,2736 +1369,2738 +1370,2740 +1371,2742 +1372,2744 +1373,2746 +1374,2748 +1375,2750 +1376,2752 +1377,2754 +1378,2756 +1379,2758 +1380,2760 +1381,2762 +1382,2764 +1383,2766 +1384,2768 +1385,2770 +1386,2772 +1387,2774 +1388,2776 +1389,2778 +1390,2780 +1391,2782 +1392,2784 +1393,2786 +1394,2788 +1395,2790 +1396,2792 +1397,2794 +1398,2796 +1399,2798 +1400,2800 +1401,2802 +1402,2804 +1403,2806 +1404,2808 +1405,2810 +1406,2812 +1407,2814 +1408,2816 +1409,2818 +1410,2820 +1411,2822 +1412,2824 +1413,2826 +1414,2828 +1415,2830 +1416,2832 +1417,2834 +1418,2836 +1419,2838 +1420,2840 +1421,2842 +1422,2844 +1423,2846 +1424,2848 +1425,2850 +1426,2852 +1427,2854 +1428,2856 +1429,2858 +1430,2860 +1431,2862 +1432,2864 +1433,2866 +1434,2868 +1435,2870 +1436,2872 +1437,2874 +1438,2876 +1439,2878 +1440,2880 +1441,2882 +1442,2884 +1443,2886 +1444,2888 +1445,2890 +1446,2892 +1447,2894 +1448,2896 +1449,2898 +1450,2900 +1451,2902 +1452,2904 +1453,2906 +1454,2908 +1455,2910 +1456,2912 +1457,2914 +1458,2916 +1459,2918 +1460,2920 +1461,2922 +1462,2924 +1463,2926 +1464,2928 +1465,2930 +1466,2932 +1467,2934 +1468,2936 +1469,2938 +1470,2940 +1471,2942 +1472,2944 +1473,2946 +1474,2948 +1475,2950 +1476,2952 +1477,2954 +1478,2956 +1479,2958 +1480,2960 +1481,2962 +1482,2964 +1483,2966 +1484,2968 +1485,2970 +1486,2972 +1487,2974 +1488,2976 +1489,2978 +1490,2980 +1491,2982 +1492,2984 +1493,2986 +1494,2988 +1495,2990 +1496,2992 +1497,2994 +1498,2996 +1499,2998 +1500,3000 +1501,3002 +1502,3004 +1503,3006 +1504,3008 +1505,3010 +1506,3012 +1507,3014 +1508,3016 +1509,3018 +1510,3020 +1511,3022 +1512,3024 +1513,3026 +1514,3028 +1515,3030 +1516,3032 +1517,3034 +1518,3036 +1519,3038 +1520,3040 +1521,3042 +1522,3044 +1523,3046 +1524,3048 +1525,3050 +1526,3052 +1527,3054 +1528,3056 +1529,3058 +1530,3060 +1531,3062 +1532,3064 +1533,3066 +1534,3068 +1535,3070 +1536,3072 +1537,3074 +1538,3076 +1539,3078 +1540,3080 +1541,3082 +1542,3084 +1543,3086 +1544,3088 +1545,3090 +1546,3092 +1547,3094 +1548,3096 +1549,3098 +1550,3100 +1551,3102 +1552,3104 +1553,3106 +1554,3108 +1555,3110 +1556,3112 +1557,3114 +1558,3116 +1559,3118 +1560,3120 +1561,3122 +1562,3124 +1563,3126 +1564,3128 +1565,3130 +1566,3132 +1567,3134 +1568,3136 +1569,3138 +1570,3140 +1571,3142 +1572,3144 +1573,3146 +1574,3148 +1575,3150 +1576,3152 +1577,3154 +1578,3156 +1579,3158 +1580,3160 +1581,3162 +1582,3164 +1583,3166 +1584,3168 +1585,3170 +1586,3172 +1587,3174 +1588,3176 +1589,3178 +1590,3180 +1591,3182 +1592,3184 +1593,3186 +1594,3188 +1595,3190 +1596,3192 +1597,3194 +1598,3196 +1599,3198 +1600,3200 +1601,3202 +1602,3204 +1603,3206 +1604,3208 +1605,3210 +1606,3212 +1607,3214 +1608,3216 +1609,3218 +1610,3220 +1611,3222 +1612,3224 +1613,3226 +1614,3228 +1615,3230 +1616,3232 +1617,3234 +1618,3236 +1619,3238 +1620,3240 +1621,3242 +1622,3244 +1623,3246 +1624,3248 +1625,3250 +1626,3252 +1627,3254 +1628,3256 +1629,3258 +1630,3260 +1631,3262 +1632,3264 +1633,3266 +1634,3268 +1635,3270 +1636,3272 +1637,3274 +1638,3276 +1639,3278 +1640,3280 +1641,3282 +1642,3284 +1643,3286 +1644,3288 +1645,3290 +1646,3292 +1647,3294 +1648,3296 +1649,3298 +1650,3300 +1651,3302 +1652,3304 +1653,3306 +1654,3308 +1655,3310 +1656,3312 +1657,3314 +1658,3316 +1659,3318 +1660,3320 +1661,3322 +1662,3324 +1663,3326 +1664,3328 +1665,3330 +1666,3332 +1667,3334 +1668,3336 +1669,3338 +1670,3340 +1671,3342 +1672,3344 +1673,3346 +1674,3348 +1675,3350 +1676,3352 +1677,3354 +1678,3356 +1679,3358 +1680,3360 +1681,3362 +1682,3364 +1683,3366 +1684,3368 +1685,3370 +1686,3372 +1687,3374 +1688,3376 +1689,3378 +1690,3380 +1691,3382 +1692,3384 +1693,3386 +1694,3388 +1695,3390 +1696,3392 +1697,3394 +1698,3396 +1699,3398 +1700,3400 +1701,3402 +1702,3404 +1703,3406 +1704,3408 +1705,3410 +1706,3412 +1707,3414 +1708,3416 +1709,3418 +1710,3420 +1711,3422 +1712,3424 +1713,3426 +1714,3428 +1715,3430 +1716,3432 +1717,3434 +1718,3436 +1719,3438 +1720,3440 +1721,3442 +1722,3444 +1723,3446 +1724,3448 +1725,3450 +1726,3452 +1727,3454 +1728,3456 +1729,3458 +1730,3460 +1731,3462 +1732,3464 +1733,3466 +1734,3468 +1735,3470 +1736,3472 +1737,3474 +1738,3476 +1739,3478 +1740,3480 +1741,3482 +1742,3484 +1743,3486 +1744,3488 +1745,3490 +1746,3492 +1747,3494 +1748,3496 +1749,3498 +1750,3500 +1751,3502 +1752,3504 +1753,3506 +1754,3508 +1755,3510 +1756,3512 +1757,3514 +1758,3516 +1759,3518 +1760,3520 +1761,3522 +1762,3524 +1763,3526 +1764,3528 +1765,3530 +1766,3532 +1767,3534 +1768,3536 +1769,3538 +1770,3540 +1771,3542 +1772,3544 +1773,3546 +1774,3548 +1775,3550 +1776,3552 +1777,3554 +1778,3556 +1779,3558 +1780,3560 +1781,3562 +1782,3564 +1783,3566 +1784,3568 +1785,3570 +1786,3572 +1787,3574 +1788,3576 +1789,3578 +1790,3580 +1791,3582 +1792,3584 +1793,3586 +1794,3588 +1795,3590 +1796,3592 +1797,3594 +1798,3596 +1799,3598 +1800,3600 +1801,3602 +1802,3604 +1803,3606 +1804,3608 +1805,3610 +1806,3612 +1807,3614 +1808,3616 +1809,3618 +1810,3620 +1811,3622 +1812,3624 +1813,3626 +1814,3628 +1815,3630 +1816,3632 +1817,3634 +1818,3636 +1819,3638 +1820,3640 +1821,3642 +1822,3644 +1823,3646 +1824,3648 +1825,3650 +1826,3652 +1827,3654 +1828,3656 +1829,3658 +1830,3660 +1831,3662 +1832,3664 +1833,3666 +1834,3668 +1835,3670 +1836,3672 +1837,3674 +1838,3676 +1839,3678 +1840,3680 +1841,3682 +1842,3684 +1843,3686 +1844,3688 +1845,3690 +1846,3692 +1847,3694 +1848,3696 +1849,3698 +1850,3700 +1851,3702 +1852,3704 +1853,3706 +1854,3708 +1855,3710 +1856,3712 +1857,3714 +1858,3716 +1859,3718 +1860,3720 +1861,3722 +1862,3724 +1863,3726 +1864,3728 +1865,3730 +1866,3732 +1867,3734 +1868,3736 +1869,3738 +1870,3740 +1871,3742 +1872,3744 +1873,3746 +1874,3748 +1875,3750 +1876,3752 +1877,3754 +1878,3756 +1879,3758 +1880,3760 +1881,3762 +1882,3764 +1883,3766 +1884,3768 +1885,3770 +1886,3772 +1887,3774 +1888,3776 +1889,3778 +1890,3780 +1891,3782 +1892,3784 +1893,3786 +1894,3788 +1895,3790 +1896,3792 +1897,3794 +1898,3796 +1899,3798 +1900,3800 +1901,3802 +1902,3804 +1903,3806 +1904,3808 +1905,3810 +1906,3812 +1907,3814 +1908,3816 +1909,3818 +1910,3820 +1911,3822 +1912,3824 +1913,3826 +1914,3828 +1915,3830 +1916,3832 +1917,3834 +1918,3836 +1919,3838 +1920,3840 +1921,3842 +1922,3844 +1923,3846 +1924,3848 +1925,3850 +1926,3852 +1927,3854 +1928,3856 +1929,3858 +1930,3860 +1931,3862 +1932,3864 +1933,3866 +1934,3868 +1935,3870 +1936,3872 +1937,3874 +1938,3876 +1939,3878 +1940,3880 +1941,3882 +1942,3884 +1943,3886 +1944,3888 +1945,3890 +1946,3892 +1947,3894 +1948,3896 +1949,3898 +1950,3900 +1951,3902 +1952,3904 +1953,3906 +1954,3908 +1955,3910 +1956,3912 +1957,3914 +1958,3916 +1959,3918 +1960,3920 +1961,3922 +1962,3924 +1963,3926 +1964,3928 +1965,3930 +1966,3932 +1967,3934 +1968,3936 +1969,3938 +1970,3940 +1971,3942 +1972,3944 +1973,3946 +1974,3948 +1975,3950 +1976,3952 +1977,3954 +1978,3956 +1979,3958 +1980,3960 +1981,3962 +1982,3964 +1983,3966 +1984,3968 +1985,3970 +1986,3972 +1987,3974 +1988,3976 +1989,3978 +1990,3980 +1991,3982 +1992,3984 +1993,3986 +1994,3988 +1995,3990 +1996,3992 +1997,3994 +1998,3996 +1999,3998 +2000,4000 +2001,4002 +2002,4004 +2003,4006 +2004,4008 +2005,4010 +2006,4012 +2007,4014 +2008,4016 +2009,4018 +2010,4020 +2011,4022 +2012,4024 +2013,4026 +2014,4028 +2015,4030 +2016,4032 +2017,4034 +2018,4036 +2019,4038 +2020,4040 +2021,4042 +2022,4044 +2023,4046 +2024,4048 +2025,4050 +2026,4052 +2027,4054 +2028,4056 +2029,4058 +2030,4060 +2031,4062 +2032,4064 +2033,4066 +2034,4068 +2035,4070 +2036,4072 +2037,4074 +2038,4076 +2039,4078 +2040,4080 +2041,4082 +2042,4084 +2043,4086 +2044,4088 +2045,4090 +2046,4092 +2047,4094 +2048,4096 +2049,4098 +2050,4100 +2051,4102 +2052,4104 +2053,4106 +2054,4108 +2055,4110 +2056,4112 +2057,4114 +2058,4116 +2059,4118 +2060,4120 +2061,4122 +2062,4124 +2063,4126 +2064,4128 +2065,4130 +2066,4132 +2067,4134 +2068,4136 +2069,4138 +2070,4140 +2071,4142 +2072,4144 +2073,4146 +2074,4148 +2075,4150 +2076,4152 +2077,4154 +2078,4156 +2079,4158 +2080,4160 +2081,4162 +2082,4164 +2083,4166 +2084,4168 +2085,4170 +2086,4172 +2087,4174 +2088,4176 +2089,4178 +2090,4180 +2091,4182 +2092,4184 +2093,4186 +2094,4188 +2095,4190 +2096,4192 +2097,4194 +2098,4196 +2099,4198 +2100,4200 +2101,4202 +2102,4204 +2103,4206 +2104,4208 +2105,4210 +2106,4212 +2107,4214 +2108,4216 +2109,4218 +2110,4220 +2111,4222 +2112,4224 +2113,4226 +2114,4228 +2115,4230 +2116,4232 +2117,4234 +2118,4236 +2119,4238 +2120,4240 +2121,4242 +2122,4244 +2123,4246 +2124,4248 +2125,4250 +2126,4252 +2127,4254 +2128,4256 +2129,4258 +2130,4260 +2131,4262 +2132,4264 +2133,4266 +2134,4268 +2135,4270 +2136,4272 +2137,4274 +2138,4276 +2139,4278 +2140,4280 +2141,4282 +2142,4284 +2143,4286 +2144,4288 +2145,4290 +2146,4292 +2147,4294 +2148,4296 +2149,4298 +2150,4300 +2151,4302 +2152,4304 +2153,4306 +2154,4308 +2155,4310 +2156,4312 +2157,4314 +2158,4316 +2159,4318 +2160,4320 +2161,4322 +2162,4324 +2163,4326 +2164,4328 +2165,4330 +2166,4332 +2167,4334 +2168,4336 +2169,4338 +2170,4340 +2171,4342 +2172,4344 +2173,4346 +2174,4348 +2175,4350 +2176,4352 +2177,4354 +2178,4356 +2179,4358 +2180,4360 +2181,4362 +2182,4364 +2183,4366 +2184,4368 +2185,4370 +2186,4372 +2187,4374 +2188,4376 +2189,4378 +2190,4380 +2191,4382 +2192,4384 +2193,4386 +2194,4388 +2195,4390 +2196,4392 +2197,4394 +2198,4396 +2199,4398 +2200,4400 +2201,4402 +2202,4404 +2203,4406 +2204,4408 +2205,4410 +2206,4412 +2207,4414 +2208,4416 +2209,4418 +2210,4420 +2211,4422 +2212,4424 +2213,4426 +2214,4428 +2215,4430 +2216,4432 +2217,4434 +2218,4436 +2219,4438 +2220,4440 +2221,4442 +2222,4444 +2223,4446 +2224,4448 +2225,4450 +2226,4452 +2227,4454 +2228,4456 +2229,4458 +2230,4460 +2231,4462 +2232,4464 +2233,4466 +2234,4468 +2235,4470 +2236,4472 +2237,4474 +2238,4476 +2239,4478 +2240,4480 +2241,4482 +2242,4484 +2243,4486 +2244,4488 +2245,4490 +2246,4492 +2247,4494 +2248,4496 +2249,4498 +2250,4500 +2251,4502 +2252,4504 +2253,4506 +2254,4508 +2255,4510 +2256,4512 +2257,4514 +2258,4516 +2259,4518 +2260,4520 +2261,4522 +2262,4524 +2263,4526 +2264,4528 +2265,4530 +2266,4532 +2267,4534 +2268,4536 +2269,4538 +2270,4540 +2271,4542 +2272,4544 +2273,4546 +2274,4548 +2275,4550 +2276,4552 +2277,4554 +2278,4556 +2279,4558 +2280,4560 +2281,4562 +2282,4564 +2283,4566 +2284,4568 +2285,4570 +2286,4572 +2287,4574 +2288,4576 +2289,4578 +2290,4580 +2291,4582 +2292,4584 +2293,4586 +2294,4588 +2295,4590 +2296,4592 +2297,4594 +2298,4596 +2299,4598 +2300,4600 +2301,4602 +2302,4604 +2303,4606 +2304,4608 +2305,4610 +2306,4612 +2307,4614 +2308,4616 +2309,4618 +2310,4620 +2311,4622 +2312,4624 +2313,4626 +2314,4628 +2315,4630 +2316,4632 +2317,4634 +2318,4636 +2319,4638 +2320,4640 +2321,4642 +2322,4644 +2323,4646 +2324,4648 +2325,4650 +2326,4652 +2327,4654 +2328,4656 +2329,4658 +2330,4660 +2331,4662 +2332,4664 +2333,4666 +2334,4668 +2335,4670 +2336,4672 +2337,4674 +2338,4676 +2339,4678 +2340,4680 +2341,4682 +2342,4684 +2343,4686 +2344,4688 +2345,4690 +2346,4692 +2347,4694 +2348,4696 +2349,4698 +2350,4700 +2351,4702 +2352,4704 +2353,4706 +2354,4708 +2355,4710 +2356,4712 +2357,4714 +2358,4716 +2359,4718 +2360,4720 +2361,4722 +2362,4724 +2363,4726 +2364,4728 +2365,4730 +2366,4732 +2367,4734 +2368,4736 +2369,4738 +2370,4740 +2371,4742 +2372,4744 +2373,4746 +2374,4748 +2375,4750 +2376,4752 +2377,4754 +2378,4756 +2379,4758 +2380,4760 +2381,4762 +2382,4764 +2383,4766 +2384,4768 +2385,4770 +2386,4772 +2387,4774 +2388,4776 +2389,4778 +2390,4780 +2391,4782 +2392,4784 +2393,4786 +2394,4788 +2395,4790 +2396,4792 +2397,4794 +2398,4796 +2399,4798 +2400,4800 +2401,4802 +2402,4804 +2403,4806 +2404,4808 +2405,4810 +2406,4812 +2407,4814 +2408,4816 +2409,4818 +2410,4820 +2411,4822 +2412,4824 +2413,4826 +2414,4828 +2415,4830 +2416,4832 +2417,4834 +2418,4836 +2419,4838 +2420,4840 +2421,4842 +2422,4844 +2423,4846 +2424,4848 +2425,4850 +2426,4852 +2427,4854 +2428,4856 +2429,4858 +2430,4860 +2431,4862 +2432,4864 +2433,4866 +2434,4868 +2435,4870 +2436,4872 +2437,4874 +2438,4876 +2439,4878 +2440,4880 +2441,4882 +2442,4884 +2443,4886 +2444,4888 +2445,4890 +2446,4892 +2447,4894 +2448,4896 +2449,4898 +2450,4900 +2451,4902 +2452,4904 +2453,4906 +2454,4908 +2455,4910 +2456,4912 +2457,4914 +2458,4916 +2459,4918 +2460,4920 +2461,4922 +2462,4924 +2463,4926 +2464,4928 +2465,4930 +2466,4932 +2467,4934 +2468,4936 +2469,4938 +2470,4940 +2471,4942 +2472,4944 +2473,4946 +2474,4948 +2475,4950 +2476,4952 +2477,4954 +2478,4956 +2479,4958 +2480,4960 +2481,4962 +2482,4964 +2483,4966 +2484,4968 +2485,4970 +2486,4972 +2487,4974 +2488,4976 +2489,4978 +2490,4980 +2491,4982 +2492,4984 +2493,4986 +2494,4988 +2495,4990 +2496,4992 +2497,4994 +2498,4996 +2499,4998 +2500,5000 +2501,5002 +2502,5004 +2503,5006 +2504,5008 +2505,5010 +2506,5012 +2507,5014 +2508,5016 +2509,5018 +2510,5020 +2511,5022 +2512,5024 +2513,5026 +2514,5028 +2515,5030 +2516,5032 +2517,5034 +2518,5036 +2519,5038 +2520,5040 +2521,5042 +2522,5044 +2523,5046 +2524,5048 +2525,5050 +2526,5052 +2527,5054 +2528,5056 +2529,5058 +2530,5060 +2531,5062 +2532,5064 +2533,5066 +2534,5068 +2535,5070 +2536,5072 +2537,5074 +2538,5076 +2539,5078 +2540,5080 +2541,5082 +2542,5084 +2543,5086 +2544,5088 +2545,5090 +2546,5092 +2547,5094 +2548,5096 +2549,5098 +2550,5100 +2551,5102 +2552,5104 +2553,5106 +2554,5108 +2555,5110 +2556,5112 +2557,5114 +2558,5116 +2559,5118 +2560,5120 +2561,5122 +2562,5124 +2563,5126 +2564,5128 +2565,5130 +2566,5132 +2567,5134 +2568,5136 +2569,5138 +2570,5140 +2571,5142 +2572,5144 +2573,5146 +2574,5148 +2575,5150 +2576,5152 +2577,5154 +2578,5156 +2579,5158 +2580,5160 +2581,5162 +2582,5164 +2583,5166 +2584,5168 +2585,5170 +2586,5172 +2587,5174 +2588,5176 +2589,5178 +2590,5180 +2591,5182 +2592,5184 +2593,5186 +2594,5188 +2595,5190 +2596,5192 +2597,5194 +2598,5196 +2599,5198 +2600,5200 +2601,5202 +2602,5204 +2603,5206 +2604,5208 +2605,5210 +2606,5212 +2607,5214 +2608,5216 +2609,5218 +2610,5220 +2611,5222 +2612,5224 +2613,5226 +2614,5228 +2615,5230 +2616,5232 +2617,5234 +2618,5236 +2619,5238 +2620,5240 +2621,5242 +2622,5244 +2623,5246 +2624,5248 +2625,5250 +2626,5252 +2627,5254 +2628,5256 +2629,5258 +2630,5260 +2631,5262 +2632,5264 +2633,5266 +2634,5268 +2635,5270 +2636,5272 +2637,5274 +2638,5276 +2639,5278 +2640,5280 +2641,5282 +2642,5284 +2643,5286 +2644,5288 +2645,5290 +2646,5292 +2647,5294 +2648,5296 +2649,5298 +2650,5300 +2651,5302 +2652,5304 +2653,5306 +2654,5308 +2655,5310 +2656,5312 +2657,5314 +2658,5316 +2659,5318 +2660,5320 +2661,5322 +2662,5324 +2663,5326 +2664,5328 +2665,5330 +2666,5332 +2667,5334 +2668,5336 +2669,5338 +2670,5340 +2671,5342 +2672,5344 +2673,5346 +2674,5348 +2675,5350 +2676,5352 +2677,5354 +2678,5356 +2679,5358 +2680,5360 +2681,5362 +2682,5364 +2683,5366 +2684,5368 +2685,5370 +2686,5372 +2687,5374 +2688,5376 +2689,5378 +2690,5380 +2691,5382 +2692,5384 +2693,5386 +2694,5388 +2695,5390 +2696,5392 +2697,5394 +2698,5396 +2699,5398 +2700,5400 +2701,5402 +2702,5404 +2703,5406 +2704,5408 +2705,5410 +2706,5412 +2707,5414 +2708,5416 +2709,5418 +2710,5420 +2711,5422 +2712,5424 +2713,5426 +2714,5428 +2715,5430 +2716,5432 +2717,5434 +2718,5436 +2719,5438 +2720,5440 +2721,5442 +2722,5444 +2723,5446 +2724,5448 +2725,5450 +2726,5452 +2727,5454 +2728,5456 +2729,5458 +2730,5460 +2731,5462 +2732,5464 +2733,5466 +2734,5468 +2735,5470 +2736,5472 +2737,5474 +2738,5476 +2739,5478 +2740,5480 +2741,5482 +2742,5484 +2743,5486 +2744,5488 +2745,5490 +2746,5492 +2747,5494 +2748,5496 +2749,5498 +2750,5500 +2751,5502 +2752,5504 +2753,5506 +2754,5508 +2755,5510 +2756,5512 +2757,5514 +2758,5516 +2759,5518 +2760,5520 +2761,5522 +2762,5524 +2763,5526 +2764,5528 +2765,5530 +2766,5532 +2767,5534 +2768,5536 +2769,5538 +2770,5540 +2771,5542 +2772,5544 +2773,5546 +2774,5548 +2775,5550 +2776,5552 +2777,5554 +2778,5556 +2779,5558 +2780,5560 +2781,5562 +2782,5564 +2783,5566 +2784,5568 +2785,5570 +2786,5572 +2787,5574 +2788,5576 +2789,5578 +2790,5580 +2791,5582 +2792,5584 +2793,5586 +2794,5588 +2795,5590 +2796,5592 +2797,5594 +2798,5596 +2799,5598 +2800,5600 +2801,5602 +2802,5604 +2803,5606 +2804,5608 +2805,5610 +2806,5612 +2807,5614 +2808,5616 +2809,5618 +2810,5620 +2811,5622 +2812,5624 +2813,5626 +2814,5628 +2815,5630 +2816,5632 +2817,5634 +2818,5636 +2819,5638 +2820,5640 +2821,5642 +2822,5644 +2823,5646 +2824,5648 +2825,5650 +2826,5652 +2827,5654 +2828,5656 +2829,5658 +2830,5660 +2831,5662 +2832,5664 +2833,5666 +2834,5668 +2835,5670 +2836,5672 +2837,5674 +2838,5676 +2839,5678 +2840,5680 +2841,5682 +2842,5684 +2843,5686 +2844,5688 +2845,5690 +2846,5692 +2847,5694 +2848,5696 +2849,5698 +2850,5700 +2851,5702 +2852,5704 +2853,5706 +2854,5708 +2855,5710 +2856,5712 +2857,5714 +2858,5716 +2859,5718 +2860,5720 +2861,5722 +2862,5724 +2863,5726 +2864,5728 +2865,5730 +2866,5732 +2867,5734 +2868,5736 +2869,5738 +2870,5740 +2871,5742 +2872,5744 +2873,5746 +2874,5748 +2875,5750 +2876,5752 +2877,5754 +2878,5756 +2879,5758 +2880,5760 +2881,5762 +2882,5764 +2883,5766 +2884,5768 +2885,5770 +2886,5772 +2887,5774 +2888,5776 +2889,5778 +2890,5780 +2891,5782 +2892,5784 +2893,5786 +2894,5788 +2895,5790 +2896,5792 +2897,5794 +2898,5796 +2899,5798 +2900,5800 +2901,5802 +2902,5804 +2903,5806 +2904,5808 +2905,5810 +2906,5812 +2907,5814 +2908,5816 +2909,5818 +2910,5820 +2911,5822 +2912,5824 +2913,5826 +2914,5828 +2915,5830 +2916,5832 +2917,5834 +2918,5836 +2919,5838 +2920,5840 +2921,5842 +2922,5844 +2923,5846 +2924,5848 +2925,5850 +2926,5852 +2927,5854 +2928,5856 +2929,5858 +2930,5860 +2931,5862 +2932,5864 +2933,5866 +2934,5868 +2935,5870 +2936,5872 +2937,5874 +2938,5876 +2939,5878 +2940,5880 +2941,5882 +2942,5884 +2943,5886 +2944,5888 +2945,5890 +2946,5892 +2947,5894 +2948,5896 +2949,5898 +2950,5900 +2951,5902 +2952,5904 +2953,5906 +2954,5908 +2955,5910 +2956,5912 +2957,5914 +2958,5916 +2959,5918 +2960,5920 +2961,5922 +2962,5924 +2963,5926 +2964,5928 +2965,5930 +2966,5932 +2967,5934 +2968,5936 +2969,5938 +2970,5940 +2971,5942 +2972,5944 +2973,5946 +2974,5948 +2975,5950 +2976,5952 +2977,5954 +2978,5956 +2979,5958 +2980,5960 +2981,5962 +2982,5964 +2983,5966 +2984,5968 +2985,5970 +2986,5972 +2987,5974 +2988,5976 +2989,5978 +2990,5980 +2991,5982 +2992,5984 +2993,5986 +2994,5988 +2995,5990 +2996,5992 +2997,5994 +2998,5996 +2999,5998 +3000,6000 +3001,6002 +3002,6004 +3003,6006 +3004,6008 +3005,6010 +3006,6012 +3007,6014 +3008,6016 +3009,6018 +3010,6020 +3011,6022 +3012,6024 +3013,6026 +3014,6028 +3015,6030 +3016,6032 +3017,6034 +3018,6036 +3019,6038 +3020,6040 +3021,6042 +3022,6044 +3023,6046 +3024,6048 +3025,6050 +3026,6052 +3027,6054 +3028,6056 +3029,6058 +3030,6060 +3031,6062 +3032,6064 +3033,6066 +3034,6068 +3035,6070 +3036,6072 +3037,6074 +3038,6076 +3039,6078 +3040,6080 +3041,6082 +3042,6084 +3043,6086 +3044,6088 +3045,6090 +3046,6092 +3047,6094 +3048,6096 +3049,6098 +3050,6100 +3051,6102 +3052,6104 +3053,6106 +3054,6108 +3055,6110 +3056,6112 +3057,6114 +3058,6116 +3059,6118 +3060,6120 +3061,6122 +3062,6124 +3063,6126 +3064,6128 +3065,6130 +3066,6132 +3067,6134 +3068,6136 +3069,6138 +3070,6140 +3071,6142 +3072,6144 +3073,6146 +3074,6148 +3075,6150 +3076,6152 +3077,6154 +3078,6156 +3079,6158 +3080,6160 +3081,6162 +3082,6164 +3083,6166 +3084,6168 +3085,6170 +3086,6172 +3087,6174 +3088,6176 +3089,6178 +3090,6180 +3091,6182 +3092,6184 +3093,6186 +3094,6188 +3095,6190 +3096,6192 +3097,6194 +3098,6196 +3099,6198 +3100,6200 +3101,6202 +3102,6204 +3103,6206 +3104,6208 +3105,6210 +3106,6212 +3107,6214 +3108,6216 +3109,6218 +3110,6220 +3111,6222 +3112,6224 +3113,6226 +3114,6228 +3115,6230 +3116,6232 +3117,6234 +3118,6236 +3119,6238 +3120,6240 +3121,6242 +3122,6244 +3123,6246 +3124,6248 +3125,6250 +3126,6252 +3127,6254 +3128,6256 +3129,6258 +3130,6260 +3131,6262 +3132,6264 +3133,6266 +3134,6268 +3135,6270 +3136,6272 +3137,6274 +3138,6276 +3139,6278 +3140,6280 +3141,6282 +3142,6284 +3143,6286 +3144,6288 +3145,6290 +3146,6292 +3147,6294 +3148,6296 +3149,6298 +3150,6300 +3151,6302 +3152,6304 +3153,6306 +3154,6308 +3155,6310 +3156,6312 +3157,6314 +3158,6316 +3159,6318 +3160,6320 +3161,6322 +3162,6324 +3163,6326 +3164,6328 +3165,6330 +3166,6332 +3167,6334 +3168,6336 +3169,6338 +3170,6340 +3171,6342 +3172,6344 +3173,6346 +3174,6348 +3175,6350 +3176,6352 +3177,6354 +3178,6356 +3179,6358 +3180,6360 +3181,6362 +3182,6364 +3183,6366 +3184,6368 +3185,6370 +3186,6372 +3187,6374 +3188,6376 +3189,6378 +3190,6380 +3191,6382 +3192,6384 +3193,6386 +3194,6388 +3195,6390 +3196,6392 +3197,6394 +3198,6396 +3199,6398 +3200,6400 +3201,6402 +3202,6404 +3203,6406 +3204,6408 +3205,6410 +3206,6412 +3207,6414 +3208,6416 +3209,6418 +3210,6420 +3211,6422 +3212,6424 +3213,6426 +3214,6428 +3215,6430 +3216,6432 +3217,6434 +3218,6436 +3219,6438 +3220,6440 +3221,6442 +3222,6444 +3223,6446 +3224,6448 +3225,6450 +3226,6452 +3227,6454 +3228,6456 +3229,6458 +3230,6460 +3231,6462 +3232,6464 +3233,6466 +3234,6468 +3235,6470 +3236,6472 +3237,6474 +3238,6476 +3239,6478 +3240,6480 +3241,6482 +3242,6484 +3243,6486 +3244,6488 +3245,6490 +3246,6492 +3247,6494 +3248,6496 +3249,6498 +3250,6500 +3251,6502 +3252,6504 +3253,6506 +3254,6508 +3255,6510 +3256,6512 +3257,6514 +3258,6516 +3259,6518 +3260,6520 +3261,6522 +3262,6524 +3263,6526 +3264,6528 +3265,6530 +3266,6532 +3267,6534 +3268,6536 +3269,6538 +3270,6540 +3271,6542 +3272,6544 +3273,6546 +3274,6548 +3275,6550 +3276,6552 +3277,6554 +3278,6556 +3279,6558 +3280,6560 +3281,6562 +3282,6564 +3283,6566 +3284,6568 +3285,6570 +3286,6572 +3287,6574 +3288,6576 +3289,6578 +3290,6580 +3291,6582 +3292,6584 +3293,6586 +3294,6588 +3295,6590 +3296,6592 +3297,6594 +3298,6596 +3299,6598 +3300,6600 +3301,6602 +3302,6604 +3303,6606 +3304,6608 +3305,6610 +3306,6612 +3307,6614 +3308,6616 +3309,6618 +3310,6620 +3311,6622 +3312,6624 +3313,6626 +3314,6628 +3315,6630 +3316,6632 +3317,6634 +3318,6636 +3319,6638 +3320,6640 +3321,6642 +3322,6644 +3323,6646 +3324,6648 +3325,6650 +3326,6652 +3327,6654 +3328,6656 +3329,6658 +3330,6660 +3331,6662 +3332,6664 +3333,6666 +3334,6668 +3335,6670 +3336,6672 +3337,6674 +3338,6676 +3339,6678 +3340,6680 +3341,6682 +3342,6684 +3343,6686 +3344,6688 +3345,6690 +3346,6692 +3347,6694 +3348,6696 +3349,6698 +3350,6700 +3351,6702 +3352,6704 +3353,6706 +3354,6708 +3355,6710 +3356,6712 +3357,6714 +3358,6716 +3359,6718 +3360,6720 +3361,6722 +3362,6724 +3363,6726 +3364,6728 +3365,6730 +3366,6732 +3367,6734 +3368,6736 +3369,6738 +3370,6740 +3371,6742 +3372,6744 +3373,6746 +3374,6748 +3375,6750 +3376,6752 +3377,6754 +3378,6756 +3379,6758 +3380,6760 +3381,6762 +3382,6764 +3383,6766 +3384,6768 +3385,6770 +3386,6772 +3387,6774 +3388,6776 +3389,6778 +3390,6780 +3391,6782 +3392,6784 +3393,6786 +3394,6788 +3395,6790 +3396,6792 +3397,6794 +3398,6796 +3399,6798 +3400,6800 +3401,6802 +3402,6804 +3403,6806 +3404,6808 +3405,6810 +3406,6812 +3407,6814 +3408,6816 +3409,6818 +3410,6820 +3411,6822 +3412,6824 +3413,6826 +3414,6828 +3415,6830 +3416,6832 +3417,6834 +3418,6836 +3419,6838 +3420,6840 +3421,6842 +3422,6844 +3423,6846 +3424,6848 +3425,6850 +3426,6852 +3427,6854 +3428,6856 +3429,6858 +3430,6860 +3431,6862 +3432,6864 +3433,6866 +3434,6868 +3435,6870 +3436,6872 +3437,6874 +3438,6876 +3439,6878 +3440,6880 +3441,6882 +3442,6884 +3443,6886 +3444,6888 +3445,6890 +3446,6892 +3447,6894 +3448,6896 +3449,6898 +3450,6900 +3451,6902 +3452,6904 +3453,6906 +3454,6908 +3455,6910 +3456,6912 +3457,6914 +3458,6916 +3459,6918 +3460,6920 +3461,6922 +3462,6924 +3463,6926 +3464,6928 +3465,6930 +3466,6932 +3467,6934 +3468,6936 +3469,6938 +3470,6940 +3471,6942 +3472,6944 +3473,6946 +3474,6948 +3475,6950 +3476,6952 +3477,6954 +3478,6956 +3479,6958 +3480,6960 +3481,6962 +3482,6964 +3483,6966 +3484,6968 +3485,6970 +3486,6972 +3487,6974 +3488,6976 +3489,6978 +3490,6980 +3491,6982 +3492,6984 +3493,6986 +3494,6988 +3495,6990 +3496,6992 +3497,6994 +3498,6996 +3499,6998 +3500,7000 +3501,7002 +3502,7004 +3503,7006 +3504,7008 +3505,7010 +3506,7012 +3507,7014 +3508,7016 +3509,7018 +3510,7020 +3511,7022 +3512,7024 +3513,7026 +3514,7028 +3515,7030 +3516,7032 +3517,7034 +3518,7036 +3519,7038 +3520,7040 +3521,7042 +3522,7044 +3523,7046 +3524,7048 +3525,7050 +3526,7052 +3527,7054 +3528,7056 +3529,7058 +3530,7060 +3531,7062 +3532,7064 +3533,7066 +3534,7068 +3535,7070 +3536,7072 +3537,7074 +3538,7076 +3539,7078 +3540,7080 +3541,7082 +3542,7084 +3543,7086 +3544,7088 +3545,7090 +3546,7092 +3547,7094 +3548,7096 +3549,7098 +3550,7100 +3551,7102 +3552,7104 +3553,7106 +3554,7108 +3555,7110 +3556,7112 +3557,7114 +3558,7116 +3559,7118 +3560,7120 +3561,7122 +3562,7124 +3563,7126 +3564,7128 +3565,7130 +3566,7132 +3567,7134 +3568,7136 +3569,7138 +3570,7140 +3571,7142 +3572,7144 +3573,7146 +3574,7148 +3575,7150 +3576,7152 +3577,7154 +3578,7156 +3579,7158 +3580,7160 +3581,7162 +3582,7164 +3583,7166 +3584,7168 +3585,7170 +3586,7172 +3587,7174 +3588,7176 +3589,7178 +3590,7180 +3591,7182 +3592,7184 +3593,7186 +3594,7188 +3595,7190 +3596,7192 +3597,7194 +3598,7196 +3599,7198 +3600,7200 +3601,7202 +3602,7204 +3603,7206 +3604,7208 +3605,7210 +3606,7212 +3607,7214 +3608,7216 +3609,7218 +3610,7220 +3611,7222 +3612,7224 +3613,7226 +3614,7228 +3615,7230 +3616,7232 +3617,7234 +3618,7236 +3619,7238 +3620,7240 +3621,7242 +3622,7244 +3623,7246 +3624,7248 +3625,7250 +3626,7252 +3627,7254 +3628,7256 +3629,7258 +3630,7260 +3631,7262 +3632,7264 +3633,7266 +3634,7268 +3635,7270 +3636,7272 +3637,7274 +3638,7276 +3639,7278 +3640,7280 +3641,7282 +3642,7284 +3643,7286 +3644,7288 +3645,7290 +3646,7292 +3647,7294 +3648,7296 +3649,7298 +3650,7300 +3651,7302 +3652,7304 +3653,7306 +3654,7308 +3655,7310 +3656,7312 +3657,7314 +3658,7316 +3659,7318 +3660,7320 +3661,7322 +3662,7324 +3663,7326 +3664,7328 +3665,7330 +3666,7332 +3667,7334 +3668,7336 +3669,7338 +3670,7340 +3671,7342 +3672,7344 +3673,7346 +3674,7348 +3675,7350 +3676,7352 +3677,7354 +3678,7356 +3679,7358 +3680,7360 +3681,7362 +3682,7364 +3683,7366 +3684,7368 +3685,7370 +3686,7372 +3687,7374 +3688,7376 +3689,7378 +3690,7380 +3691,7382 +3692,7384 +3693,7386 +3694,7388 +3695,7390 +3696,7392 +3697,7394 +3698,7396 +3699,7398 +3700,7400 +3701,7402 +3702,7404 +3703,7406 +3704,7408 +3705,7410 +3706,7412 +3707,7414 +3708,7416 +3709,7418 +3710,7420 +3711,7422 +3712,7424 +3713,7426 +3714,7428 +3715,7430 +3716,7432 +3717,7434 +3718,7436 +3719,7438 +3720,7440 +3721,7442 +3722,7444 +3723,7446 +3724,7448 +3725,7450 +3726,7452 +3727,7454 +3728,7456 +3729,7458 +3730,7460 +3731,7462 +3732,7464 +3733,7466 +3734,7468 +3735,7470 +3736,7472 +3737,7474 +3738,7476 +3739,7478 +3740,7480 +3741,7482 +3742,7484 +3743,7486 +3744,7488 +3745,7490 +3746,7492 +3747,7494 +3748,7496 +3749,7498 +3750,7500 +3751,7502 +3752,7504 +3753,7506 +3754,7508 +3755,7510 +3756,7512 +3757,7514 +3758,7516 +3759,7518 +3760,7520 +3761,7522 +3762,7524 +3763,7526 +3764,7528 +3765,7530 +3766,7532 +3767,7534 +3768,7536 +3769,7538 +3770,7540 +3771,7542 +3772,7544 +3773,7546 +3774,7548 +3775,7550 +3776,7552 +3777,7554 +3778,7556 +3779,7558 +3780,7560 +3781,7562 +3782,7564 +3783,7566 +3784,7568 +3785,7570 +3786,7572 +3787,7574 +3788,7576 +3789,7578 +3790,7580 +3791,7582 +3792,7584 +3793,7586 +3794,7588 +3795,7590 +3796,7592 +3797,7594 +3798,7596 +3799,7598 +3800,7600 +3801,7602 +3802,7604 +3803,7606 +3804,7608 +3805,7610 +3806,7612 +3807,7614 +3808,7616 +3809,7618 +3810,7620 +3811,7622 +3812,7624 +3813,7626 +3814,7628 +3815,7630 +3816,7632 +3817,7634 +3818,7636 +3819,7638 +3820,7640 +3821,7642 +3822,7644 +3823,7646 +3824,7648 +3825,7650 +3826,7652 +3827,7654 +3828,7656 +3829,7658 +3830,7660 +3831,7662 +3832,7664 +3833,7666 +3834,7668 +3835,7670 +3836,7672 +3837,7674 +3838,7676 +3839,7678 +3840,7680 +3841,7682 +3842,7684 +3843,7686 +3844,7688 +3845,7690 +3846,7692 +3847,7694 +3848,7696 +3849,7698 +3850,7700 +3851,7702 +3852,7704 +3853,7706 +3854,7708 +3855,7710 +3856,7712 +3857,7714 +3858,7716 +3859,7718 +3860,7720 +3861,7722 +3862,7724 +3863,7726 +3864,7728 +3865,7730 +3866,7732 +3867,7734 +3868,7736 +3869,7738 +3870,7740 +3871,7742 +3872,7744 +3873,7746 +3874,7748 +3875,7750 +3876,7752 +3877,7754 +3878,7756 +3879,7758 +3880,7760 +3881,7762 +3882,7764 +3883,7766 +3884,7768 +3885,7770 +3886,7772 +3887,7774 +3888,7776 +3889,7778 +3890,7780 +3891,7782 +3892,7784 +3893,7786 +3894,7788 +3895,7790 +3896,7792 +3897,7794 +3898,7796 +3899,7798 +3900,7800 +3901,7802 +3902,7804 +3903,7806 +3904,7808 +3905,7810 +3906,7812 +3907,7814 +3908,7816 +3909,7818 +3910,7820 +3911,7822 +3912,7824 +3913,7826 +3914,7828 +3915,7830 +3916,7832 +3917,7834 +3918,7836 +3919,7838 +3920,7840 +3921,7842 +3922,7844 +3923,7846 +3924,7848 +3925,7850 +3926,7852 +3927,7854 +3928,7856 +3929,7858 +3930,7860 +3931,7862 +3932,7864 +3933,7866 +3934,7868 +3935,7870 +3936,7872 +3937,7874 +3938,7876 +3939,7878 +3940,7880 +3941,7882 +3942,7884 +3943,7886 +3944,7888 +3945,7890 +3946,7892 +3947,7894 +3948,7896 +3949,7898 +3950,7900 +3951,7902 +3952,7904 +3953,7906 +3954,7908 +3955,7910 +3956,7912 +3957,7914 +3958,7916 +3959,7918 +3960,7920 +3961,7922 +3962,7924 +3963,7926 +3964,7928 +3965,7930 +3966,7932 +3967,7934 +3968,7936 +3969,7938 +3970,7940 +3971,7942 +3972,7944 +3973,7946 +3974,7948 +3975,7950 +3976,7952 +3977,7954 +3978,7956 +3979,7958 +3980,7960 +3981,7962 +3982,7964 +3983,7966 +3984,7968 +3985,7970 +3986,7972 +3987,7974 +3988,7976 +3989,7978 +3990,7980 +3991,7982 +3992,7984 +3993,7986 +3994,7988 +3995,7990 +3996,7992 +3997,7994 +3998,7996 +3999,7998 +4000,8000 +4001,8002 +4002,8004 +4003,8006 +4004,8008 +4005,8010 +4006,8012 +4007,8014 +4008,8016 +4009,8018 +4010,8020 +4011,8022 +4012,8024 +4013,8026 +4014,8028 +4015,8030 +4016,8032 +4017,8034 +4018,8036 +4019,8038 +4020,8040 +4021,8042 +4022,8044 +4023,8046 +4024,8048 +4025,8050 +4026,8052 +4027,8054 +4028,8056 +4029,8058 +4030,8060 +4031,8062 +4032,8064 +4033,8066 +4034,8068 +4035,8070 +4036,8072 +4037,8074 +4038,8076 +4039,8078 +4040,8080 +4041,8082 +4042,8084 +4043,8086 +4044,8088 +4045,8090 +4046,8092 +4047,8094 +4048,8096 +4049,8098 +4050,8100 +4051,8102 +4052,8104 +4053,8106 +4054,8108 +4055,8110 +4056,8112 +4057,8114 +4058,8116 +4059,8118 +4060,8120 +4061,8122 +4062,8124 +4063,8126 +4064,8128 +4065,8130 +4066,8132 +4067,8134 +4068,8136 +4069,8138 +4070,8140 +4071,8142 +4072,8144 +4073,8146 +4074,8148 +4075,8150 +4076,8152 +4077,8154 +4078,8156 +4079,8158 +4080,8160 +4081,8162 +4082,8164 +4083,8166 +4084,8168 +4085,8170 +4086,8172 +4087,8174 +4088,8176 +4089,8178 +4090,8180 +4091,8182 +4092,8184 +4093,8186 +4094,8188 +4095,8190 +4096,8192 +4097,8194 +4098,8196 +4099,8198 +4100,8200 +4101,8202 +4102,8204 +4103,8206 +4104,8208 +4105,8210 +4106,8212 +4107,8214 +4108,8216 +4109,8218 +4110,8220 +4111,8222 +4112,8224 +4113,8226 +4114,8228 +4115,8230 +4116,8232 +4117,8234 +4118,8236 +4119,8238 +4120,8240 +4121,8242 +4122,8244 +4123,8246 +4124,8248 +4125,8250 +4126,8252 +4127,8254 +4128,8256 +4129,8258 +4130,8260 +4131,8262 +4132,8264 +4133,8266 +4134,8268 +4135,8270 +4136,8272 +4137,8274 +4138,8276 +4139,8278 +4140,8280 +4141,8282 +4142,8284 +4143,8286 +4144,8288 +4145,8290 +4146,8292 +4147,8294 +4148,8296 +4149,8298 +4150,8300 +4151,8302 +4152,8304 +4153,8306 +4154,8308 +4155,8310 +4156,8312 +4157,8314 +4158,8316 +4159,8318 +4160,8320 +4161,8322 +4162,8324 +4163,8326 +4164,8328 +4165,8330 +4166,8332 +4167,8334 +4168,8336 +4169,8338 +4170,8340 +4171,8342 +4172,8344 +4173,8346 +4174,8348 +4175,8350 +4176,8352 +4177,8354 +4178,8356 +4179,8358 +4180,8360 +4181,8362 +4182,8364 +4183,8366 +4184,8368 +4185,8370 +4186,8372 +4187,8374 +4188,8376 +4189,8378 +4190,8380 +4191,8382 +4192,8384 +4193,8386 +4194,8388 +4195,8390 +4196,8392 +4197,8394 +4198,8396 +4199,8398 +4200,8400 +4201,8402 +4202,8404 +4203,8406 +4204,8408 +4205,8410 +4206,8412 +4207,8414 +4208,8416 +4209,8418 +4210,8420 +4211,8422 +4212,8424 +4213,8426 +4214,8428 +4215,8430 +4216,8432 +4217,8434 +4218,8436 +4219,8438 +4220,8440 +4221,8442 +4222,8444 +4223,8446 +4224,8448 +4225,8450 +4226,8452 +4227,8454 +4228,8456 +4229,8458 +4230,8460 +4231,8462 +4232,8464 +4233,8466 +4234,8468 +4235,8470 +4236,8472 +4237,8474 +4238,8476 +4239,8478 +4240,8480 +4241,8482 +4242,8484 +4243,8486 +4244,8488 +4245,8490 +4246,8492 +4247,8494 +4248,8496 +4249,8498 +4250,8500 +4251,8502 +4252,8504 +4253,8506 +4254,8508 +4255,8510 +4256,8512 +4257,8514 +4258,8516 +4259,8518 +4260,8520 +4261,8522 +4262,8524 +4263,8526 +4264,8528 +4265,8530 +4266,8532 +4267,8534 +4268,8536 +4269,8538 +4270,8540 +4271,8542 +4272,8544 +4273,8546 +4274,8548 +4275,8550 +4276,8552 +4277,8554 +4278,8556 +4279,8558 +4280,8560 +4281,8562 +4282,8564 +4283,8566 +4284,8568 +4285,8570 +4286,8572 +4287,8574 +4288,8576 +4289,8578 +4290,8580 +4291,8582 +4292,8584 +4293,8586 +4294,8588 +4295,8590 +4296,8592 +4297,8594 +4298,8596 +4299,8598 +4300,8600 +4301,8602 +4302,8604 +4303,8606 +4304,8608 +4305,8610 +4306,8612 +4307,8614 +4308,8616 +4309,8618 +4310,8620 +4311,8622 +4312,8624 +4313,8626 +4314,8628 +4315,8630 +4316,8632 +4317,8634 +4318,8636 +4319,8638 +4320,8640 +4321,8642 +4322,8644 +4323,8646 +4324,8648 +4325,8650 +4326,8652 +4327,8654 +4328,8656 +4329,8658 +4330,8660 +4331,8662 +4332,8664 +4333,8666 +4334,8668 +4335,8670 +4336,8672 +4337,8674 +4338,8676 +4339,8678 +4340,8680 +4341,8682 +4342,8684 +4343,8686 +4344,8688 +4345,8690 +4346,8692 +4347,8694 +4348,8696 +4349,8698 +4350,8700 +4351,8702 +4352,8704 +4353,8706 +4354,8708 +4355,8710 +4356,8712 +4357,8714 +4358,8716 +4359,8718 +4360,8720 +4361,8722 +4362,8724 +4363,8726 +4364,8728 +4365,8730 +4366,8732 +4367,8734 +4368,8736 +4369,8738 +4370,8740 +4371,8742 +4372,8744 +4373,8746 +4374,8748 +4375,8750 +4376,8752 +4377,8754 +4378,8756 +4379,8758 +4380,8760 +4381,8762 +4382,8764 +4383,8766 +4384,8768 +4385,8770 +4386,8772 +4387,8774 +4388,8776 +4389,8778 +4390,8780 +4391,8782 +4392,8784 +4393,8786 +4394,8788 +4395,8790 +4396,8792 +4397,8794 +4398,8796 +4399,8798 +4400,8800 +4401,8802 +4402,8804 +4403,8806 +4404,8808 +4405,8810 +4406,8812 +4407,8814 +4408,8816 +4409,8818 +4410,8820 +4411,8822 +4412,8824 +4413,8826 +4414,8828 +4415,8830 +4416,8832 +4417,8834 +4418,8836 +4419,8838 +4420,8840 +4421,8842 +4422,8844 +4423,8846 +4424,8848 +4425,8850 +4426,8852 +4427,8854 +4428,8856 +4429,8858 +4430,8860 +4431,8862 +4432,8864 +4433,8866 +4434,8868 +4435,8870 +4436,8872 +4437,8874 +4438,8876 +4439,8878 +4440,8880 +4441,8882 +4442,8884 +4443,8886 +4444,8888 +4445,8890 +4446,8892 +4447,8894 +4448,8896 +4449,8898 +4450,8900 +4451,8902 +4452,8904 +4453,8906 +4454,8908 +4455,8910 +4456,8912 +4457,8914 +4458,8916 +4459,8918 +4460,8920 +4461,8922 +4462,8924 +4463,8926 +4464,8928 +4465,8930 +4466,8932 +4467,8934 +4468,8936 +4469,8938 +4470,8940 +4471,8942 +4472,8944 +4473,8946 +4474,8948 +4475,8950 +4476,8952 +4477,8954 +4478,8956 +4479,8958 +4480,8960 +4481,8962 +4482,8964 +4483,8966 +4484,8968 +4485,8970 +4486,8972 +4487,8974 +4488,8976 +4489,8978 +4490,8980 +4491,8982 +4492,8984 +4493,8986 +4494,8988 +4495,8990 +4496,8992 +4497,8994 +4498,8996 +4499,8998 +4500,9000 +4501,9002 +4502,9004 +4503,9006 +4504,9008 +4505,9010 +4506,9012 +4507,9014 +4508,9016 +4509,9018 +4510,9020 +4511,9022 +4512,9024 +4513,9026 +4514,9028 +4515,9030 +4516,9032 +4517,9034 +4518,9036 +4519,9038 +4520,9040 +4521,9042 +4522,9044 +4523,9046 +4524,9048 +4525,9050 +4526,9052 +4527,9054 +4528,9056 +4529,9058 +4530,9060 +4531,9062 +4532,9064 +4533,9066 +4534,9068 +4535,9070 +4536,9072 +4537,9074 +4538,9076 +4539,9078 +4540,9080 +4541,9082 +4542,9084 +4543,9086 +4544,9088 +4545,9090 +4546,9092 +4547,9094 +4548,9096 +4549,9098 +4550,9100 +4551,9102 +4552,9104 +4553,9106 +4554,9108 +4555,9110 +4556,9112 +4557,9114 +4558,9116 +4559,9118 +4560,9120 +4561,9122 +4562,9124 +4563,9126 +4564,9128 +4565,9130 +4566,9132 +4567,9134 +4568,9136 +4569,9138 +4570,9140 +4571,9142 +4572,9144 +4573,9146 +4574,9148 +4575,9150 +4576,9152 +4577,9154 +4578,9156 +4579,9158 +4580,9160 +4581,9162 +4582,9164 +4583,9166 +4584,9168 +4585,9170 +4586,9172 +4587,9174 +4588,9176 +4589,9178 +4590,9180 +4591,9182 +4592,9184 +4593,9186 +4594,9188 +4595,9190 +4596,9192 +4597,9194 +4598,9196 +4599,9198 +4600,9200 +4601,9202 +4602,9204 +4603,9206 +4604,9208 +4605,9210 +4606,9212 +4607,9214 +4608,9216 +4609,9218 +4610,9220 +4611,9222 +4612,9224 +4613,9226 +4614,9228 +4615,9230 +4616,9232 +4617,9234 +4618,9236 +4619,9238 +4620,9240 +4621,9242 +4622,9244 +4623,9246 +4624,9248 +4625,9250 +4626,9252 +4627,9254 +4628,9256 +4629,9258 +4630,9260 +4631,9262 +4632,9264 +4633,9266 +4634,9268 +4635,9270 +4636,9272 +4637,9274 +4638,9276 +4639,9278 +4640,9280 +4641,9282 +4642,9284 +4643,9286 +4644,9288 +4645,9290 +4646,9292 +4647,9294 +4648,9296 +4649,9298 +4650,9300 +4651,9302 +4652,9304 +4653,9306 +4654,9308 +4655,9310 +4656,9312 +4657,9314 +4658,9316 +4659,9318 +4660,9320 +4661,9322 +4662,9324 +4663,9326 +4664,9328 +4665,9330 +4666,9332 +4667,9334 +4668,9336 +4669,9338 +4670,9340 +4671,9342 +4672,9344 +4673,9346 +4674,9348 +4675,9350 +4676,9352 +4677,9354 +4678,9356 +4679,9358 +4680,9360 +4681,9362 +4682,9364 +4683,9366 +4684,9368 +4685,9370 +4686,9372 +4687,9374 +4688,9376 +4689,9378 +4690,9380 +4691,9382 +4692,9384 +4693,9386 +4694,9388 +4695,9390 +4696,9392 +4697,9394 +4698,9396 +4699,9398 +4700,9400 +4701,9402 +4702,9404 +4703,9406 +4704,9408 +4705,9410 +4706,9412 +4707,9414 +4708,9416 +4709,9418 +4710,9420 +4711,9422 +4712,9424 +4713,9426 +4714,9428 +4715,9430 +4716,9432 +4717,9434 +4718,9436 +4719,9438 +4720,9440 +4721,9442 +4722,9444 +4723,9446 +4724,9448 +4725,9450 +4726,9452 +4727,9454 +4728,9456 +4729,9458 +4730,9460 +4731,9462 +4732,9464 +4733,9466 +4734,9468 +4735,9470 +4736,9472 +4737,9474 +4738,9476 +4739,9478 +4740,9480 +4741,9482 +4742,9484 +4743,9486 +4744,9488 +4745,9490 +4746,9492 +4747,9494 +4748,9496 +4749,9498 +4750,9500 +4751,9502 +4752,9504 +4753,9506 +4754,9508 +4755,9510 +4756,9512 +4757,9514 +4758,9516 +4759,9518 +4760,9520 +4761,9522 +4762,9524 +4763,9526 +4764,9528 +4765,9530 +4766,9532 +4767,9534 +4768,9536 +4769,9538 +4770,9540 +4771,9542 +4772,9544 +4773,9546 +4774,9548 +4775,9550 +4776,9552 +4777,9554 +4778,9556 +4779,9558 +4780,9560 +4781,9562 +4782,9564 +4783,9566 +4784,9568 +4785,9570 +4786,9572 +4787,9574 +4788,9576 +4789,9578 +4790,9580 +4791,9582 +4792,9584 +4793,9586 +4794,9588 +4795,9590 +4796,9592 +4797,9594 +4798,9596 +4799,9598 +4800,9600 +4801,9602 +4802,9604 +4803,9606 +4804,9608 +4805,9610 +4806,9612 +4807,9614 +4808,9616 +4809,9618 +4810,9620 +4811,9622 +4812,9624 +4813,9626 +4814,9628 +4815,9630 +4816,9632 +4817,9634 +4818,9636 +4819,9638 +4820,9640 +4821,9642 +4822,9644 +4823,9646 +4824,9648 +4825,9650 +4826,9652 +4827,9654 +4828,9656 +4829,9658 +4830,9660 +4831,9662 +4832,9664 +4833,9666 +4834,9668 +4835,9670 +4836,9672 +4837,9674 +4838,9676 +4839,9678 +4840,9680 +4841,9682 +4842,9684 +4843,9686 +4844,9688 +4845,9690 +4846,9692 +4847,9694 +4848,9696 +4849,9698 +4850,9700 +4851,9702 +4852,9704 +4853,9706 +4854,9708 +4855,9710 +4856,9712 +4857,9714 +4858,9716 +4859,9718 +4860,9720 +4861,9722 +4862,9724 +4863,9726 +4864,9728 +4865,9730 +4866,9732 +4867,9734 +4868,9736 +4869,9738 +4870,9740 +4871,9742 +4872,9744 +4873,9746 +4874,9748 +4875,9750 +4876,9752 +4877,9754 +4878,9756 +4879,9758 +4880,9760 +4881,9762 +4882,9764 +4883,9766 +4884,9768 +4885,9770 +4886,9772 +4887,9774 +4888,9776 +4889,9778 +4890,9780 +4891,9782 +4892,9784 +4893,9786 +4894,9788 +4895,9790 +4896,9792 +4897,9794 +4898,9796 +4899,9798 +4900,9800 +4901,9802 +4902,9804 +4903,9806 +4904,9808 +4905,9810 +4906,9812 +4907,9814 +4908,9816 +4909,9818 +4910,9820 +4911,9822 +4912,9824 +4913,9826 +4914,9828 +4915,9830 +4916,9832 +4917,9834 +4918,9836 +4919,9838 +4920,9840 +4921,9842 +4922,9844 +4923,9846 +4924,9848 +4925,9850 +4926,9852 +4927,9854 +4928,9856 +4929,9858 +4930,9860 +4931,9862 +4932,9864 +4933,9866 +4934,9868 +4935,9870 +4936,9872 +4937,9874 +4938,9876 +4939,9878 +4940,9880 +4941,9882 +4942,9884 +4943,9886 +4944,9888 +4945,9890 +4946,9892 +4947,9894 +4948,9896 +4949,9898 +4950,9900 +4951,9902 +4952,9904 +4953,9906 +4954,9908 +4955,9910 +4956,9912 +4957,9914 +4958,9916 +4959,9918 +4960,9920 +4961,9922 +4962,9924 +4963,9926 +4964,9928 +4965,9930 +4966,9932 +4967,9934 +4968,9936 +4969,9938 +4970,9940 +4971,9942 +4972,9944 +4973,9946 +4974,9948 +4975,9950 +4976,9952 +4977,9954 +4978,9956 +4979,9958 +4980,9960 +4981,9962 +4982,9964 +4983,9966 +4984,9968 +4985,9970 +4986,9972 +4987,9974 +4988,9976 +4989,9978 +4990,9980 +4991,9982 +4992,9984 +4993,9986 +4994,9988 +4995,9990 +4996,9992 +4997,9994 +4998,9996 +4999,9998 +5000,10000 +5001,10002 +5002,10004 +5003,10006 +5004,10008 +5005,10010 +5006,10012 +5007,10014 +5008,10016 +5009,10018 +5010,10020 +5011,10022 +5012,10024 +5013,10026 +5014,10028 +5015,10030 +5016,10032 +5017,10034 +5018,10036 +5019,10038 +5020,10040 +5021,10042 +5022,10044 +5023,10046 +5024,10048 +5025,10050 +5026,10052 +5027,10054 +5028,10056 +5029,10058 +5030,10060 +5031,10062 +5032,10064 +5033,10066 +5034,10068 +5035,10070 +5036,10072 +5037,10074 +5038,10076 +5039,10078 +5040,10080 +5041,10082 +5042,10084 +5043,10086 +5044,10088 +5045,10090 +5046,10092 +5047,10094 +5048,10096 +5049,10098 +5050,10100 +5051,10102 +5052,10104 +5053,10106 +5054,10108 +5055,10110 +5056,10112 +5057,10114 +5058,10116 +5059,10118 +5060,10120 +5061,10122 +5062,10124 +5063,10126 +5064,10128 +5065,10130 +5066,10132 +5067,10134 +5068,10136 +5069,10138 +5070,10140 +5071,10142 +5072,10144 +5073,10146 +5074,10148 +5075,10150 +5076,10152 +5077,10154 +5078,10156 +5079,10158 +5080,10160 +5081,10162 +5082,10164 +5083,10166 +5084,10168 +5085,10170 +5086,10172 +5087,10174 +5088,10176 +5089,10178 +5090,10180 +5091,10182 +5092,10184 +5093,10186 +5094,10188 +5095,10190 +5096,10192 +5097,10194 +5098,10196 +5099,10198 +5100,10200 +5101,10202 +5102,10204 +5103,10206 +5104,10208 +5105,10210 +5106,10212 +5107,10214 +5108,10216 +5109,10218 +5110,10220 +5111,10222 +5112,10224 +5113,10226 +5114,10228 +5115,10230 +5116,10232 +5117,10234 +5118,10236 +5119,10238 +5120,10240 +5121,10242 +5122,10244 +5123,10246 +5124,10248 +5125,10250 +5126,10252 +5127,10254 +5128,10256 +5129,10258 +5130,10260 +5131,10262 +5132,10264 +5133,10266 +5134,10268 +5135,10270 +5136,10272 +5137,10274 +5138,10276 +5139,10278 +5140,10280 +5141,10282 +5142,10284 +5143,10286 +5144,10288 +5145,10290 +5146,10292 +5147,10294 +5148,10296 +5149,10298 +5150,10300 +5151,10302 +5152,10304 +5153,10306 +5154,10308 +5155,10310 +5156,10312 +5157,10314 +5158,10316 +5159,10318 +5160,10320 +5161,10322 +5162,10324 +5163,10326 +5164,10328 +5165,10330 +5166,10332 +5167,10334 +5168,10336 +5169,10338 +5170,10340 +5171,10342 +5172,10344 +5173,10346 +5174,10348 +5175,10350 +5176,10352 +5177,10354 +5178,10356 +5179,10358 +5180,10360 +5181,10362 +5182,10364 +5183,10366 +5184,10368 +5185,10370 +5186,10372 +5187,10374 +5188,10376 +5189,10378 +5190,10380 +5191,10382 +5192,10384 +5193,10386 +5194,10388 +5195,10390 +5196,10392 +5197,10394 +5198,10396 +5199,10398 +5200,10400 +5201,10402 +5202,10404 +5203,10406 +5204,10408 +5205,10410 +5206,10412 +5207,10414 +5208,10416 +5209,10418 +5210,10420 +5211,10422 +5212,10424 +5213,10426 +5214,10428 +5215,10430 +5216,10432 +5217,10434 +5218,10436 +5219,10438 +5220,10440 +5221,10442 +5222,10444 +5223,10446 +5224,10448 +5225,10450 +5226,10452 +5227,10454 +5228,10456 +5229,10458 +5230,10460 +5231,10462 +5232,10464 +5233,10466 +5234,10468 +5235,10470 +5236,10472 +5237,10474 +5238,10476 +5239,10478 +5240,10480 +5241,10482 +5242,10484 +5243,10486 +5244,10488 +5245,10490 +5246,10492 +5247,10494 +5248,10496 +5249,10498 +5250,10500 +5251,10502 +5252,10504 +5253,10506 +5254,10508 +5255,10510 +5256,10512 +5257,10514 +5258,10516 +5259,10518 +5260,10520 +5261,10522 +5262,10524 +5263,10526 +5264,10528 +5265,10530 +5266,10532 +5267,10534 +5268,10536 +5269,10538 +5270,10540 +5271,10542 +5272,10544 +5273,10546 +5274,10548 +5275,10550 +5276,10552 +5277,10554 +5278,10556 +5279,10558 +5280,10560 +5281,10562 +5282,10564 +5283,10566 +5284,10568 +5285,10570 +5286,10572 +5287,10574 +5288,10576 +5289,10578 +5290,10580 +5291,10582 +5292,10584 +5293,10586 +5294,10588 +5295,10590 +5296,10592 +5297,10594 +5298,10596 +5299,10598 +5300,10600 +5301,10602 +5302,10604 +5303,10606 +5304,10608 +5305,10610 +5306,10612 +5307,10614 +5308,10616 +5309,10618 +5310,10620 +5311,10622 +5312,10624 +5313,10626 +5314,10628 +5315,10630 +5316,10632 +5317,10634 +5318,10636 +5319,10638 +5320,10640 +5321,10642 +5322,10644 +5323,10646 +5324,10648 +5325,10650 +5326,10652 +5327,10654 +5328,10656 +5329,10658 +5330,10660 +5331,10662 +5332,10664 +5333,10666 +5334,10668 +5335,10670 +5336,10672 +5337,10674 +5338,10676 +5339,10678 +5340,10680 +5341,10682 +5342,10684 +5343,10686 +5344,10688 +5345,10690 +5346,10692 +5347,10694 +5348,10696 +5349,10698 +5350,10700 +5351,10702 +5352,10704 +5353,10706 +5354,10708 +5355,10710 +5356,10712 +5357,10714 +5358,10716 +5359,10718 +5360,10720 +5361,10722 +5362,10724 +5363,10726 +5364,10728 +5365,10730 +5366,10732 +5367,10734 +5368,10736 +5369,10738 +5370,10740 +5371,10742 +5372,10744 +5373,10746 +5374,10748 +5375,10750 +5376,10752 +5377,10754 +5378,10756 +5379,10758 +5380,10760 +5381,10762 +5382,10764 +5383,10766 +5384,10768 +5385,10770 +5386,10772 +5387,10774 +5388,10776 +5389,10778 +5390,10780 +5391,10782 +5392,10784 +5393,10786 +5394,10788 +5395,10790 +5396,10792 +5397,10794 +5398,10796 +5399,10798 +5400,10800 +5401,10802 +5402,10804 +5403,10806 +5404,10808 +5405,10810 +5406,10812 +5407,10814 +5408,10816 +5409,10818 +5410,10820 +5411,10822 +5412,10824 +5413,10826 +5414,10828 +5415,10830 +5416,10832 +5417,10834 +5418,10836 +5419,10838 +5420,10840 +5421,10842 +5422,10844 +5423,10846 +5424,10848 +5425,10850 +5426,10852 +5427,10854 +5428,10856 +5429,10858 +5430,10860 +5431,10862 +5432,10864 +5433,10866 +5434,10868 +5435,10870 +5436,10872 +5437,10874 +5438,10876 +5439,10878 +5440,10880 +5441,10882 +5442,10884 +5443,10886 +5444,10888 +5445,10890 +5446,10892 +5447,10894 +5448,10896 +5449,10898 +5450,10900 +5451,10902 +5452,10904 +5453,10906 +5454,10908 +5455,10910 +5456,10912 +5457,10914 +5458,10916 +5459,10918 +5460,10920 +5461,10922 +5462,10924 +5463,10926 +5464,10928 +5465,10930 +5466,10932 +5467,10934 +5468,10936 +5469,10938 +5470,10940 +5471,10942 +5472,10944 +5473,10946 +5474,10948 +5475,10950 +5476,10952 +5477,10954 +5478,10956 +5479,10958 +5480,10960 +5481,10962 +5482,10964 +5483,10966 +5484,10968 +5485,10970 +5486,10972 +5487,10974 +5488,10976 +5489,10978 +5490,10980 +5491,10982 +5492,10984 +5493,10986 +5494,10988 +5495,10990 +5496,10992 +5497,10994 +5498,10996 +5499,10998 +5500,11000 +5501,11002 +5502,11004 +5503,11006 +5504,11008 +5505,11010 +5506,11012 +5507,11014 +5508,11016 +5509,11018 +5510,11020 +5511,11022 +5512,11024 +5513,11026 +5514,11028 +5515,11030 +5516,11032 +5517,11034 +5518,11036 +5519,11038 +5520,11040 +5521,11042 +5522,11044 +5523,11046 +5524,11048 +5525,11050 +5526,11052 +5527,11054 +5528,11056 +5529,11058 +5530,11060 +5531,11062 +5532,11064 +5533,11066 +5534,11068 +5535,11070 +5536,11072 +5537,11074 +5538,11076 +5539,11078 +5540,11080 +5541,11082 +5542,11084 +5543,11086 +5544,11088 +5545,11090 +5546,11092 +5547,11094 +5548,11096 +5549,11098 +5550,11100 +5551,11102 +5552,11104 +5553,11106 +5554,11108 +5555,11110 +5556,11112 +5557,11114 +5558,11116 +5559,11118 +5560,11120 +5561,11122 +5562,11124 +5563,11126 +5564,11128 +5565,11130 +5566,11132 +5567,11134 +5568,11136 +5569,11138 +5570,11140 +5571,11142 +5572,11144 +5573,11146 +5574,11148 +5575,11150 +5576,11152 +5577,11154 +5578,11156 +5579,11158 +5580,11160 +5581,11162 +5582,11164 +5583,11166 +5584,11168 +5585,11170 +5586,11172 +5587,11174 +5588,11176 +5589,11178 +5590,11180 +5591,11182 +5592,11184 +5593,11186 +5594,11188 +5595,11190 +5596,11192 +5597,11194 +5598,11196 +5599,11198 +5600,11200 +5601,11202 +5602,11204 +5603,11206 +5604,11208 +5605,11210 +5606,11212 +5607,11214 +5608,11216 +5609,11218 +5610,11220 +5611,11222 +5612,11224 +5613,11226 +5614,11228 +5615,11230 +5616,11232 +5617,11234 +5618,11236 +5619,11238 +5620,11240 +5621,11242 +5622,11244 +5623,11246 +5624,11248 +5625,11250 +5626,11252 +5627,11254 +5628,11256 +5629,11258 +5630,11260 +5631,11262 +5632,11264 +5633,11266 +5634,11268 +5635,11270 +5636,11272 +5637,11274 +5638,11276 +5639,11278 +5640,11280 +5641,11282 +5642,11284 +5643,11286 +5644,11288 +5645,11290 +5646,11292 +5647,11294 +5648,11296 +5649,11298 +5650,11300 +5651,11302 +5652,11304 +5653,11306 +5654,11308 +5655,11310 +5656,11312 +5657,11314 +5658,11316 +5659,11318 +5660,11320 +5661,11322 +5662,11324 +5663,11326 +5664,11328 +5665,11330 +5666,11332 +5667,11334 +5668,11336 +5669,11338 +5670,11340 +5671,11342 +5672,11344 +5673,11346 +5674,11348 +5675,11350 +5676,11352 +5677,11354 +5678,11356 +5679,11358 +5680,11360 +5681,11362 +5682,11364 +5683,11366 +5684,11368 +5685,11370 +5686,11372 +5687,11374 +5688,11376 +5689,11378 +5690,11380 +5691,11382 +5692,11384 +5693,11386 +5694,11388 +5695,11390 +5696,11392 +5697,11394 +5698,11396 +5699,11398 +5700,11400 +5701,11402 +5702,11404 +5703,11406 +5704,11408 +5705,11410 +5706,11412 +5707,11414 +5708,11416 +5709,11418 +5710,11420 +5711,11422 +5712,11424 +5713,11426 +5714,11428 +5715,11430 +5716,11432 +5717,11434 +5718,11436 +5719,11438 +5720,11440 +5721,11442 +5722,11444 +5723,11446 +5724,11448 +5725,11450 +5726,11452 +5727,11454 +5728,11456 +5729,11458 +5730,11460 +5731,11462 +5732,11464 +5733,11466 +5734,11468 +5735,11470 +5736,11472 +5737,11474 +5738,11476 +5739,11478 +5740,11480 +5741,11482 +5742,11484 +5743,11486 +5744,11488 +5745,11490 +5746,11492 +5747,11494 +5748,11496 +5749,11498 +5750,11500 +5751,11502 +5752,11504 +5753,11506 +5754,11508 +5755,11510 +5756,11512 +5757,11514 +5758,11516 +5759,11518 +5760,11520 +5761,11522 +5762,11524 +5763,11526 +5764,11528 +5765,11530 +5766,11532 +5767,11534 +5768,11536 +5769,11538 +5770,11540 +5771,11542 +5772,11544 +5773,11546 +5774,11548 +5775,11550 +5776,11552 +5777,11554 +5778,11556 +5779,11558 +5780,11560 +5781,11562 +5782,11564 +5783,11566 +5784,11568 +5785,11570 +5786,11572 +5787,11574 +5788,11576 +5789,11578 +5790,11580 +5791,11582 +5792,11584 +5793,11586 +5794,11588 +5795,11590 +5796,11592 +5797,11594 +5798,11596 +5799,11598 +5800,11600 +5801,11602 +5802,11604 +5803,11606 +5804,11608 +5805,11610 +5806,11612 +5807,11614 +5808,11616 +5809,11618 +5810,11620 +5811,11622 +5812,11624 +5813,11626 +5814,11628 +5815,11630 +5816,11632 +5817,11634 +5818,11636 +5819,11638 +5820,11640 +5821,11642 +5822,11644 +5823,11646 +5824,11648 +5825,11650 +5826,11652 +5827,11654 +5828,11656 +5829,11658 +5830,11660 +5831,11662 +5832,11664 +5833,11666 +5834,11668 +5835,11670 +5836,11672 +5837,11674 +5838,11676 +5839,11678 +5840,11680 +5841,11682 +5842,11684 +5843,11686 +5844,11688 +5845,11690 +5846,11692 +5847,11694 +5848,11696 +5849,11698 +5850,11700 +5851,11702 +5852,11704 +5853,11706 +5854,11708 +5855,11710 +5856,11712 +5857,11714 +5858,11716 +5859,11718 +5860,11720 +5861,11722 +5862,11724 +5863,11726 +5864,11728 +5865,11730 +5866,11732 +5867,11734 +5868,11736 +5869,11738 +5870,11740 +5871,11742 +5872,11744 +5873,11746 +5874,11748 +5875,11750 +5876,11752 +5877,11754 +5878,11756 +5879,11758 +5880,11760 +5881,11762 +5882,11764 +5883,11766 +5884,11768 +5885,11770 +5886,11772 +5887,11774 +5888,11776 +5889,11778 +5890,11780 +5891,11782 +5892,11784 +5893,11786 +5894,11788 +5895,11790 +5896,11792 +5897,11794 +5898,11796 +5899,11798 +5900,11800 +5901,11802 +5902,11804 +5903,11806 +5904,11808 +5905,11810 +5906,11812 +5907,11814 +5908,11816 +5909,11818 +5910,11820 +5911,11822 +5912,11824 +5913,11826 +5914,11828 +5915,11830 +5916,11832 +5917,11834 +5918,11836 +5919,11838 +5920,11840 +5921,11842 +5922,11844 +5923,11846 +5924,11848 +5925,11850 +5926,11852 +5927,11854 +5928,11856 +5929,11858 +5930,11860 +5931,11862 +5932,11864 +5933,11866 +5934,11868 +5935,11870 +5936,11872 +5937,11874 +5938,11876 +5939,11878 +5940,11880 +5941,11882 +5942,11884 +5943,11886 +5944,11888 +5945,11890 +5946,11892 +5947,11894 +5948,11896 +5949,11898 +5950,11900 +5951,11902 +5952,11904 +5953,11906 +5954,11908 +5955,11910 +5956,11912 +5957,11914 +5958,11916 +5959,11918 +5960,11920 +5961,11922 +5962,11924 +5963,11926 +5964,11928 +5965,11930 +5966,11932 +5967,11934 +5968,11936 +5969,11938 +5970,11940 +5971,11942 +5972,11944 +5973,11946 +5974,11948 +5975,11950 +5976,11952 +5977,11954 +5978,11956 +5979,11958 +5980,11960 +5981,11962 +5982,11964 +5983,11966 +5984,11968 +5985,11970 +5986,11972 +5987,11974 +5988,11976 +5989,11978 +5990,11980 +5991,11982 +5992,11984 +5993,11986 +5994,11988 +5995,11990 +5996,11992 +5997,11994 +5998,11996 +5999,11998 +6000,12000 +6001,12002 +6002,12004 +6003,12006 +6004,12008 +6005,12010 +6006,12012 +6007,12014 +6008,12016 +6009,12018 +6010,12020 +6011,12022 +6012,12024 +6013,12026 +6014,12028 +6015,12030 +6016,12032 +6017,12034 +6018,12036 +6019,12038 +6020,12040 +6021,12042 +6022,12044 +6023,12046 +6024,12048 +6025,12050 +6026,12052 +6027,12054 +6028,12056 +6029,12058 +6030,12060 +6031,12062 +6032,12064 +6033,12066 +6034,12068 +6035,12070 +6036,12072 +6037,12074 +6038,12076 +6039,12078 +6040,12080 +6041,12082 +6042,12084 +6043,12086 +6044,12088 +6045,12090 +6046,12092 +6047,12094 +6048,12096 +6049,12098 +6050,12100 +6051,12102 +6052,12104 +6053,12106 +6054,12108 +6055,12110 +6056,12112 +6057,12114 +6058,12116 +6059,12118 +6060,12120 +6061,12122 +6062,12124 +6063,12126 +6064,12128 +6065,12130 +6066,12132 +6067,12134 +6068,12136 +6069,12138 +6070,12140 +6071,12142 +6072,12144 +6073,12146 +6074,12148 +6075,12150 +6076,12152 +6077,12154 +6078,12156 +6079,12158 +6080,12160 +6081,12162 +6082,12164 +6083,12166 +6084,12168 +6085,12170 +6086,12172 +6087,12174 +6088,12176 +6089,12178 +6090,12180 +6091,12182 +6092,12184 +6093,12186 +6094,12188 +6095,12190 +6096,12192 +6097,12194 +6098,12196 +6099,12198 +6100,12200 +6101,12202 +6102,12204 +6103,12206 +6104,12208 +6105,12210 +6106,12212 +6107,12214 +6108,12216 +6109,12218 +6110,12220 +6111,12222 +6112,12224 +6113,12226 +6114,12228 +6115,12230 +6116,12232 +6117,12234 +6118,12236 +6119,12238 +6120,12240 +6121,12242 +6122,12244 +6123,12246 +6124,12248 +6125,12250 +6126,12252 +6127,12254 +6128,12256 +6129,12258 +6130,12260 +6131,12262 +6132,12264 +6133,12266 +6134,12268 +6135,12270 +6136,12272 +6137,12274 +6138,12276 +6139,12278 +6140,12280 +6141,12282 +6142,12284 +6143,12286 +6144,12288 +6145,12290 +6146,12292 +6147,12294 +6148,12296 +6149,12298 +6150,12300 +6151,12302 +6152,12304 +6153,12306 +6154,12308 +6155,12310 +6156,12312 +6157,12314 +6158,12316 +6159,12318 +6160,12320 +6161,12322 +6162,12324 +6163,12326 +6164,12328 +6165,12330 +6166,12332 +6167,12334 +6168,12336 +6169,12338 +6170,12340 +6171,12342 +6172,12344 +6173,12346 +6174,12348 +6175,12350 +6176,12352 +6177,12354 +6178,12356 +6179,12358 +6180,12360 +6181,12362 +6182,12364 +6183,12366 +6184,12368 +6185,12370 +6186,12372 +6187,12374 +6188,12376 +6189,12378 +6190,12380 +6191,12382 +6192,12384 +6193,12386 +6194,12388 +6195,12390 +6196,12392 +6197,12394 +6198,12396 +6199,12398 +6200,12400 +6201,12402 +6202,12404 +6203,12406 +6204,12408 +6205,12410 +6206,12412 +6207,12414 +6208,12416 +6209,12418 +6210,12420 +6211,12422 +6212,12424 +6213,12426 +6214,12428 +6215,12430 +6216,12432 +6217,12434 +6218,12436 +6219,12438 +6220,12440 +6221,12442 +6222,12444 +6223,12446 +6224,12448 +6225,12450 +6226,12452 +6227,12454 +6228,12456 +6229,12458 +6230,12460 +6231,12462 +6232,12464 +6233,12466 +6234,12468 +6235,12470 +6236,12472 +6237,12474 +6238,12476 +6239,12478 +6240,12480 +6241,12482 +6242,12484 +6243,12486 +6244,12488 +6245,12490 +6246,12492 +6247,12494 +6248,12496 +6249,12498 +6250,12500 +6251,12502 +6252,12504 +6253,12506 +6254,12508 +6255,12510 +6256,12512 +6257,12514 +6258,12516 +6259,12518 +6260,12520 +6261,12522 +6262,12524 +6263,12526 +6264,12528 +6265,12530 +6266,12532 +6267,12534 +6268,12536 +6269,12538 +6270,12540 +6271,12542 +6272,12544 +6273,12546 +6274,12548 +6275,12550 +6276,12552 +6277,12554 +6278,12556 +6279,12558 +6280,12560 +6281,12562 +6282,12564 +6283,12566 +6284,12568 +6285,12570 +6286,12572 +6287,12574 +6288,12576 +6289,12578 +6290,12580 +6291,12582 +6292,12584 +6293,12586 +6294,12588 +6295,12590 +6296,12592 +6297,12594 +6298,12596 +6299,12598 +6300,12600 +6301,12602 +6302,12604 +6303,12606 +6304,12608 +6305,12610 +6306,12612 +6307,12614 +6308,12616 +6309,12618 +6310,12620 +6311,12622 +6312,12624 +6313,12626 +6314,12628 +6315,12630 +6316,12632 +6317,12634 +6318,12636 +6319,12638 +6320,12640 +6321,12642 +6322,12644 +6323,12646 +6324,12648 +6325,12650 +6326,12652 +6327,12654 +6328,12656 +6329,12658 +6330,12660 +6331,12662 +6332,12664 +6333,12666 +6334,12668 +6335,12670 +6336,12672 +6337,12674 +6338,12676 +6339,12678 +6340,12680 +6341,12682 +6342,12684 +6343,12686 +6344,12688 +6345,12690 +6346,12692 +6347,12694 +6348,12696 +6349,12698 +6350,12700 +6351,12702 +6352,12704 +6353,12706 +6354,12708 +6355,12710 +6356,12712 +6357,12714 +6358,12716 +6359,12718 +6360,12720 +6361,12722 +6362,12724 +6363,12726 +6364,12728 +6365,12730 +6366,12732 +6367,12734 +6368,12736 +6369,12738 +6370,12740 +6371,12742 +6372,12744 +6373,12746 +6374,12748 +6375,12750 +6376,12752 +6377,12754 +6378,12756 +6379,12758 +6380,12760 +6381,12762 +6382,12764 +6383,12766 +6384,12768 +6385,12770 +6386,12772 +6387,12774 +6388,12776 +6389,12778 +6390,12780 +6391,12782 +6392,12784 +6393,12786 +6394,12788 +6395,12790 +6396,12792 +6397,12794 +6398,12796 +6399,12798 +6400,12800 +6401,12802 +6402,12804 +6403,12806 +6404,12808 +6405,12810 +6406,12812 +6407,12814 +6408,12816 +6409,12818 +6410,12820 +6411,12822 +6412,12824 +6413,12826 +6414,12828 +6415,12830 +6416,12832 +6417,12834 +6418,12836 +6419,12838 +6420,12840 +6421,12842 +6422,12844 +6423,12846 +6424,12848 +6425,12850 +6426,12852 +6427,12854 +6428,12856 +6429,12858 +6430,12860 +6431,12862 +6432,12864 +6433,12866 +6434,12868 +6435,12870 +6436,12872 +6437,12874 +6438,12876 +6439,12878 +6440,12880 +6441,12882 +6442,12884 +6443,12886 +6444,12888 +6445,12890 +6446,12892 +6447,12894 +6448,12896 +6449,12898 +6450,12900 +6451,12902 +6452,12904 +6453,12906 +6454,12908 +6455,12910 +6456,12912 +6457,12914 +6458,12916 +6459,12918 +6460,12920 +6461,12922 +6462,12924 +6463,12926 +6464,12928 +6465,12930 +6466,12932 +6467,12934 +6468,12936 +6469,12938 +6470,12940 +6471,12942 +6472,12944 +6473,12946 +6474,12948 +6475,12950 +6476,12952 +6477,12954 +6478,12956 +6479,12958 +6480,12960 +6481,12962 +6482,12964 +6483,12966 +6484,12968 +6485,12970 +6486,12972 +6487,12974 +6488,12976 +6489,12978 +6490,12980 +6491,12982 +6492,12984 +6493,12986 +6494,12988 +6495,12990 +6496,12992 +6497,12994 +6498,12996 +6499,12998 +6500,13000 +6501,13002 +6502,13004 +6503,13006 +6504,13008 +6505,13010 +6506,13012 +6507,13014 +6508,13016 +6509,13018 +6510,13020 +6511,13022 +6512,13024 +6513,13026 +6514,13028 +6515,13030 +6516,13032 +6517,13034 +6518,13036 +6519,13038 +6520,13040 +6521,13042 +6522,13044 +6523,13046 +6524,13048 +6525,13050 +6526,13052 +6527,13054 +6528,13056 +6529,13058 +6530,13060 +6531,13062 +6532,13064 +6533,13066 +6534,13068 +6535,13070 +6536,13072 +6537,13074 +6538,13076 +6539,13078 +6540,13080 +6541,13082 +6542,13084 +6543,13086 +6544,13088 +6545,13090 +6546,13092 +6547,13094 +6548,13096 +6549,13098 +6550,13100 +6551,13102 +6552,13104 +6553,13106 +6554,13108 +6555,13110 +6556,13112 +6557,13114 +6558,13116 +6559,13118 +6560,13120 +6561,13122 +6562,13124 +6563,13126 +6564,13128 +6565,13130 +6566,13132 +6567,13134 +6568,13136 +6569,13138 +6570,13140 +6571,13142 +6572,13144 +6573,13146 +6574,13148 +6575,13150 +6576,13152 +6577,13154 +6578,13156 +6579,13158 +6580,13160 +6581,13162 +6582,13164 +6583,13166 +6584,13168 +6585,13170 +6586,13172 +6587,13174 +6588,13176 +6589,13178 +6590,13180 +6591,13182 +6592,13184 +6593,13186 +6594,13188 +6595,13190 +6596,13192 +6597,13194 +6598,13196 +6599,13198 +6600,13200 +6601,13202 +6602,13204 +6603,13206 +6604,13208 +6605,13210 +6606,13212 +6607,13214 +6608,13216 +6609,13218 +6610,13220 +6611,13222 +6612,13224 +6613,13226 +6614,13228 +6615,13230 +6616,13232 +6617,13234 +6618,13236 +6619,13238 +6620,13240 +6621,13242 +6622,13244 +6623,13246 +6624,13248 +6625,13250 +6626,13252 +6627,13254 +6628,13256 +6629,13258 +6630,13260 +6631,13262 +6632,13264 +6633,13266 +6634,13268 +6635,13270 +6636,13272 +6637,13274 +6638,13276 +6639,13278 +6640,13280 +6641,13282 +6642,13284 +6643,13286 +6644,13288 +6645,13290 +6646,13292 +6647,13294 +6648,13296 +6649,13298 +6650,13300 +6651,13302 +6652,13304 +6653,13306 +6654,13308 +6655,13310 +6656,13312 +6657,13314 +6658,13316 +6659,13318 +6660,13320 +6661,13322 +6662,13324 +6663,13326 +6664,13328 +6665,13330 +6666,13332 +6667,13334 +6668,13336 +6669,13338 +6670,13340 +6671,13342 +6672,13344 +6673,13346 +6674,13348 +6675,13350 +6676,13352 +6677,13354 +6678,13356 +6679,13358 +6680,13360 +6681,13362 +6682,13364 +6683,13366 +6684,13368 +6685,13370 +6686,13372 +6687,13374 +6688,13376 +6689,13378 +6690,13380 +6691,13382 +6692,13384 +6693,13386 +6694,13388 +6695,13390 +6696,13392 +6697,13394 +6698,13396 +6699,13398 +6700,13400 +6701,13402 +6702,13404 +6703,13406 +6704,13408 +6705,13410 +6706,13412 +6707,13414 +6708,13416 +6709,13418 +6710,13420 +6711,13422 +6712,13424 +6713,13426 +6714,13428 +6715,13430 +6716,13432 +6717,13434 +6718,13436 +6719,13438 +6720,13440 +6721,13442 +6722,13444 +6723,13446 +6724,13448 +6725,13450 +6726,13452 +6727,13454 +6728,13456 +6729,13458 +6730,13460 +6731,13462 +6732,13464 +6733,13466 +6734,13468 +6735,13470 +6736,13472 +6737,13474 +6738,13476 +6739,13478 +6740,13480 +6741,13482 +6742,13484 +6743,13486 +6744,13488 +6745,13490 +6746,13492 +6747,13494 +6748,13496 +6749,13498 +6750,13500 +6751,13502 +6752,13504 +6753,13506 +6754,13508 +6755,13510 +6756,13512 +6757,13514 +6758,13516 +6759,13518 +6760,13520 +6761,13522 +6762,13524 +6763,13526 +6764,13528 +6765,13530 +6766,13532 +6767,13534 +6768,13536 +6769,13538 +6770,13540 +6771,13542 +6772,13544 +6773,13546 +6774,13548 +6775,13550 +6776,13552 +6777,13554 +6778,13556 +6779,13558 +6780,13560 +6781,13562 +6782,13564 +6783,13566 +6784,13568 +6785,13570 +6786,13572 +6787,13574 +6788,13576 +6789,13578 +6790,13580 +6791,13582 +6792,13584 +6793,13586 +6794,13588 +6795,13590 +6796,13592 +6797,13594 +6798,13596 +6799,13598 +6800,13600 +6801,13602 +6802,13604 +6803,13606 +6804,13608 +6805,13610 +6806,13612 +6807,13614 +6808,13616 +6809,13618 +6810,13620 +6811,13622 +6812,13624 +6813,13626 +6814,13628 +6815,13630 +6816,13632 +6817,13634 +6818,13636 +6819,13638 +6820,13640 +6821,13642 +6822,13644 +6823,13646 +6824,13648 +6825,13650 +6826,13652 +6827,13654 +6828,13656 +6829,13658 +6830,13660 +6831,13662 +6832,13664 +6833,13666 +6834,13668 +6835,13670 +6836,13672 +6837,13674 +6838,13676 +6839,13678 +6840,13680 +6841,13682 +6842,13684 +6843,13686 +6844,13688 +6845,13690 +6846,13692 +6847,13694 +6848,13696 +6849,13698 +6850,13700 +6851,13702 +6852,13704 +6853,13706 +6854,13708 +6855,13710 +6856,13712 +6857,13714 +6858,13716 +6859,13718 +6860,13720 +6861,13722 +6862,13724 +6863,13726 +6864,13728 +6865,13730 +6866,13732 +6867,13734 +6868,13736 +6869,13738 +6870,13740 +6871,13742 +6872,13744 +6873,13746 +6874,13748 +6875,13750 +6876,13752 +6877,13754 +6878,13756 +6879,13758 +6880,13760 +6881,13762 +6882,13764 +6883,13766 +6884,13768 +6885,13770 +6886,13772 +6887,13774 +6888,13776 +6889,13778 +6890,13780 +6891,13782 +6892,13784 +6893,13786 +6894,13788 +6895,13790 +6896,13792 +6897,13794 +6898,13796 +6899,13798 +6900,13800 +6901,13802 +6902,13804 +6903,13806 +6904,13808 +6905,13810 +6906,13812 +6907,13814 +6908,13816 +6909,13818 +6910,13820 +6911,13822 +6912,13824 +6913,13826 +6914,13828 +6915,13830 +6916,13832 +6917,13834 +6918,13836 +6919,13838 +6920,13840 +6921,13842 +6922,13844 +6923,13846 +6924,13848 +6925,13850 +6926,13852 +6927,13854 +6928,13856 +6929,13858 +6930,13860 +6931,13862 +6932,13864 +6933,13866 +6934,13868 +6935,13870 +6936,13872 +6937,13874 +6938,13876 +6939,13878 +6940,13880 +6941,13882 +6942,13884 +6943,13886 +6944,13888 +6945,13890 +6946,13892 +6947,13894 +6948,13896 +6949,13898 +6950,13900 +6951,13902 +6952,13904 +6953,13906 +6954,13908 +6955,13910 +6956,13912 +6957,13914 +6958,13916 +6959,13918 +6960,13920 +6961,13922 +6962,13924 +6963,13926 +6964,13928 +6965,13930 +6966,13932 +6967,13934 +6968,13936 +6969,13938 +6970,13940 +6971,13942 +6972,13944 +6973,13946 +6974,13948 +6975,13950 +6976,13952 +6977,13954 +6978,13956 +6979,13958 +6980,13960 +6981,13962 +6982,13964 +6983,13966 +6984,13968 +6985,13970 +6986,13972 +6987,13974 +6988,13976 +6989,13978 +6990,13980 +6991,13982 +6992,13984 +6993,13986 +6994,13988 +6995,13990 +6996,13992 +6997,13994 +6998,13996 +6999,13998 +7000,14000 +7001,14002 +7002,14004 +7003,14006 +7004,14008 +7005,14010 +7006,14012 +7007,14014 +7008,14016 +7009,14018 +7010,14020 +7011,14022 +7012,14024 +7013,14026 +7014,14028 +7015,14030 +7016,14032 +7017,14034 +7018,14036 +7019,14038 +7020,14040 +7021,14042 +7022,14044 +7023,14046 +7024,14048 +7025,14050 +7026,14052 +7027,14054 +7028,14056 +7029,14058 +7030,14060 +7031,14062 +7032,14064 +7033,14066 +7034,14068 +7035,14070 +7036,14072 +7037,14074 +7038,14076 +7039,14078 +7040,14080 +7041,14082 +7042,14084 +7043,14086 +7044,14088 +7045,14090 +7046,14092 +7047,14094 +7048,14096 +7049,14098 +7050,14100 +7051,14102 +7052,14104 +7053,14106 +7054,14108 +7055,14110 +7056,14112 +7057,14114 +7058,14116 +7059,14118 +7060,14120 +7061,14122 +7062,14124 +7063,14126 +7064,14128 +7065,14130 +7066,14132 +7067,14134 +7068,14136 +7069,14138 +7070,14140 +7071,14142 +7072,14144 +7073,14146 +7074,14148 +7075,14150 +7076,14152 +7077,14154 +7078,14156 +7079,14158 +7080,14160 +7081,14162 +7082,14164 +7083,14166 +7084,14168 +7085,14170 +7086,14172 +7087,14174 +7088,14176 +7089,14178 +7090,14180 +7091,14182 +7092,14184 +7093,14186 +7094,14188 +7095,14190 +7096,14192 +7097,14194 +7098,14196 +7099,14198 +7100,14200 +7101,14202 +7102,14204 +7103,14206 +7104,14208 +7105,14210 +7106,14212 +7107,14214 +7108,14216 +7109,14218 +7110,14220 +7111,14222 +7112,14224 +7113,14226 +7114,14228 +7115,14230 +7116,14232 +7117,14234 +7118,14236 +7119,14238 +7120,14240 +7121,14242 +7122,14244 +7123,14246 +7124,14248 +7125,14250 +7126,14252 +7127,14254 +7128,14256 +7129,14258 +7130,14260 +7131,14262 +7132,14264 +7133,14266 +7134,14268 +7135,14270 +7136,14272 +7137,14274 +7138,14276 +7139,14278 +7140,14280 +7141,14282 +7142,14284 +7143,14286 +7144,14288 +7145,14290 +7146,14292 +7147,14294 +7148,14296 +7149,14298 +7150,14300 +7151,14302 +7152,14304 +7153,14306 +7154,14308 +7155,14310 +7156,14312 +7157,14314 +7158,14316 +7159,14318 +7160,14320 +7161,14322 +7162,14324 +7163,14326 +7164,14328 +7165,14330 +7166,14332 +7167,14334 +7168,14336 +7169,14338 +7170,14340 +7171,14342 +7172,14344 +7173,14346 +7174,14348 +7175,14350 +7176,14352 +7177,14354 +7178,14356 +7179,14358 +7180,14360 +7181,14362 +7182,14364 +7183,14366 +7184,14368 +7185,14370 +7186,14372 +7187,14374 +7188,14376 +7189,14378 +7190,14380 +7191,14382 +7192,14384 +7193,14386 +7194,14388 +7195,14390 +7196,14392 +7197,14394 +7198,14396 +7199,14398 +7200,14400 +7201,14402 +7202,14404 +7203,14406 +7204,14408 +7205,14410 +7206,14412 +7207,14414 +7208,14416 +7209,14418 +7210,14420 +7211,14422 +7212,14424 +7213,14426 +7214,14428 +7215,14430 +7216,14432 +7217,14434 +7218,14436 +7219,14438 +7220,14440 +7221,14442 +7222,14444 +7223,14446 +7224,14448 +7225,14450 +7226,14452 +7227,14454 +7228,14456 +7229,14458 +7230,14460 +7231,14462 +7232,14464 +7233,14466 +7234,14468 +7235,14470 +7236,14472 +7237,14474 +7238,14476 +7239,14478 +7240,14480 +7241,14482 +7242,14484 +7243,14486 +7244,14488 +7245,14490 +7246,14492 +7247,14494 +7248,14496 +7249,14498 +7250,14500 +7251,14502 +7252,14504 +7253,14506 +7254,14508 +7255,14510 +7256,14512 +7257,14514 +7258,14516 +7259,14518 +7260,14520 +7261,14522 +7262,14524 +7263,14526 +7264,14528 +7265,14530 +7266,14532 +7267,14534 +7268,14536 +7269,14538 +7270,14540 +7271,14542 +7272,14544 +7273,14546 +7274,14548 +7275,14550 +7276,14552 +7277,14554 +7278,14556 +7279,14558 +7280,14560 +7281,14562 +7282,14564 +7283,14566 +7284,14568 +7285,14570 +7286,14572 +7287,14574 +7288,14576 +7289,14578 +7290,14580 +7291,14582 +7292,14584 +7293,14586 +7294,14588 +7295,14590 +7296,14592 +7297,14594 +7298,14596 +7299,14598 +7300,14600 +7301,14602 +7302,14604 +7303,14606 +7304,14608 +7305,14610 +7306,14612 +7307,14614 +7308,14616 +7309,14618 +7310,14620 +7311,14622 +7312,14624 +7313,14626 +7314,14628 +7315,14630 +7316,14632 +7317,14634 +7318,14636 +7319,14638 +7320,14640 +7321,14642 +7322,14644 +7323,14646 +7324,14648 +7325,14650 +7326,14652 +7327,14654 +7328,14656 +7329,14658 +7330,14660 +7331,14662 +7332,14664 +7333,14666 +7334,14668 +7335,14670 +7336,14672 +7337,14674 +7338,14676 +7339,14678 +7340,14680 +7341,14682 +7342,14684 +7343,14686 +7344,14688 +7345,14690 +7346,14692 +7347,14694 +7348,14696 +7349,14698 +7350,14700 +7351,14702 +7352,14704 +7353,14706 +7354,14708 +7355,14710 +7356,14712 +7357,14714 +7358,14716 +7359,14718 +7360,14720 +7361,14722 +7362,14724 +7363,14726 +7364,14728 +7365,14730 +7366,14732 +7367,14734 +7368,14736 +7369,14738 +7370,14740 +7371,14742 +7372,14744 +7373,14746 +7374,14748 +7375,14750 +7376,14752 +7377,14754 +7378,14756 +7379,14758 +7380,14760 +7381,14762 +7382,14764 +7383,14766 +7384,14768 +7385,14770 +7386,14772 +7387,14774 +7388,14776 +7389,14778 +7390,14780 +7391,14782 +7392,14784 +7393,14786 +7394,14788 +7395,14790 +7396,14792 +7397,14794 +7398,14796 +7399,14798 +7400,14800 +7401,14802 +7402,14804 +7403,14806 +7404,14808 +7405,14810 +7406,14812 +7407,14814 +7408,14816 +7409,14818 +7410,14820 +7411,14822 +7412,14824 +7413,14826 +7414,14828 +7415,14830 +7416,14832 +7417,14834 +7418,14836 +7419,14838 +7420,14840 +7421,14842 +7422,14844 +7423,14846 +7424,14848 +7425,14850 +7426,14852 +7427,14854 +7428,14856 +7429,14858 +7430,14860 +7431,14862 +7432,14864 +7433,14866 +7434,14868 +7435,14870 +7436,14872 +7437,14874 +7438,14876 +7439,14878 +7440,14880 +7441,14882 +7442,14884 +7443,14886 +7444,14888 +7445,14890 +7446,14892 +7447,14894 +7448,14896 +7449,14898 +7450,14900 +7451,14902 +7452,14904 +7453,14906 +7454,14908 +7455,14910 +7456,14912 +7457,14914 +7458,14916 +7459,14918 +7460,14920 +7461,14922 +7462,14924 +7463,14926 +7464,14928 +7465,14930 +7466,14932 +7467,14934 +7468,14936 +7469,14938 +7470,14940 +7471,14942 +7472,14944 +7473,14946 +7474,14948 +7475,14950 +7476,14952 +7477,14954 +7478,14956 +7479,14958 +7480,14960 +7481,14962 +7482,14964 +7483,14966 +7484,14968 +7485,14970 +7486,14972 +7487,14974 +7488,14976 +7489,14978 +7490,14980 +7491,14982 +7492,14984 +7493,14986 +7494,14988 +7495,14990 +7496,14992 +7497,14994 +7498,14996 +7499,14998 +7500,15000 +7501,15002 +7502,15004 +7503,15006 +7504,15008 +7505,15010 +7506,15012 +7507,15014 +7508,15016 +7509,15018 +7510,15020 +7511,15022 +7512,15024 +7513,15026 +7514,15028 +7515,15030 +7516,15032 +7517,15034 +7518,15036 +7519,15038 +7520,15040 +7521,15042 +7522,15044 +7523,15046 +7524,15048 +7525,15050 +7526,15052 +7527,15054 +7528,15056 +7529,15058 +7530,15060 +7531,15062 +7532,15064 +7533,15066 +7534,15068 +7535,15070 +7536,15072 +7537,15074 +7538,15076 +7539,15078 +7540,15080 +7541,15082 +7542,15084 +7543,15086 +7544,15088 +7545,15090 +7546,15092 +7547,15094 +7548,15096 +7549,15098 +7550,15100 +7551,15102 +7552,15104 +7553,15106 +7554,15108 +7555,15110 +7556,15112 +7557,15114 +7558,15116 +7559,15118 +7560,15120 +7561,15122 +7562,15124 +7563,15126 +7564,15128 +7565,15130 +7566,15132 +7567,15134 +7568,15136 +7569,15138 +7570,15140 +7571,15142 +7572,15144 +7573,15146 +7574,15148 +7575,15150 +7576,15152 +7577,15154 +7578,15156 +7579,15158 +7580,15160 +7581,15162 +7582,15164 +7583,15166 +7584,15168 +7585,15170 +7586,15172 +7587,15174 +7588,15176 +7589,15178 +7590,15180 +7591,15182 +7592,15184 +7593,15186 +7594,15188 +7595,15190 +7596,15192 +7597,15194 +7598,15196 +7599,15198 +7600,15200 +7601,15202 +7602,15204 +7603,15206 +7604,15208 +7605,15210 +7606,15212 +7607,15214 +7608,15216 +7609,15218 +7610,15220 +7611,15222 +7612,15224 +7613,15226 +7614,15228 +7615,15230 +7616,15232 +7617,15234 +7618,15236 +7619,15238 +7620,15240 +7621,15242 +7622,15244 +7623,15246 +7624,15248 +7625,15250 +7626,15252 +7627,15254 +7628,15256 +7629,15258 +7630,15260 +7631,15262 +7632,15264 +7633,15266 +7634,15268 +7635,15270 +7636,15272 +7637,15274 +7638,15276 +7639,15278 +7640,15280 +7641,15282 +7642,15284 +7643,15286 +7644,15288 +7645,15290 +7646,15292 +7647,15294 +7648,15296 +7649,15298 +7650,15300 +7651,15302 +7652,15304 +7653,15306 +7654,15308 +7655,15310 +7656,15312 +7657,15314 +7658,15316 +7659,15318 +7660,15320 +7661,15322 +7662,15324 +7663,15326 +7664,15328 +7665,15330 +7666,15332 +7667,15334 +7668,15336 +7669,15338 +7670,15340 +7671,15342 +7672,15344 +7673,15346 +7674,15348 +7675,15350 +7676,15352 +7677,15354 +7678,15356 +7679,15358 +7680,15360 +7681,15362 +7682,15364 +7683,15366 +7684,15368 +7685,15370 +7686,15372 +7687,15374 +7688,15376 +7689,15378 +7690,15380 +7691,15382 +7692,15384 +7693,15386 +7694,15388 +7695,15390 +7696,15392 +7697,15394 +7698,15396 +7699,15398 +7700,15400 +7701,15402 +7702,15404 +7703,15406 +7704,15408 +7705,15410 +7706,15412 +7707,15414 +7708,15416 +7709,15418 +7710,15420 +7711,15422 +7712,15424 +7713,15426 +7714,15428 +7715,15430 +7716,15432 +7717,15434 +7718,15436 +7719,15438 +7720,15440 +7721,15442 +7722,15444 +7723,15446 +7724,15448 +7725,15450 +7726,15452 +7727,15454 +7728,15456 +7729,15458 +7730,15460 +7731,15462 +7732,15464 +7733,15466 +7734,15468 +7735,15470 +7736,15472 +7737,15474 +7738,15476 +7739,15478 +7740,15480 +7741,15482 +7742,15484 +7743,15486 +7744,15488 +7745,15490 +7746,15492 +7747,15494 +7748,15496 +7749,15498 +7750,15500 +7751,15502 +7752,15504 +7753,15506 +7754,15508 +7755,15510 +7756,15512 +7757,15514 +7758,15516 +7759,15518 +7760,15520 +7761,15522 +7762,15524 +7763,15526 +7764,15528 +7765,15530 +7766,15532 +7767,15534 +7768,15536 +7769,15538 +7770,15540 +7771,15542 +7772,15544 +7773,15546 +7774,15548 +7775,15550 +7776,15552 +7777,15554 +7778,15556 +7779,15558 +7780,15560 +7781,15562 +7782,15564 +7783,15566 +7784,15568 +7785,15570 +7786,15572 +7787,15574 +7788,15576 +7789,15578 +7790,15580 +7791,15582 +7792,15584 +7793,15586 +7794,15588 +7795,15590 +7796,15592 +7797,15594 +7798,15596 +7799,15598 +7800,15600 +7801,15602 +7802,15604 +7803,15606 +7804,15608 +7805,15610 +7806,15612 +7807,15614 +7808,15616 +7809,15618 +7810,15620 +7811,15622 +7812,15624 +7813,15626 +7814,15628 +7815,15630 +7816,15632 +7817,15634 +7818,15636 +7819,15638 +7820,15640 +7821,15642 +7822,15644 +7823,15646 +7824,15648 +7825,15650 +7826,15652 +7827,15654 +7828,15656 +7829,15658 +7830,15660 +7831,15662 +7832,15664 +7833,15666 +7834,15668 +7835,15670 +7836,15672 +7837,15674 +7838,15676 +7839,15678 +7840,15680 +7841,15682 +7842,15684 +7843,15686 +7844,15688 +7845,15690 +7846,15692 +7847,15694 +7848,15696 +7849,15698 +7850,15700 +7851,15702 +7852,15704 +7853,15706 +7854,15708 +7855,15710 +7856,15712 +7857,15714 +7858,15716 +7859,15718 +7860,15720 +7861,15722 +7862,15724 +7863,15726 +7864,15728 +7865,15730 +7866,15732 +7867,15734 +7868,15736 +7869,15738 +7870,15740 +7871,15742 +7872,15744 +7873,15746 +7874,15748 +7875,15750 +7876,15752 +7877,15754 +7878,15756 +7879,15758 +7880,15760 +7881,15762 +7882,15764 +7883,15766 +7884,15768 +7885,15770 +7886,15772 +7887,15774 +7888,15776 +7889,15778 +7890,15780 +7891,15782 +7892,15784 +7893,15786 +7894,15788 +7895,15790 +7896,15792 +7897,15794 +7898,15796 +7899,15798 +7900,15800 +7901,15802 +7902,15804 +7903,15806 +7904,15808 +7905,15810 +7906,15812 +7907,15814 +7908,15816 +7909,15818 +7910,15820 +7911,15822 +7912,15824 +7913,15826 +7914,15828 +7915,15830 +7916,15832 +7917,15834 +7918,15836 +7919,15838 +7920,15840 +7921,15842 +7922,15844 +7923,15846 +7924,15848 +7925,15850 +7926,15852 +7927,15854 +7928,15856 +7929,15858 +7930,15860 +7931,15862 +7932,15864 +7933,15866 +7934,15868 +7935,15870 +7936,15872 +7937,15874 +7938,15876 +7939,15878 +7940,15880 +7941,15882 +7942,15884 +7943,15886 +7944,15888 +7945,15890 +7946,15892 +7947,15894 +7948,15896 +7949,15898 +7950,15900 +7951,15902 +7952,15904 +7953,15906 +7954,15908 +7955,15910 +7956,15912 +7957,15914 +7958,15916 +7959,15918 +7960,15920 +7961,15922 +7962,15924 +7963,15926 +7964,15928 +7965,15930 +7966,15932 +7967,15934 +7968,15936 +7969,15938 +7970,15940 +7971,15942 +7972,15944 +7973,15946 +7974,15948 +7975,15950 +7976,15952 +7977,15954 +7978,15956 +7979,15958 +7980,15960 +7981,15962 +7982,15964 +7983,15966 +7984,15968 +7985,15970 +7986,15972 +7987,15974 +7988,15976 +7989,15978 +7990,15980 +7991,15982 +7992,15984 +7993,15986 +7994,15988 +7995,15990 +7996,15992 +7997,15994 +7998,15996 +7999,15998 +8000,16000 +8001,16002 +8002,16004 +8003,16006 +8004,16008 +8005,16010 +8006,16012 +8007,16014 +8008,16016 +8009,16018 +8010,16020 +8011,16022 +8012,16024 +8013,16026 +8014,16028 +8015,16030 +8016,16032 +8017,16034 +8018,16036 +8019,16038 +8020,16040 +8021,16042 +8022,16044 +8023,16046 +8024,16048 +8025,16050 +8026,16052 +8027,16054 +8028,16056 +8029,16058 +8030,16060 +8031,16062 +8032,16064 +8033,16066 +8034,16068 +8035,16070 +8036,16072 +8037,16074 +8038,16076 +8039,16078 +8040,16080 +8041,16082 +8042,16084 +8043,16086 +8044,16088 +8045,16090 +8046,16092 +8047,16094 +8048,16096 +8049,16098 +8050,16100 +8051,16102 +8052,16104 +8053,16106 +8054,16108 +8055,16110 +8056,16112 +8057,16114 +8058,16116 +8059,16118 +8060,16120 +8061,16122 +8062,16124 +8063,16126 +8064,16128 +8065,16130 +8066,16132 +8067,16134 +8068,16136 +8069,16138 +8070,16140 +8071,16142 +8072,16144 +8073,16146 +8074,16148 +8075,16150 +8076,16152 +8077,16154 +8078,16156 +8079,16158 +8080,16160 +8081,16162 +8082,16164 +8083,16166 +8084,16168 +8085,16170 +8086,16172 +8087,16174 +8088,16176 +8089,16178 +8090,16180 +8091,16182 +8092,16184 +8093,16186 +8094,16188 +8095,16190 +8096,16192 +8097,16194 +8098,16196 +8099,16198 +8100,16200 +8101,16202 +8102,16204 +8103,16206 +8104,16208 +8105,16210 +8106,16212 +8107,16214 +8108,16216 +8109,16218 +8110,16220 +8111,16222 +8112,16224 +8113,16226 +8114,16228 +8115,16230 +8116,16232 +8117,16234 +8118,16236 +8119,16238 +8120,16240 +8121,16242 +8122,16244 +8123,16246 +8124,16248 +8125,16250 +8126,16252 +8127,16254 +8128,16256 +8129,16258 +8130,16260 +8131,16262 +8132,16264 +8133,16266 +8134,16268 +8135,16270 +8136,16272 +8137,16274 +8138,16276 +8139,16278 +8140,16280 +8141,16282 +8142,16284 +8143,16286 +8144,16288 +8145,16290 +8146,16292 +8147,16294 +8148,16296 +8149,16298 +8150,16300 +8151,16302 +8152,16304 +8153,16306 +8154,16308 +8155,16310 +8156,16312 +8157,16314 +8158,16316 +8159,16318 +8160,16320 +8161,16322 +8162,16324 +8163,16326 +8164,16328 +8165,16330 +8166,16332 +8167,16334 +8168,16336 +8169,16338 +8170,16340 +8171,16342 +8172,16344 +8173,16346 +8174,16348 +8175,16350 +8176,16352 +8177,16354 +8178,16356 +8179,16358 +8180,16360 +8181,16362 +8182,16364 +8183,16366 +8184,16368 +8185,16370 +8186,16372 +8187,16374 +8188,16376 +8189,16378 +8190,16380 +8191,16382 +8192,16384 +8193,16386 +8194,16388 +8195,16390 +8196,16392 +8197,16394 +8198,16396 +8199,16398 +8200,16400 +8201,16402 +8202,16404 +8203,16406 +8204,16408 +8205,16410 +8206,16412 +8207,16414 +8208,16416 +8209,16418 +8210,16420 +8211,16422 +8212,16424 +8213,16426 +8214,16428 +8215,16430 +8216,16432 +8217,16434 +8218,16436 +8219,16438 +8220,16440 +8221,16442 +8222,16444 +8223,16446 +8224,16448 +8225,16450 +8226,16452 +8227,16454 +8228,16456 +8229,16458 +8230,16460 +8231,16462 +8232,16464 +8233,16466 +8234,16468 +8235,16470 +8236,16472 +8237,16474 +8238,16476 +8239,16478 +8240,16480 +8241,16482 +8242,16484 +8243,16486 +8244,16488 +8245,16490 +8246,16492 +8247,16494 +8248,16496 +8249,16498 +8250,16500 +8251,16502 +8252,16504 +8253,16506 +8254,16508 +8255,16510 +8256,16512 +8257,16514 +8258,16516 +8259,16518 +8260,16520 +8261,16522 +8262,16524 +8263,16526 +8264,16528 +8265,16530 +8266,16532 +8267,16534 +8268,16536 +8269,16538 +8270,16540 +8271,16542 +8272,16544 +8273,16546 +8274,16548 +8275,16550 +8276,16552 +8277,16554 +8278,16556 +8279,16558 +8280,16560 +8281,16562 +8282,16564 +8283,16566 +8284,16568 +8285,16570 +8286,16572 +8287,16574 +8288,16576 +8289,16578 +8290,16580 +8291,16582 +8292,16584 +8293,16586 +8294,16588 +8295,16590 +8296,16592 +8297,16594 +8298,16596 +8299,16598 +8300,16600 +8301,16602 +8302,16604 +8303,16606 +8304,16608 +8305,16610 +8306,16612 +8307,16614 +8308,16616 +8309,16618 +8310,16620 +8311,16622 +8312,16624 +8313,16626 +8314,16628 +8315,16630 +8316,16632 +8317,16634 +8318,16636 +8319,16638 +8320,16640 +8321,16642 +8322,16644 +8323,16646 +8324,16648 +8325,16650 +8326,16652 +8327,16654 +8328,16656 +8329,16658 +8330,16660 +8331,16662 +8332,16664 +8333,16666 +8334,16668 +8335,16670 +8336,16672 +8337,16674 +8338,16676 +8339,16678 +8340,16680 +8341,16682 +8342,16684 +8343,16686 +8344,16688 +8345,16690 +8346,16692 +8347,16694 +8348,16696 +8349,16698 +8350,16700 +8351,16702 +8352,16704 +8353,16706 +8354,16708 +8355,16710 +8356,16712 +8357,16714 +8358,16716 +8359,16718 +8360,16720 +8361,16722 +8362,16724 +8363,16726 +8364,16728 +8365,16730 +8366,16732 +8367,16734 +8368,16736 +8369,16738 +8370,16740 +8371,16742 +8372,16744 +8373,16746 +8374,16748 +8375,16750 +8376,16752 +8377,16754 +8378,16756 +8379,16758 +8380,16760 +8381,16762 +8382,16764 +8383,16766 +8384,16768 +8385,16770 +8386,16772 +8387,16774 +8388,16776 +8389,16778 +8390,16780 +8391,16782 +8392,16784 +8393,16786 +8394,16788 +8395,16790 +8396,16792 +8397,16794 +8398,16796 +8399,16798 +8400,16800 +8401,16802 +8402,16804 +8403,16806 +8404,16808 +8405,16810 +8406,16812 +8407,16814 +8408,16816 +8409,16818 +8410,16820 +8411,16822 +8412,16824 +8413,16826 +8414,16828 +8415,16830 +8416,16832 +8417,16834 +8418,16836 +8419,16838 +8420,16840 +8421,16842 +8422,16844 +8423,16846 +8424,16848 +8425,16850 +8426,16852 +8427,16854 +8428,16856 +8429,16858 +8430,16860 +8431,16862 +8432,16864 +8433,16866 +8434,16868 +8435,16870 +8436,16872 +8437,16874 +8438,16876 +8439,16878 +8440,16880 +8441,16882 +8442,16884 +8443,16886 +8444,16888 +8445,16890 +8446,16892 +8447,16894 +8448,16896 +8449,16898 +8450,16900 +8451,16902 +8452,16904 +8453,16906 +8454,16908 +8455,16910 +8456,16912 +8457,16914 +8458,16916 +8459,16918 +8460,16920 +8461,16922 +8462,16924 +8463,16926 +8464,16928 +8465,16930 +8466,16932 +8467,16934 +8468,16936 +8469,16938 +8470,16940 +8471,16942 +8472,16944 +8473,16946 +8474,16948 +8475,16950 +8476,16952 +8477,16954 +8478,16956 +8479,16958 +8480,16960 +8481,16962 +8482,16964 +8483,16966 +8484,16968 +8485,16970 +8486,16972 +8487,16974 +8488,16976 +8489,16978 +8490,16980 +8491,16982 +8492,16984 +8493,16986 +8494,16988 +8495,16990 +8496,16992 +8497,16994 +8498,16996 +8499,16998 +8500,17000 +8501,17002 +8502,17004 +8503,17006 +8504,17008 +8505,17010 +8506,17012 +8507,17014 +8508,17016 +8509,17018 +8510,17020 +8511,17022 +8512,17024 +8513,17026 +8514,17028 +8515,17030 +8516,17032 +8517,17034 +8518,17036 +8519,17038 +8520,17040 +8521,17042 +8522,17044 +8523,17046 +8524,17048 +8525,17050 +8526,17052 +8527,17054 +8528,17056 +8529,17058 +8530,17060 +8531,17062 +8532,17064 +8533,17066 +8534,17068 +8535,17070 +8536,17072 +8537,17074 +8538,17076 +8539,17078 +8540,17080 +8541,17082 +8542,17084 +8543,17086 +8544,17088 +8545,17090 +8546,17092 +8547,17094 +8548,17096 +8549,17098 +8550,17100 +8551,17102 +8552,17104 +8553,17106 +8554,17108 +8555,17110 +8556,17112 +8557,17114 +8558,17116 +8559,17118 +8560,17120 +8561,17122 +8562,17124 +8563,17126 +8564,17128 +8565,17130 +8566,17132 +8567,17134 +8568,17136 +8569,17138 +8570,17140 +8571,17142 +8572,17144 +8573,17146 +8574,17148 +8575,17150 +8576,17152 +8577,17154 +8578,17156 +8579,17158 +8580,17160 +8581,17162 +8582,17164 +8583,17166 +8584,17168 +8585,17170 +8586,17172 +8587,17174 +8588,17176 +8589,17178 +8590,17180 +8591,17182 +8592,17184 +8593,17186 +8594,17188 +8595,17190 +8596,17192 +8597,17194 +8598,17196 +8599,17198 +8600,17200 +8601,17202 +8602,17204 +8603,17206 +8604,17208 +8605,17210 +8606,17212 +8607,17214 +8608,17216 +8609,17218 +8610,17220 +8611,17222 +8612,17224 +8613,17226 +8614,17228 +8615,17230 +8616,17232 +8617,17234 +8618,17236 +8619,17238 +8620,17240 +8621,17242 +8622,17244 +8623,17246 +8624,17248 +8625,17250 +8626,17252 +8627,17254 +8628,17256 +8629,17258 +8630,17260 +8631,17262 +8632,17264 +8633,17266 +8634,17268 +8635,17270 +8636,17272 +8637,17274 +8638,17276 +8639,17278 +8640,17280 +8641,17282 +8642,17284 +8643,17286 +8644,17288 +8645,17290 +8646,17292 +8647,17294 +8648,17296 +8649,17298 +8650,17300 +8651,17302 +8652,17304 +8653,17306 +8654,17308 +8655,17310 +8656,17312 +8657,17314 +8658,17316 +8659,17318 +8660,17320 +8661,17322 +8662,17324 +8663,17326 +8664,17328 +8665,17330 +8666,17332 +8667,17334 +8668,17336 +8669,17338 +8670,17340 +8671,17342 +8672,17344 +8673,17346 +8674,17348 +8675,17350 +8676,17352 +8677,17354 +8678,17356 +8679,17358 +8680,17360 +8681,17362 +8682,17364 +8683,17366 +8684,17368 +8685,17370 +8686,17372 +8687,17374 +8688,17376 +8689,17378 +8690,17380 +8691,17382 +8692,17384 +8693,17386 +8694,17388 +8695,17390 +8696,17392 +8697,17394 +8698,17396 +8699,17398 +8700,17400 +8701,17402 +8702,17404 +8703,17406 +8704,17408 +8705,17410 +8706,17412 +8707,17414 +8708,17416 +8709,17418 +8710,17420 +8711,17422 +8712,17424 +8713,17426 +8714,17428 +8715,17430 +8716,17432 +8717,17434 +8718,17436 +8719,17438 +8720,17440 +8721,17442 +8722,17444 +8723,17446 +8724,17448 +8725,17450 +8726,17452 +8727,17454 +8728,17456 +8729,17458 +8730,17460 +8731,17462 +8732,17464 +8733,17466 +8734,17468 +8735,17470 +8736,17472 +8737,17474 +8738,17476 +8739,17478 +8740,17480 +8741,17482 +8742,17484 +8743,17486 +8744,17488 +8745,17490 +8746,17492 +8747,17494 +8748,17496 +8749,17498 +8750,17500 +8751,17502 +8752,17504 +8753,17506 +8754,17508 +8755,17510 +8756,17512 +8757,17514 +8758,17516 +8759,17518 +8760,17520 +8761,17522 +8762,17524 +8763,17526 +8764,17528 +8765,17530 +8766,17532 +8767,17534 +8768,17536 +8769,17538 +8770,17540 +8771,17542 +8772,17544 +8773,17546 +8774,17548 +8775,17550 +8776,17552 +8777,17554 +8778,17556 +8779,17558 +8780,17560 +8781,17562 +8782,17564 +8783,17566 +8784,17568 +8785,17570 +8786,17572 +8787,17574 +8788,17576 +8789,17578 +8790,17580 +8791,17582 +8792,17584 +8793,17586 +8794,17588 +8795,17590 +8796,17592 +8797,17594 +8798,17596 +8799,17598 +8800,17600 +8801,17602 +8802,17604 +8803,17606 +8804,17608 +8805,17610 +8806,17612 +8807,17614 +8808,17616 +8809,17618 +8810,17620 +8811,17622 +8812,17624 +8813,17626 +8814,17628 +8815,17630 +8816,17632 +8817,17634 +8818,17636 +8819,17638 +8820,17640 +8821,17642 +8822,17644 +8823,17646 +8824,17648 +8825,17650 +8826,17652 +8827,17654 +8828,17656 +8829,17658 +8830,17660 +8831,17662 +8832,17664 +8833,17666 +8834,17668 +8835,17670 +8836,17672 +8837,17674 +8838,17676 +8839,17678 +8840,17680 +8841,17682 +8842,17684 +8843,17686 +8844,17688 +8845,17690 +8846,17692 +8847,17694 +8848,17696 +8849,17698 +8850,17700 +8851,17702 +8852,17704 +8853,17706 +8854,17708 +8855,17710 +8856,17712 +8857,17714 +8858,17716 +8859,17718 +8860,17720 +8861,17722 +8862,17724 +8863,17726 +8864,17728 +8865,17730 +8866,17732 +8867,17734 +8868,17736 +8869,17738 +8870,17740 +8871,17742 +8872,17744 +8873,17746 +8874,17748 +8875,17750 +8876,17752 +8877,17754 +8878,17756 +8879,17758 +8880,17760 +8881,17762 +8882,17764 +8883,17766 +8884,17768 +8885,17770 +8886,17772 +8887,17774 +8888,17776 +8889,17778 +8890,17780 +8891,17782 +8892,17784 +8893,17786 +8894,17788 +8895,17790 +8896,17792 +8897,17794 +8898,17796 +8899,17798 +8900,17800 +8901,17802 +8902,17804 +8903,17806 +8904,17808 +8905,17810 +8906,17812 +8907,17814 +8908,17816 +8909,17818 +8910,17820 +8911,17822 +8912,17824 +8913,17826 +8914,17828 +8915,17830 +8916,17832 +8917,17834 +8918,17836 +8919,17838 +8920,17840 +8921,17842 +8922,17844 +8923,17846 +8924,17848 +8925,17850 +8926,17852 +8927,17854 +8928,17856 +8929,17858 +8930,17860 +8931,17862 +8932,17864 +8933,17866 +8934,17868 +8935,17870 +8936,17872 +8937,17874 +8938,17876 +8939,17878 +8940,17880 +8941,17882 +8942,17884 +8943,17886 +8944,17888 +8945,17890 +8946,17892 +8947,17894 +8948,17896 +8949,17898 +8950,17900 +8951,17902 +8952,17904 +8953,17906 +8954,17908 +8955,17910 +8956,17912 +8957,17914 +8958,17916 +8959,17918 +8960,17920 +8961,17922 +8962,17924 +8963,17926 +8964,17928 +8965,17930 +8966,17932 +8967,17934 +8968,17936 +8969,17938 +8970,17940 +8971,17942 +8972,17944 +8973,17946 +8974,17948 +8975,17950 +8976,17952 +8977,17954 +8978,17956 +8979,17958 +8980,17960 +8981,17962 +8982,17964 +8983,17966 +8984,17968 +8985,17970 +8986,17972 +8987,17974 +8988,17976 +8989,17978 +8990,17980 +8991,17982 +8992,17984 +8993,17986 +8994,17988 +8995,17990 +8996,17992 +8997,17994 +8998,17996 +8999,17998 +9000,18000 +9001,18002 +9002,18004 +9003,18006 +9004,18008 +9005,18010 +9006,18012 +9007,18014 +9008,18016 +9009,18018 +9010,18020 +9011,18022 +9012,18024 +9013,18026 +9014,18028 +9015,18030 +9016,18032 +9017,18034 +9018,18036 +9019,18038 +9020,18040 +9021,18042 +9022,18044 +9023,18046 +9024,18048 +9025,18050 +9026,18052 +9027,18054 +9028,18056 +9029,18058 +9030,18060 +9031,18062 +9032,18064 +9033,18066 +9034,18068 +9035,18070 +9036,18072 +9037,18074 +9038,18076 +9039,18078 +9040,18080 +9041,18082 +9042,18084 +9043,18086 +9044,18088 +9045,18090 +9046,18092 +9047,18094 +9048,18096 +9049,18098 +9050,18100 +9051,18102 +9052,18104 +9053,18106 +9054,18108 +9055,18110 +9056,18112 +9057,18114 +9058,18116 +9059,18118 +9060,18120 +9061,18122 +9062,18124 +9063,18126 +9064,18128 +9065,18130 +9066,18132 +9067,18134 +9068,18136 +9069,18138 +9070,18140 +9071,18142 +9072,18144 +9073,18146 +9074,18148 +9075,18150 +9076,18152 +9077,18154 +9078,18156 +9079,18158 +9080,18160 +9081,18162 +9082,18164 +9083,18166 +9084,18168 +9085,18170 +9086,18172 +9087,18174 +9088,18176 +9089,18178 +9090,18180 +9091,18182 +9092,18184 +9093,18186 +9094,18188 +9095,18190 +9096,18192 +9097,18194 +9098,18196 +9099,18198 +9100,18200 +9101,18202 +9102,18204 +9103,18206 +9104,18208 +9105,18210 +9106,18212 +9107,18214 +9108,18216 +9109,18218 +9110,18220 +9111,18222 +9112,18224 +9113,18226 +9114,18228 +9115,18230 +9116,18232 +9117,18234 +9118,18236 +9119,18238 +9120,18240 +9121,18242 +9122,18244 +9123,18246 +9124,18248 +9125,18250 +9126,18252 +9127,18254 +9128,18256 +9129,18258 +9130,18260 +9131,18262 +9132,18264 +9133,18266 +9134,18268 +9135,18270 +9136,18272 +9137,18274 +9138,18276 +9139,18278 +9140,18280 +9141,18282 +9142,18284 +9143,18286 +9144,18288 +9145,18290 +9146,18292 +9147,18294 +9148,18296 +9149,18298 +9150,18300 +9151,18302 +9152,18304 +9153,18306 +9154,18308 +9155,18310 +9156,18312 +9157,18314 +9158,18316 +9159,18318 +9160,18320 +9161,18322 +9162,18324 +9163,18326 +9164,18328 +9165,18330 +9166,18332 +9167,18334 +9168,18336 +9169,18338 +9170,18340 +9171,18342 +9172,18344 +9173,18346 +9174,18348 +9175,18350 +9176,18352 +9177,18354 +9178,18356 +9179,18358 +9180,18360 +9181,18362 +9182,18364 +9183,18366 +9184,18368 +9185,18370 +9186,18372 +9187,18374 +9188,18376 +9189,18378 +9190,18380 +9191,18382 +9192,18384 +9193,18386 +9194,18388 +9195,18390 +9196,18392 +9197,18394 +9198,18396 +9199,18398 +9200,18400 +9201,18402 +9202,18404 +9203,18406 +9204,18408 +9205,18410 +9206,18412 +9207,18414 +9208,18416 +9209,18418 +9210,18420 +9211,18422 +9212,18424 +9213,18426 +9214,18428 +9215,18430 +9216,18432 +9217,18434 +9218,18436 +9219,18438 +9220,18440 +9221,18442 +9222,18444 +9223,18446 +9224,18448 +9225,18450 +9226,18452 +9227,18454 +9228,18456 +9229,18458 +9230,18460 +9231,18462 +9232,18464 +9233,18466 +9234,18468 +9235,18470 +9236,18472 +9237,18474 +9238,18476 +9239,18478 +9240,18480 +9241,18482 +9242,18484 +9243,18486 +9244,18488 +9245,18490 +9246,18492 +9247,18494 +9248,18496 +9249,18498 +9250,18500 +9251,18502 +9252,18504 +9253,18506 +9254,18508 +9255,18510 +9256,18512 +9257,18514 +9258,18516 +9259,18518 +9260,18520 +9261,18522 +9262,18524 +9263,18526 +9264,18528 +9265,18530 +9266,18532 +9267,18534 +9268,18536 +9269,18538 +9270,18540 +9271,18542 +9272,18544 +9273,18546 +9274,18548 +9275,18550 +9276,18552 +9277,18554 +9278,18556 +9279,18558 +9280,18560 +9281,18562 +9282,18564 +9283,18566 +9284,18568 +9285,18570 +9286,18572 +9287,18574 +9288,18576 +9289,18578 +9290,18580 +9291,18582 +9292,18584 +9293,18586 +9294,18588 +9295,18590 +9296,18592 +9297,18594 +9298,18596 +9299,18598 +9300,18600 +9301,18602 +9302,18604 +9303,18606 +9304,18608 +9305,18610 +9306,18612 +9307,18614 +9308,18616 +9309,18618 +9310,18620 +9311,18622 +9312,18624 +9313,18626 +9314,18628 +9315,18630 +9316,18632 +9317,18634 +9318,18636 +9319,18638 +9320,18640 +9321,18642 +9322,18644 +9323,18646 +9324,18648 +9325,18650 +9326,18652 +9327,18654 +9328,18656 +9329,18658 +9330,18660 +9331,18662 +9332,18664 +9333,18666 +9334,18668 +9335,18670 +9336,18672 +9337,18674 +9338,18676 +9339,18678 +9340,18680 +9341,18682 +9342,18684 +9343,18686 +9344,18688 +9345,18690 +9346,18692 +9347,18694 +9348,18696 +9349,18698 +9350,18700 +9351,18702 +9352,18704 +9353,18706 +9354,18708 +9355,18710 +9356,18712 +9357,18714 +9358,18716 +9359,18718 +9360,18720 +9361,18722 +9362,18724 +9363,18726 +9364,18728 +9365,18730 +9366,18732 +9367,18734 +9368,18736 +9369,18738 +9370,18740 +9371,18742 +9372,18744 +9373,18746 +9374,18748 +9375,18750 +9376,18752 +9377,18754 +9378,18756 +9379,18758 +9380,18760 +9381,18762 +9382,18764 +9383,18766 +9384,18768 +9385,18770 +9386,18772 +9387,18774 +9388,18776 +9389,18778 +9390,18780 +9391,18782 +9392,18784 +9393,18786 +9394,18788 +9395,18790 +9396,18792 +9397,18794 +9398,18796 +9399,18798 +9400,18800 +9401,18802 +9402,18804 +9403,18806 +9404,18808 +9405,18810 +9406,18812 +9407,18814 +9408,18816 +9409,18818 +9410,18820 +9411,18822 +9412,18824 +9413,18826 +9414,18828 +9415,18830 +9416,18832 +9417,18834 +9418,18836 +9419,18838 +9420,18840 +9421,18842 +9422,18844 +9423,18846 +9424,18848 +9425,18850 +9426,18852 +9427,18854 +9428,18856 +9429,18858 +9430,18860 +9431,18862 +9432,18864 +9433,18866 +9434,18868 +9435,18870 +9436,18872 +9437,18874 +9438,18876 +9439,18878 +9440,18880 +9441,18882 +9442,18884 +9443,18886 +9444,18888 +9445,18890 +9446,18892 +9447,18894 +9448,18896 +9449,18898 +9450,18900 +9451,18902 +9452,18904 +9453,18906 +9454,18908 +9455,18910 +9456,18912 +9457,18914 +9458,18916 +9459,18918 +9460,18920 +9461,18922 +9462,18924 +9463,18926 +9464,18928 +9465,18930 +9466,18932 +9467,18934 +9468,18936 +9469,18938 +9470,18940 +9471,18942 +9472,18944 +9473,18946 +9474,18948 +9475,18950 +9476,18952 +9477,18954 +9478,18956 +9479,18958 +9480,18960 +9481,18962 +9482,18964 +9483,18966 +9484,18968 +9485,18970 +9486,18972 +9487,18974 +9488,18976 +9489,18978 +9490,18980 +9491,18982 +9492,18984 +9493,18986 +9494,18988 +9495,18990 +9496,18992 +9497,18994 +9498,18996 +9499,18998 +9500,19000 +9501,19002 +9502,19004 +9503,19006 +9504,19008 +9505,19010 +9506,19012 +9507,19014 +9508,19016 +9509,19018 +9510,19020 +9511,19022 +9512,19024 +9513,19026 +9514,19028 +9515,19030 +9516,19032 +9517,19034 +9518,19036 +9519,19038 +9520,19040 +9521,19042 +9522,19044 +9523,19046 +9524,19048 +9525,19050 +9526,19052 +9527,19054 +9528,19056 +9529,19058 +9530,19060 +9531,19062 +9532,19064 +9533,19066 +9534,19068 +9535,19070 +9536,19072 +9537,19074 +9538,19076 +9539,19078 +9540,19080 +9541,19082 +9542,19084 +9543,19086 +9544,19088 +9545,19090 +9546,19092 +9547,19094 +9548,19096 +9549,19098 +9550,19100 +9551,19102 +9552,19104 +9553,19106 +9554,19108 +9555,19110 +9556,19112 +9557,19114 +9558,19116 +9559,19118 +9560,19120 +9561,19122 +9562,19124 +9563,19126 +9564,19128 +9565,19130 +9566,19132 +9567,19134 +9568,19136 +9569,19138 +9570,19140 +9571,19142 +9572,19144 +9573,19146 +9574,19148 +9575,19150 +9576,19152 +9577,19154 +9578,19156 +9579,19158 +9580,19160 +9581,19162 +9582,19164 +9583,19166 +9584,19168 +9585,19170 +9586,19172 +9587,19174 +9588,19176 +9589,19178 +9590,19180 +9591,19182 +9592,19184 +9593,19186 +9594,19188 +9595,19190 +9596,19192 +9597,19194 +9598,19196 +9599,19198 +9600,19200 +9601,19202 +9602,19204 +9603,19206 +9604,19208 +9605,19210 +9606,19212 +9607,19214 +9608,19216 +9609,19218 +9610,19220 +9611,19222 +9612,19224 +9613,19226 +9614,19228 +9615,19230 +9616,19232 +9617,19234 +9618,19236 +9619,19238 +9620,19240 +9621,19242 +9622,19244 +9623,19246 +9624,19248 +9625,19250 +9626,19252 +9627,19254 +9628,19256 +9629,19258 +9630,19260 +9631,19262 +9632,19264 +9633,19266 +9634,19268 +9635,19270 +9636,19272 +9637,19274 +9638,19276 +9639,19278 +9640,19280 +9641,19282 +9642,19284 +9643,19286 +9644,19288 +9645,19290 +9646,19292 +9647,19294 +9648,19296 +9649,19298 +9650,19300 +9651,19302 +9652,19304 +9653,19306 +9654,19308 +9655,19310 +9656,19312 +9657,19314 +9658,19316 +9659,19318 +9660,19320 +9661,19322 +9662,19324 +9663,19326 +9664,19328 +9665,19330 +9666,19332 +9667,19334 +9668,19336 +9669,19338 +9670,19340 +9671,19342 +9672,19344 +9673,19346 +9674,19348 +9675,19350 +9676,19352 +9677,19354 +9678,19356 +9679,19358 +9680,19360 +9681,19362 +9682,19364 +9683,19366 +9684,19368 +9685,19370 +9686,19372 +9687,19374 +9688,19376 +9689,19378 +9690,19380 +9691,19382 +9692,19384 +9693,19386 +9694,19388 +9695,19390 +9696,19392 +9697,19394 +9698,19396 +9699,19398 +9700,19400 +9701,19402 +9702,19404 +9703,19406 +9704,19408 +9705,19410 +9706,19412 +9707,19414 +9708,19416 +9709,19418 +9710,19420 +9711,19422 +9712,19424 +9713,19426 +9714,19428 +9715,19430 +9716,19432 +9717,19434 +9718,19436 +9719,19438 +9720,19440 +9721,19442 +9722,19444 +9723,19446 +9724,19448 +9725,19450 +9726,19452 +9727,19454 +9728,19456 +9729,19458 +9730,19460 +9731,19462 +9732,19464 +9733,19466 +9734,19468 +9735,19470 +9736,19472 +9737,19474 +9738,19476 +9739,19478 +9740,19480 +9741,19482 +9742,19484 +9743,19486 +9744,19488 +9745,19490 +9746,19492 +9747,19494 +9748,19496 +9749,19498 +9750,19500 +9751,19502 +9752,19504 +9753,19506 +9754,19508 +9755,19510 +9756,19512 +9757,19514 +9758,19516 +9759,19518 +9760,19520 +9761,19522 +9762,19524 +9763,19526 +9764,19528 +9765,19530 +9766,19532 +9767,19534 +9768,19536 +9769,19538 +9770,19540 +9771,19542 +9772,19544 +9773,19546 +9774,19548 +9775,19550 +9776,19552 +9777,19554 +9778,19556 +9779,19558 +9780,19560 +9781,19562 +9782,19564 +9783,19566 +9784,19568 +9785,19570 +9786,19572 +9787,19574 +9788,19576 +9789,19578 +9790,19580 +9791,19582 +9792,19584 +9793,19586 +9794,19588 +9795,19590 +9796,19592 +9797,19594 +9798,19596 +9799,19598 +9800,19600 +9801,19602 +9802,19604 +9803,19606 +9804,19608 +9805,19610 +9806,19612 +9807,19614 +9808,19616 +9809,19618 +9810,19620 +9811,19622 +9812,19624 +9813,19626 +9814,19628 +9815,19630 +9816,19632 +9817,19634 +9818,19636 +9819,19638 +9820,19640 +9821,19642 +9822,19644 +9823,19646 +9824,19648 +9825,19650 +9826,19652 +9827,19654 +9828,19656 +9829,19658 +9830,19660 +9831,19662 +9832,19664 +9833,19666 +9834,19668 +9835,19670 +9836,19672 +9837,19674 +9838,19676 +9839,19678 +9840,19680 +9841,19682 +9842,19684 +9843,19686 +9844,19688 +9845,19690 +9846,19692 +9847,19694 +9848,19696 +9849,19698 +9850,19700 +9851,19702 +9852,19704 +9853,19706 +9854,19708 +9855,19710 +9856,19712 +9857,19714 +9858,19716 +9859,19718 +9860,19720 +9861,19722 +9862,19724 +9863,19726 +9864,19728 +9865,19730 +9866,19732 +9867,19734 +9868,19736 +9869,19738 +9870,19740 +9871,19742 +9872,19744 +9873,19746 +9874,19748 +9875,19750 +9876,19752 +9877,19754 +9878,19756 +9879,19758 +9880,19760 +9881,19762 +9882,19764 +9883,19766 +9884,19768 +9885,19770 +9886,19772 +9887,19774 +9888,19776 +9889,19778 +9890,19780 +9891,19782 +9892,19784 +9893,19786 +9894,19788 +9895,19790 +9896,19792 +9897,19794 +9898,19796 +9899,19798 +9900,19800 +9901,19802 +9902,19804 +9903,19806 +9904,19808 +9905,19810 +9906,19812 +9907,19814 +9908,19816 +9909,19818 +9910,19820 +9911,19822 +9912,19824 +9913,19826 +9914,19828 +9915,19830 +9916,19832 +9917,19834 +9918,19836 +9919,19838 +9920,19840 +9921,19842 +9922,19844 +9923,19846 +9924,19848 +9925,19850 +9926,19852 +9927,19854 +9928,19856 +9929,19858 +9930,19860 +9931,19862 +9932,19864 +9933,19866 +9934,19868 +9935,19870 +9936,19872 +9937,19874 +9938,19876 +9939,19878 +9940,19880 +9941,19882 +9942,19884 +9943,19886 +9944,19888 +9945,19890 +9946,19892 +9947,19894 +9948,19896 +9949,19898 +9950,19900 +9951,19902 +9952,19904 +9953,19906 +9954,19908 +9955,19910 +9956,19912 +9957,19914 +9958,19916 +9959,19918 +9960,19920 +9961,19922 +9962,19924 +9963,19926 +9964,19928 +9965,19930 +9966,19932 +9967,19934 +9968,19936 +9969,19938 +9970,19940 +9971,19942 +9972,19944 +9973,19946 +9974,19948 +9975,19950 +9976,19952 +9977,19954 +9978,19956 +9979,19958 +9980,19960 +9981,19962 +9982,19964 +9983,19966 +9984,19968 +9985,19970 +9986,19972 +9987,19974 +9988,19976 +9989,19978 +9990,19980 +9991,19982 +9992,19984 +9993,19986 +9994,19988 +9995,19990 +9996,19992 +9997,19994 +9998,19996 +9999,19998 +10000,20000 \ No newline at end of file diff --git a/regression-test/data/unique_with_mow_p0/partial_update/basic.csv b/regression-test/data/unique_with_mow_p0/partial_update/basic.csv new file mode 100644 index 0000000000..7abdf2f85d --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/basic.csv @@ -0,0 +1,2 @@ +2,400 +1,200 \ No newline at end of file diff --git a/regression-test/data/unique_with_mow_p0/partial_update/basic.orc b/regression-test/data/unique_with_mow_p0/partial_update/basic.orc new file mode 100644 index 0000000000..30651baa80 Binary files /dev/null and b/regression-test/data/unique_with_mow_p0/partial_update/basic.orc differ diff --git a/regression-test/data/unique_with_mow_p0/partial_update/default.csv b/regression-test/data/unique_with_mow_p0/partial_update/default.csv new file mode 100644 index 0000000000..a2c4b15ef9 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/default.csv @@ -0,0 +1,3 @@ +2,400 +1,200 +3,600 \ No newline at end of file diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update.out new file mode 100644 index 0000000000..bb14012688 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update.out @@ -0,0 +1,5 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_default -- +1 doris 200 123 1 +2 doris2 400 223 1 + diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_default_value.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_default_value.out new file mode 100644 index 0000000000..888cde0111 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_default_value.out @@ -0,0 +1,6 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_default -- +1 doris 200 123 1 +2 doris2 400 223 1 +3 yixiu 600 4321 4321 + diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_orc.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_orc.out new file mode 100644 index 0000000000..3e2573c193 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_orc.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_0 -- +1 Avocado Lychee Kiwi Lychee +2 Peach Blueberry Blueberry Mango +3 Avocado Plum Grapes Watermelon +4 Banana Plum Pineapple Raspberry +5 Lychee Blueberry Orange Cherry +6 Strawberry Lychee Lemon Kiwi +7 Raspberry Lemon Peach Orange +8 Blueberry Banana Blueberry Kiwi +9 Lychee Pineapple Mango Lemon +10 Apple Kiwi Lemon Lychee +11 Raspberry Raspberry Apple Strawberry +12 Blueberry Banana Peach Plum +13 Blueberry Grapes Watermelon Strawberry +14 Orange Watermelon Strawberry Kiwi +15 Blueberry Kiwi Cherry Apple +16 Grapes Lemon Grapes Avocado +17 Banana Kiwi Raspberry Banana +18 Cherry Banana Strawberry Lychee +19 Pineapple Peach Mango Lychee +20 Pineapple Blueberry Apple Peach +21 Mango Lychee Lemon Mango +22 Avocado Raspberry Apple Grapes +23 Pineapple Blueberry Pineapple Grapes +24 Apple Cherry Kiwi Peach +25 Lemon Avocado Blueberry Banana +26 Grapes Apple Watermelon Orange +27 Pineapple Orange Orange Watermelon +28 Blueberry Lemon Grapes Orange +29 Orange Raspberry Mango Lychee +30 Raspberry Orange Banana Peach +31 Lemon Peach Avocado Plum +32 Plum Mango Pineapple Apple +33 Cherry Watermelon Blueberry Grapes +34 Grapes Raspberry Peach Avocado +35 Orange Lemon Grapes Apple +36 Cherry Grapes Kiwi Mango +37 Plum Mango Pineapple Grapes +38 Orange Banana Mango Mango +39 Plum Peach Plum Apple +40 Banana Pineapple Plum Strawberry +41 Raspberry Strawberry Pineapple Banana +42 Peach Lemon Raspberry Kiwi +43 Plum Orange Avocado Peach +44 Plum Peach Orange Mango +45 Apple Watermelon Orange Cherry +46 Strawberry Watermelon Peach Peach +47 Banana Lemon Cherry Banana +48 Cherry Plum Banana Banana +49 Lychee Blueberry Grapes Kiwi +50 Kiwi Banana Lychee Pineapple + diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_publish.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_publish.out new file mode 100644 index 0000000000..dd972a34f1 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_publish.out @@ -0,0 +1,10004 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_default -- +0 0 0 +1 2 2 +2 4 4 +3 6 6 +4 8 8 +5 10 10 +6 12 12 +7 14 14 +8 16 16 +9 18 18 +10 20 20 +11 22 22 +12 24 24 +13 26 26 +14 28 28 +15 30 30 +16 32 32 +17 34 34 +18 36 36 +19 38 38 +20 40 40 +21 42 42 +22 44 44 +23 46 46 +24 48 48 +25 50 50 +26 52 52 +27 54 54 +28 56 56 +29 58 58 +30 60 60 +31 62 62 +32 64 64 +33 66 66 +34 68 68 +35 70 70 +36 72 72 +37 74 74 +38 76 76 +39 78 78 +40 80 80 +41 82 82 +42 84 84 +43 86 86 +44 88 88 +45 90 90 +46 92 92 +47 94 94 +48 96 96 +49 98 98 +50 100 100 +51 102 102 +52 104 104 +53 106 106 +54 108 108 +55 110 110 +56 112 112 +57 114 114 +58 116 116 +59 118 118 +60 120 120 +61 122 122 +62 124 124 +63 126 126 +64 128 128 +65 130 130 +66 132 132 +67 134 134 +68 136 136 +69 138 138 +70 140 140 +71 142 142 +72 144 144 +73 146 146 +74 148 148 +75 150 150 +76 152 152 +77 154 154 +78 156 156 +79 158 158 +80 160 160 +81 162 162 +82 164 164 +83 166 166 +84 168 168 +85 170 170 +86 172 172 +87 174 174 +88 176 176 +89 178 178 +90 180 180 +91 182 182 +92 184 184 +93 186 186 +94 188 188 +95 190 190 +96 192 192 +97 194 194 +98 196 196 +99 198 198 +100 200 200 +101 202 202 +102 204 204 +103 206 206 +104 208 208 +105 210 210 +106 212 212 +107 214 214 +108 216 216 +109 218 218 +110 220 220 +111 222 222 +112 224 224 +113 226 226 +114 228 228 +115 230 230 +116 232 232 +117 234 234 +118 236 236 +119 238 238 +120 240 240 +121 242 242 +122 244 244 +123 246 246 +124 248 248 +125 250 250 +126 252 252 +127 254 254 +128 256 256 +129 258 258 +130 260 260 +131 262 262 +132 264 264 +133 266 266 +134 268 268 +135 270 270 +136 272 272 +137 274 274 +138 276 276 +139 278 278 +140 280 280 +141 282 282 +142 284 284 +143 286 286 +144 288 288 +145 290 290 +146 292 292 +147 294 294 +148 296 296 +149 298 298 +150 300 300 +151 302 302 +152 304 304 +153 306 306 +154 308 308 +155 310 310 +156 312 312 +157 314 314 +158 316 316 +159 318 318 +160 320 320 +161 322 322 +162 324 324 +163 326 326 +164 328 328 +165 330 330 +166 332 332 +167 334 334 +168 336 336 +169 338 338 +170 340 340 +171 342 342 +172 344 344 +173 346 346 +174 348 348 +175 350 350 +176 352 352 +177 354 354 +178 356 356 +179 358 358 +180 360 360 +181 362 362 +182 364 364 +183 366 366 +184 368 368 +185 370 370 +186 372 372 +187 374 374 +188 376 376 +189 378 378 +190 380 380 +191 382 382 +192 384 384 +193 386 386 +194 388 388 +195 390 390 +196 392 392 +197 394 394 +198 396 396 +199 398 398 +200 400 400 +201 402 402 +202 404 404 +203 406 406 +204 408 408 +205 410 410 +206 412 412 +207 414 414 +208 416 416 +209 418 418 +210 420 420 +211 422 422 +212 424 424 +213 426 426 +214 428 428 +215 430 430 +216 432 432 +217 434 434 +218 436 436 +219 438 438 +220 440 440 +221 442 442 +222 444 444 +223 446 446 +224 448 448 +225 450 450 +226 452 452 +227 454 454 +228 456 456 +229 458 458 +230 460 460 +231 462 462 +232 464 464 +233 466 466 +234 468 468 +235 470 470 +236 472 472 +237 474 474 +238 476 476 +239 478 478 +240 480 480 +241 482 482 +242 484 484 +243 486 486 +244 488 488 +245 490 490 +246 492 492 +247 494 494 +248 496 496 +249 498 498 +250 500 500 +251 502 502 +252 504 504 +253 506 506 +254 508 508 +255 510 510 +256 512 512 +257 514 514 +258 516 516 +259 518 518 +260 520 520 +261 522 522 +262 524 524 +263 526 526 +264 528 528 +265 530 530 +266 532 532 +267 534 534 +268 536 536 +269 538 538 +270 540 540 +271 542 542 +272 544 544 +273 546 546 +274 548 548 +275 550 550 +276 552 552 +277 554 554 +278 556 556 +279 558 558 +280 560 560 +281 562 562 +282 564 564 +283 566 566 +284 568 568 +285 570 570 +286 572 572 +287 574 574 +288 576 576 +289 578 578 +290 580 580 +291 582 582 +292 584 584 +293 586 586 +294 588 588 +295 590 590 +296 592 592 +297 594 594 +298 596 596 +299 598 598 +300 600 600 +301 602 602 +302 604 604 +303 606 606 +304 608 608 +305 610 610 +306 612 612 +307 614 614 +308 616 616 +309 618 618 +310 620 620 +311 622 622 +312 624 624 +313 626 626 +314 628 628 +315 630 630 +316 632 632 +317 634 634 +318 636 636 +319 638 638 +320 640 640 +321 642 642 +322 644 644 +323 646 646 +324 648 648 +325 650 650 +326 652 652 +327 654 654 +328 656 656 +329 658 658 +330 660 660 +331 662 662 +332 664 664 +333 666 666 +334 668 668 +335 670 670 +336 672 672 +337 674 674 +338 676 676 +339 678 678 +340 680 680 +341 682 682 +342 684 684 +343 686 686 +344 688 688 +345 690 690 +346 692 692 +347 694 694 +348 696 696 +349 698 698 +350 700 700 +351 702 702 +352 704 704 +353 706 706 +354 708 708 +355 710 710 +356 712 712 +357 714 714 +358 716 716 +359 718 718 +360 720 720 +361 722 722 +362 724 724 +363 726 726 +364 728 728 +365 730 730 +366 732 732 +367 734 734 +368 736 736 +369 738 738 +370 740 740 +371 742 742 +372 744 744 +373 746 746 +374 748 748 +375 750 750 +376 752 752 +377 754 754 +378 756 756 +379 758 758 +380 760 760 +381 762 762 +382 764 764 +383 766 766 +384 768 768 +385 770 770 +386 772 772 +387 774 774 +388 776 776 +389 778 778 +390 780 780 +391 782 782 +392 784 784 +393 786 786 +394 788 788 +395 790 790 +396 792 792 +397 794 794 +398 796 796 +399 798 798 +400 800 800 +401 802 802 +402 804 804 +403 806 806 +404 808 808 +405 810 810 +406 812 812 +407 814 814 +408 816 816 +409 818 818 +410 820 820 +411 822 822 +412 824 824 +413 826 826 +414 828 828 +415 830 830 +416 832 832 +417 834 834 +418 836 836 +419 838 838 +420 840 840 +421 842 842 +422 844 844 +423 846 846 +424 848 848 +425 850 850 +426 852 852 +427 854 854 +428 856 856 +429 858 858 +430 860 860 +431 862 862 +432 864 864 +433 866 866 +434 868 868 +435 870 870 +436 872 872 +437 874 874 +438 876 876 +439 878 878 +440 880 880 +441 882 882 +442 884 884 +443 886 886 +444 888 888 +445 890 890 +446 892 892 +447 894 894 +448 896 896 +449 898 898 +450 900 900 +451 902 902 +452 904 904 +453 906 906 +454 908 908 +455 910 910 +456 912 912 +457 914 914 +458 916 916 +459 918 918 +460 920 920 +461 922 922 +462 924 924 +463 926 926 +464 928 928 +465 930 930 +466 932 932 +467 934 934 +468 936 936 +469 938 938 +470 940 940 +471 942 942 +472 944 944 +473 946 946 +474 948 948 +475 950 950 +476 952 952 +477 954 954 +478 956 956 +479 958 958 +480 960 960 +481 962 962 +482 964 964 +483 966 966 +484 968 968 +485 970 970 +486 972 972 +487 974 974 +488 976 976 +489 978 978 +490 980 980 +491 982 982 +492 984 984 +493 986 986 +494 988 988 +495 990 990 +496 992 992 +497 994 994 +498 996 996 +499 998 998 +500 1000 1000 +501 1002 1002 +502 1004 1004 +503 1006 1006 +504 1008 1008 +505 1010 1010 +506 1012 1012 +507 1014 1014 +508 1016 1016 +509 1018 1018 +510 1020 1020 +511 1022 1022 +512 1024 1024 +513 1026 1026 +514 1028 1028 +515 1030 1030 +516 1032 1032 +517 1034 1034 +518 1036 1036 +519 1038 1038 +520 1040 1040 +521 1042 1042 +522 1044 1044 +523 1046 1046 +524 1048 1048 +525 1050 1050 +526 1052 1052 +527 1054 1054 +528 1056 1056 +529 1058 1058 +530 1060 1060 +531 1062 1062 +532 1064 1064 +533 1066 1066 +534 1068 1068 +535 1070 1070 +536 1072 1072 +537 1074 1074 +538 1076 1076 +539 1078 1078 +540 1080 1080 +541 1082 1082 +542 1084 1084 +543 1086 1086 +544 1088 1088 +545 1090 1090 +546 1092 1092 +547 1094 1094 +548 1096 1096 +549 1098 1098 +550 1100 1100 +551 1102 1102 +552 1104 1104 +553 1106 1106 +554 1108 1108 +555 1110 1110 +556 1112 1112 +557 1114 1114 +558 1116 1116 +559 1118 1118 +560 1120 1120 +561 1122 1122 +562 1124 1124 +563 1126 1126 +564 1128 1128 +565 1130 1130 +566 1132 1132 +567 1134 1134 +568 1136 1136 +569 1138 1138 +570 1140 1140 +571 1142 1142 +572 1144 1144 +573 1146 1146 +574 1148 1148 +575 1150 1150 +576 1152 1152 +577 1154 1154 +578 1156 1156 +579 1158 1158 +580 1160 1160 +581 1162 1162 +582 1164 1164 +583 1166 1166 +584 1168 1168 +585 1170 1170 +586 1172 1172 +587 1174 1174 +588 1176 1176 +589 1178 1178 +590 1180 1180 +591 1182 1182 +592 1184 1184 +593 1186 1186 +594 1188 1188 +595 1190 1190 +596 1192 1192 +597 1194 1194 +598 1196 1196 +599 1198 1198 +600 1200 1200 +601 1202 1202 +602 1204 1204 +603 1206 1206 +604 1208 1208 +605 1210 1210 +606 1212 1212 +607 1214 1214 +608 1216 1216 +609 1218 1218 +610 1220 1220 +611 1222 1222 +612 1224 1224 +613 1226 1226 +614 1228 1228 +615 1230 1230 +616 1232 1232 +617 1234 1234 +618 1236 1236 +619 1238 1238 +620 1240 1240 +621 1242 1242 +622 1244 1244 +623 1246 1246 +624 1248 1248 +625 1250 1250 +626 1252 1252 +627 1254 1254 +628 1256 1256 +629 1258 1258 +630 1260 1260 +631 1262 1262 +632 1264 1264 +633 1266 1266 +634 1268 1268 +635 1270 1270 +636 1272 1272 +637 1274 1274 +638 1276 1276 +639 1278 1278 +640 1280 1280 +641 1282 1282 +642 1284 1284 +643 1286 1286 +644 1288 1288 +645 1290 1290 +646 1292 1292 +647 1294 1294 +648 1296 1296 +649 1298 1298 +650 1300 1300 +651 1302 1302 +652 1304 1304 +653 1306 1306 +654 1308 1308 +655 1310 1310 +656 1312 1312 +657 1314 1314 +658 1316 1316 +659 1318 1318 +660 1320 1320 +661 1322 1322 +662 1324 1324 +663 1326 1326 +664 1328 1328 +665 1330 1330 +666 1332 1332 +667 1334 1334 +668 1336 1336 +669 1338 1338 +670 1340 1340 +671 1342 1342 +672 1344 1344 +673 1346 1346 +674 1348 1348 +675 1350 1350 +676 1352 1352 +677 1354 1354 +678 1356 1356 +679 1358 1358 +680 1360 1360 +681 1362 1362 +682 1364 1364 +683 1366 1366 +684 1368 1368 +685 1370 1370 +686 1372 1372 +687 1374 1374 +688 1376 1376 +689 1378 1378 +690 1380 1380 +691 1382 1382 +692 1384 1384 +693 1386 1386 +694 1388 1388 +695 1390 1390 +696 1392 1392 +697 1394 1394 +698 1396 1396 +699 1398 1398 +700 1400 1400 +701 1402 1402 +702 1404 1404 +703 1406 1406 +704 1408 1408 +705 1410 1410 +706 1412 1412 +707 1414 1414 +708 1416 1416 +709 1418 1418 +710 1420 1420 +711 1422 1422 +712 1424 1424 +713 1426 1426 +714 1428 1428 +715 1430 1430 +716 1432 1432 +717 1434 1434 +718 1436 1436 +719 1438 1438 +720 1440 1440 +721 1442 1442 +722 1444 1444 +723 1446 1446 +724 1448 1448 +725 1450 1450 +726 1452 1452 +727 1454 1454 +728 1456 1456 +729 1458 1458 +730 1460 1460 +731 1462 1462 +732 1464 1464 +733 1466 1466 +734 1468 1468 +735 1470 1470 +736 1472 1472 +737 1474 1474 +738 1476 1476 +739 1478 1478 +740 1480 1480 +741 1482 1482 +742 1484 1484 +743 1486 1486 +744 1488 1488 +745 1490 1490 +746 1492 1492 +747 1494 1494 +748 1496 1496 +749 1498 1498 +750 1500 1500 +751 1502 1502 +752 1504 1504 +753 1506 1506 +754 1508 1508 +755 1510 1510 +756 1512 1512 +757 1514 1514 +758 1516 1516 +759 1518 1518 +760 1520 1520 +761 1522 1522 +762 1524 1524 +763 1526 1526 +764 1528 1528 +765 1530 1530 +766 1532 1532 +767 1534 1534 +768 1536 1536 +769 1538 1538 +770 1540 1540 +771 1542 1542 +772 1544 1544 +773 1546 1546 +774 1548 1548 +775 1550 1550 +776 1552 1552 +777 1554 1554 +778 1556 1556 +779 1558 1558 +780 1560 1560 +781 1562 1562 +782 1564 1564 +783 1566 1566 +784 1568 1568 +785 1570 1570 +786 1572 1572 +787 1574 1574 +788 1576 1576 +789 1578 1578 +790 1580 1580 +791 1582 1582 +792 1584 1584 +793 1586 1586 +794 1588 1588 +795 1590 1590 +796 1592 1592 +797 1594 1594 +798 1596 1596 +799 1598 1598 +800 1600 1600 +801 1602 1602 +802 1604 1604 +803 1606 1606 +804 1608 1608 +805 1610 1610 +806 1612 1612 +807 1614 1614 +808 1616 1616 +809 1618 1618 +810 1620 1620 +811 1622 1622 +812 1624 1624 +813 1626 1626 +814 1628 1628 +815 1630 1630 +816 1632 1632 +817 1634 1634 +818 1636 1636 +819 1638 1638 +820 1640 1640 +821 1642 1642 +822 1644 1644 +823 1646 1646 +824 1648 1648 +825 1650 1650 +826 1652 1652 +827 1654 1654 +828 1656 1656 +829 1658 1658 +830 1660 1660 +831 1662 1662 +832 1664 1664 +833 1666 1666 +834 1668 1668 +835 1670 1670 +836 1672 1672 +837 1674 1674 +838 1676 1676 +839 1678 1678 +840 1680 1680 +841 1682 1682 +842 1684 1684 +843 1686 1686 +844 1688 1688 +845 1690 1690 +846 1692 1692 +847 1694 1694 +848 1696 1696 +849 1698 1698 +850 1700 1700 +851 1702 1702 +852 1704 1704 +853 1706 1706 +854 1708 1708 +855 1710 1710 +856 1712 1712 +857 1714 1714 +858 1716 1716 +859 1718 1718 +860 1720 1720 +861 1722 1722 +862 1724 1724 +863 1726 1726 +864 1728 1728 +865 1730 1730 +866 1732 1732 +867 1734 1734 +868 1736 1736 +869 1738 1738 +870 1740 1740 +871 1742 1742 +872 1744 1744 +873 1746 1746 +874 1748 1748 +875 1750 1750 +876 1752 1752 +877 1754 1754 +878 1756 1756 +879 1758 1758 +880 1760 1760 +881 1762 1762 +882 1764 1764 +883 1766 1766 +884 1768 1768 +885 1770 1770 +886 1772 1772 +887 1774 1774 +888 1776 1776 +889 1778 1778 +890 1780 1780 +891 1782 1782 +892 1784 1784 +893 1786 1786 +894 1788 1788 +895 1790 1790 +896 1792 1792 +897 1794 1794 +898 1796 1796 +899 1798 1798 +900 1800 1800 +901 1802 1802 +902 1804 1804 +903 1806 1806 +904 1808 1808 +905 1810 1810 +906 1812 1812 +907 1814 1814 +908 1816 1816 +909 1818 1818 +910 1820 1820 +911 1822 1822 +912 1824 1824 +913 1826 1826 +914 1828 1828 +915 1830 1830 +916 1832 1832 +917 1834 1834 +918 1836 1836 +919 1838 1838 +920 1840 1840 +921 1842 1842 +922 1844 1844 +923 1846 1846 +924 1848 1848 +925 1850 1850 +926 1852 1852 +927 1854 1854 +928 1856 1856 +929 1858 1858 +930 1860 1860 +931 1862 1862 +932 1864 1864 +933 1866 1866 +934 1868 1868 +935 1870 1870 +936 1872 1872 +937 1874 1874 +938 1876 1876 +939 1878 1878 +940 1880 1880 +941 1882 1882 +942 1884 1884 +943 1886 1886 +944 1888 1888 +945 1890 1890 +946 1892 1892 +947 1894 1894 +948 1896 1896 +949 1898 1898 +950 1900 1900 +951 1902 1902 +952 1904 1904 +953 1906 1906 +954 1908 1908 +955 1910 1910 +956 1912 1912 +957 1914 1914 +958 1916 1916 +959 1918 1918 +960 1920 1920 +961 1922 1922 +962 1924 1924 +963 1926 1926 +964 1928 1928 +965 1930 1930 +966 1932 1932 +967 1934 1934 +968 1936 1936 +969 1938 1938 +970 1940 1940 +971 1942 1942 +972 1944 1944 +973 1946 1946 +974 1948 1948 +975 1950 1950 +976 1952 1952 +977 1954 1954 +978 1956 1956 +979 1958 1958 +980 1960 1960 +981 1962 1962 +982 1964 1964 +983 1966 1966 +984 1968 1968 +985 1970 1970 +986 1972 1972 +987 1974 1974 +988 1976 1976 +989 1978 1978 +990 1980 1980 +991 1982 1982 +992 1984 1984 +993 1986 1986 +994 1988 1988 +995 1990 1990 +996 1992 1992 +997 1994 1994 +998 1996 1996 +999 1998 1998 +1000 2000 2000 +1001 2002 2002 +1002 2004 2004 +1003 2006 2006 +1004 2008 2008 +1005 2010 2010 +1006 2012 2012 +1007 2014 2014 +1008 2016 2016 +1009 2018 2018 +1010 2020 2020 +1011 2022 2022 +1012 2024 2024 +1013 2026 2026 +1014 2028 2028 +1015 2030 2030 +1016 2032 2032 +1017 2034 2034 +1018 2036 2036 +1019 2038 2038 +1020 2040 2040 +1021 2042 2042 +1022 2044 2044 +1023 2046 2046 +1024 2048 2048 +1025 2050 2050 +1026 2052 2052 +1027 2054 2054 +1028 2056 2056 +1029 2058 2058 +1030 2060 2060 +1031 2062 2062 +1032 2064 2064 +1033 2066 2066 +1034 2068 2068 +1035 2070 2070 +1036 2072 2072 +1037 2074 2074 +1038 2076 2076 +1039 2078 2078 +1040 2080 2080 +1041 2082 2082 +1042 2084 2084 +1043 2086 2086 +1044 2088 2088 +1045 2090 2090 +1046 2092 2092 +1047 2094 2094 +1048 2096 2096 +1049 2098 2098 +1050 2100 2100 +1051 2102 2102 +1052 2104 2104 +1053 2106 2106 +1054 2108 2108 +1055 2110 2110 +1056 2112 2112 +1057 2114 2114 +1058 2116 2116 +1059 2118 2118 +1060 2120 2120 +1061 2122 2122 +1062 2124 2124 +1063 2126 2126 +1064 2128 2128 +1065 2130 2130 +1066 2132 2132 +1067 2134 2134 +1068 2136 2136 +1069 2138 2138 +1070 2140 2140 +1071 2142 2142 +1072 2144 2144 +1073 2146 2146 +1074 2148 2148 +1075 2150 2150 +1076 2152 2152 +1077 2154 2154 +1078 2156 2156 +1079 2158 2158 +1080 2160 2160 +1081 2162 2162 +1082 2164 2164 +1083 2166 2166 +1084 2168 2168 +1085 2170 2170 +1086 2172 2172 +1087 2174 2174 +1088 2176 2176 +1089 2178 2178 +1090 2180 2180 +1091 2182 2182 +1092 2184 2184 +1093 2186 2186 +1094 2188 2188 +1095 2190 2190 +1096 2192 2192 +1097 2194 2194 +1098 2196 2196 +1099 2198 2198 +1100 2200 2200 +1101 2202 2202 +1102 2204 2204 +1103 2206 2206 +1104 2208 2208 +1105 2210 2210 +1106 2212 2212 +1107 2214 2214 +1108 2216 2216 +1109 2218 2218 +1110 2220 2220 +1111 2222 2222 +1112 2224 2224 +1113 2226 2226 +1114 2228 2228 +1115 2230 2230 +1116 2232 2232 +1117 2234 2234 +1118 2236 2236 +1119 2238 2238 +1120 2240 2240 +1121 2242 2242 +1122 2244 2244 +1123 2246 2246 +1124 2248 2248 +1125 2250 2250 +1126 2252 2252 +1127 2254 2254 +1128 2256 2256 +1129 2258 2258 +1130 2260 2260 +1131 2262 2262 +1132 2264 2264 +1133 2266 2266 +1134 2268 2268 +1135 2270 2270 +1136 2272 2272 +1137 2274 2274 +1138 2276 2276 +1139 2278 2278 +1140 2280 2280 +1141 2282 2282 +1142 2284 2284 +1143 2286 2286 +1144 2288 2288 +1145 2290 2290 +1146 2292 2292 +1147 2294 2294 +1148 2296 2296 +1149 2298 2298 +1150 2300 2300 +1151 2302 2302 +1152 2304 2304 +1153 2306 2306 +1154 2308 2308 +1155 2310 2310 +1156 2312 2312 +1157 2314 2314 +1158 2316 2316 +1159 2318 2318 +1160 2320 2320 +1161 2322 2322 +1162 2324 2324 +1163 2326 2326 +1164 2328 2328 +1165 2330 2330 +1166 2332 2332 +1167 2334 2334 +1168 2336 2336 +1169 2338 2338 +1170 2340 2340 +1171 2342 2342 +1172 2344 2344 +1173 2346 2346 +1174 2348 2348 +1175 2350 2350 +1176 2352 2352 +1177 2354 2354 +1178 2356 2356 +1179 2358 2358 +1180 2360 2360 +1181 2362 2362 +1182 2364 2364 +1183 2366 2366 +1184 2368 2368 +1185 2370 2370 +1186 2372 2372 +1187 2374 2374 +1188 2376 2376 +1189 2378 2378 +1190 2380 2380 +1191 2382 2382 +1192 2384 2384 +1193 2386 2386 +1194 2388 2388 +1195 2390 2390 +1196 2392 2392 +1197 2394 2394 +1198 2396 2396 +1199 2398 2398 +1200 2400 2400 +1201 2402 2402 +1202 2404 2404 +1203 2406 2406 +1204 2408 2408 +1205 2410 2410 +1206 2412 2412 +1207 2414 2414 +1208 2416 2416 +1209 2418 2418 +1210 2420 2420 +1211 2422 2422 +1212 2424 2424 +1213 2426 2426 +1214 2428 2428 +1215 2430 2430 +1216 2432 2432 +1217 2434 2434 +1218 2436 2436 +1219 2438 2438 +1220 2440 2440 +1221 2442 2442 +1222 2444 2444 +1223 2446 2446 +1224 2448 2448 +1225 2450 2450 +1226 2452 2452 +1227 2454 2454 +1228 2456 2456 +1229 2458 2458 +1230 2460 2460 +1231 2462 2462 +1232 2464 2464 +1233 2466 2466 +1234 2468 2468 +1235 2470 2470 +1236 2472 2472 +1237 2474 2474 +1238 2476 2476 +1239 2478 2478 +1240 2480 2480 +1241 2482 2482 +1242 2484 2484 +1243 2486 2486 +1244 2488 2488 +1245 2490 2490 +1246 2492 2492 +1247 2494 2494 +1248 2496 2496 +1249 2498 2498 +1250 2500 2500 +1251 2502 2502 +1252 2504 2504 +1253 2506 2506 +1254 2508 2508 +1255 2510 2510 +1256 2512 2512 +1257 2514 2514 +1258 2516 2516 +1259 2518 2518 +1260 2520 2520 +1261 2522 2522 +1262 2524 2524 +1263 2526 2526 +1264 2528 2528 +1265 2530 2530 +1266 2532 2532 +1267 2534 2534 +1268 2536 2536 +1269 2538 2538 +1270 2540 2540 +1271 2542 2542 +1272 2544 2544 +1273 2546 2546 +1274 2548 2548 +1275 2550 2550 +1276 2552 2552 +1277 2554 2554 +1278 2556 2556 +1279 2558 2558 +1280 2560 2560 +1281 2562 2562 +1282 2564 2564 +1283 2566 2566 +1284 2568 2568 +1285 2570 2570 +1286 2572 2572 +1287 2574 2574 +1288 2576 2576 +1289 2578 2578 +1290 2580 2580 +1291 2582 2582 +1292 2584 2584 +1293 2586 2586 +1294 2588 2588 +1295 2590 2590 +1296 2592 2592 +1297 2594 2594 +1298 2596 2596 +1299 2598 2598 +1300 2600 2600 +1301 2602 2602 +1302 2604 2604 +1303 2606 2606 +1304 2608 2608 +1305 2610 2610 +1306 2612 2612 +1307 2614 2614 +1308 2616 2616 +1309 2618 2618 +1310 2620 2620 +1311 2622 2622 +1312 2624 2624 +1313 2626 2626 +1314 2628 2628 +1315 2630 2630 +1316 2632 2632 +1317 2634 2634 +1318 2636 2636 +1319 2638 2638 +1320 2640 2640 +1321 2642 2642 +1322 2644 2644 +1323 2646 2646 +1324 2648 2648 +1325 2650 2650 +1326 2652 2652 +1327 2654 2654 +1328 2656 2656 +1329 2658 2658 +1330 2660 2660 +1331 2662 2662 +1332 2664 2664 +1333 2666 2666 +1334 2668 2668 +1335 2670 2670 +1336 2672 2672 +1337 2674 2674 +1338 2676 2676 +1339 2678 2678 +1340 2680 2680 +1341 2682 2682 +1342 2684 2684 +1343 2686 2686 +1344 2688 2688 +1345 2690 2690 +1346 2692 2692 +1347 2694 2694 +1348 2696 2696 +1349 2698 2698 +1350 2700 2700 +1351 2702 2702 +1352 2704 2704 +1353 2706 2706 +1354 2708 2708 +1355 2710 2710 +1356 2712 2712 +1357 2714 2714 +1358 2716 2716 +1359 2718 2718 +1360 2720 2720 +1361 2722 2722 +1362 2724 2724 +1363 2726 2726 +1364 2728 2728 +1365 2730 2730 +1366 2732 2732 +1367 2734 2734 +1368 2736 2736 +1369 2738 2738 +1370 2740 2740 +1371 2742 2742 +1372 2744 2744 +1373 2746 2746 +1374 2748 2748 +1375 2750 2750 +1376 2752 2752 +1377 2754 2754 +1378 2756 2756 +1379 2758 2758 +1380 2760 2760 +1381 2762 2762 +1382 2764 2764 +1383 2766 2766 +1384 2768 2768 +1385 2770 2770 +1386 2772 2772 +1387 2774 2774 +1388 2776 2776 +1389 2778 2778 +1390 2780 2780 +1391 2782 2782 +1392 2784 2784 +1393 2786 2786 +1394 2788 2788 +1395 2790 2790 +1396 2792 2792 +1397 2794 2794 +1398 2796 2796 +1399 2798 2798 +1400 2800 2800 +1401 2802 2802 +1402 2804 2804 +1403 2806 2806 +1404 2808 2808 +1405 2810 2810 +1406 2812 2812 +1407 2814 2814 +1408 2816 2816 +1409 2818 2818 +1410 2820 2820 +1411 2822 2822 +1412 2824 2824 +1413 2826 2826 +1414 2828 2828 +1415 2830 2830 +1416 2832 2832 +1417 2834 2834 +1418 2836 2836 +1419 2838 2838 +1420 2840 2840 +1421 2842 2842 +1422 2844 2844 +1423 2846 2846 +1424 2848 2848 +1425 2850 2850 +1426 2852 2852 +1427 2854 2854 +1428 2856 2856 +1429 2858 2858 +1430 2860 2860 +1431 2862 2862 +1432 2864 2864 +1433 2866 2866 +1434 2868 2868 +1435 2870 2870 +1436 2872 2872 +1437 2874 2874 +1438 2876 2876 +1439 2878 2878 +1440 2880 2880 +1441 2882 2882 +1442 2884 2884 +1443 2886 2886 +1444 2888 2888 +1445 2890 2890 +1446 2892 2892 +1447 2894 2894 +1448 2896 2896 +1449 2898 2898 +1450 2900 2900 +1451 2902 2902 +1452 2904 2904 +1453 2906 2906 +1454 2908 2908 +1455 2910 2910 +1456 2912 2912 +1457 2914 2914 +1458 2916 2916 +1459 2918 2918 +1460 2920 2920 +1461 2922 2922 +1462 2924 2924 +1463 2926 2926 +1464 2928 2928 +1465 2930 2930 +1466 2932 2932 +1467 2934 2934 +1468 2936 2936 +1469 2938 2938 +1470 2940 2940 +1471 2942 2942 +1472 2944 2944 +1473 2946 2946 +1474 2948 2948 +1475 2950 2950 +1476 2952 2952 +1477 2954 2954 +1478 2956 2956 +1479 2958 2958 +1480 2960 2960 +1481 2962 2962 +1482 2964 2964 +1483 2966 2966 +1484 2968 2968 +1485 2970 2970 +1486 2972 2972 +1487 2974 2974 +1488 2976 2976 +1489 2978 2978 +1490 2980 2980 +1491 2982 2982 +1492 2984 2984 +1493 2986 2986 +1494 2988 2988 +1495 2990 2990 +1496 2992 2992 +1497 2994 2994 +1498 2996 2996 +1499 2998 2998 +1500 3000 3000 +1501 3002 3002 +1502 3004 3004 +1503 3006 3006 +1504 3008 3008 +1505 3010 3010 +1506 3012 3012 +1507 3014 3014 +1508 3016 3016 +1509 3018 3018 +1510 3020 3020 +1511 3022 3022 +1512 3024 3024 +1513 3026 3026 +1514 3028 3028 +1515 3030 3030 +1516 3032 3032 +1517 3034 3034 +1518 3036 3036 +1519 3038 3038 +1520 3040 3040 +1521 3042 3042 +1522 3044 3044 +1523 3046 3046 +1524 3048 3048 +1525 3050 3050 +1526 3052 3052 +1527 3054 3054 +1528 3056 3056 +1529 3058 3058 +1530 3060 3060 +1531 3062 3062 +1532 3064 3064 +1533 3066 3066 +1534 3068 3068 +1535 3070 3070 +1536 3072 3072 +1537 3074 3074 +1538 3076 3076 +1539 3078 3078 +1540 3080 3080 +1541 3082 3082 +1542 3084 3084 +1543 3086 3086 +1544 3088 3088 +1545 3090 3090 +1546 3092 3092 +1547 3094 3094 +1548 3096 3096 +1549 3098 3098 +1550 3100 3100 +1551 3102 3102 +1552 3104 3104 +1553 3106 3106 +1554 3108 3108 +1555 3110 3110 +1556 3112 3112 +1557 3114 3114 +1558 3116 3116 +1559 3118 3118 +1560 3120 3120 +1561 3122 3122 +1562 3124 3124 +1563 3126 3126 +1564 3128 3128 +1565 3130 3130 +1566 3132 3132 +1567 3134 3134 +1568 3136 3136 +1569 3138 3138 +1570 3140 3140 +1571 3142 3142 +1572 3144 3144 +1573 3146 3146 +1574 3148 3148 +1575 3150 3150 +1576 3152 3152 +1577 3154 3154 +1578 3156 3156 +1579 3158 3158 +1580 3160 3160 +1581 3162 3162 +1582 3164 3164 +1583 3166 3166 +1584 3168 3168 +1585 3170 3170 +1586 3172 3172 +1587 3174 3174 +1588 3176 3176 +1589 3178 3178 +1590 3180 3180 +1591 3182 3182 +1592 3184 3184 +1593 3186 3186 +1594 3188 3188 +1595 3190 3190 +1596 3192 3192 +1597 3194 3194 +1598 3196 3196 +1599 3198 3198 +1600 3200 3200 +1601 3202 3202 +1602 3204 3204 +1603 3206 3206 +1604 3208 3208 +1605 3210 3210 +1606 3212 3212 +1607 3214 3214 +1608 3216 3216 +1609 3218 3218 +1610 3220 3220 +1611 3222 3222 +1612 3224 3224 +1613 3226 3226 +1614 3228 3228 +1615 3230 3230 +1616 3232 3232 +1617 3234 3234 +1618 3236 3236 +1619 3238 3238 +1620 3240 3240 +1621 3242 3242 +1622 3244 3244 +1623 3246 3246 +1624 3248 3248 +1625 3250 3250 +1626 3252 3252 +1627 3254 3254 +1628 3256 3256 +1629 3258 3258 +1630 3260 3260 +1631 3262 3262 +1632 3264 3264 +1633 3266 3266 +1634 3268 3268 +1635 3270 3270 +1636 3272 3272 +1637 3274 3274 +1638 3276 3276 +1639 3278 3278 +1640 3280 3280 +1641 3282 3282 +1642 3284 3284 +1643 3286 3286 +1644 3288 3288 +1645 3290 3290 +1646 3292 3292 +1647 3294 3294 +1648 3296 3296 +1649 3298 3298 +1650 3300 3300 +1651 3302 3302 +1652 3304 3304 +1653 3306 3306 +1654 3308 3308 +1655 3310 3310 +1656 3312 3312 +1657 3314 3314 +1658 3316 3316 +1659 3318 3318 +1660 3320 3320 +1661 3322 3322 +1662 3324 3324 +1663 3326 3326 +1664 3328 3328 +1665 3330 3330 +1666 3332 3332 +1667 3334 3334 +1668 3336 3336 +1669 3338 3338 +1670 3340 3340 +1671 3342 3342 +1672 3344 3344 +1673 3346 3346 +1674 3348 3348 +1675 3350 3350 +1676 3352 3352 +1677 3354 3354 +1678 3356 3356 +1679 3358 3358 +1680 3360 3360 +1681 3362 3362 +1682 3364 3364 +1683 3366 3366 +1684 3368 3368 +1685 3370 3370 +1686 3372 3372 +1687 3374 3374 +1688 3376 3376 +1689 3378 3378 +1690 3380 3380 +1691 3382 3382 +1692 3384 3384 +1693 3386 3386 +1694 3388 3388 +1695 3390 3390 +1696 3392 3392 +1697 3394 3394 +1698 3396 3396 +1699 3398 3398 +1700 3400 3400 +1701 3402 3402 +1702 3404 3404 +1703 3406 3406 +1704 3408 3408 +1705 3410 3410 +1706 3412 3412 +1707 3414 3414 +1708 3416 3416 +1709 3418 3418 +1710 3420 3420 +1711 3422 3422 +1712 3424 3424 +1713 3426 3426 +1714 3428 3428 +1715 3430 3430 +1716 3432 3432 +1717 3434 3434 +1718 3436 3436 +1719 3438 3438 +1720 3440 3440 +1721 3442 3442 +1722 3444 3444 +1723 3446 3446 +1724 3448 3448 +1725 3450 3450 +1726 3452 3452 +1727 3454 3454 +1728 3456 3456 +1729 3458 3458 +1730 3460 3460 +1731 3462 3462 +1732 3464 3464 +1733 3466 3466 +1734 3468 3468 +1735 3470 3470 +1736 3472 3472 +1737 3474 3474 +1738 3476 3476 +1739 3478 3478 +1740 3480 3480 +1741 3482 3482 +1742 3484 3484 +1743 3486 3486 +1744 3488 3488 +1745 3490 3490 +1746 3492 3492 +1747 3494 3494 +1748 3496 3496 +1749 3498 3498 +1750 3500 3500 +1751 3502 3502 +1752 3504 3504 +1753 3506 3506 +1754 3508 3508 +1755 3510 3510 +1756 3512 3512 +1757 3514 3514 +1758 3516 3516 +1759 3518 3518 +1760 3520 3520 +1761 3522 3522 +1762 3524 3524 +1763 3526 3526 +1764 3528 3528 +1765 3530 3530 +1766 3532 3532 +1767 3534 3534 +1768 3536 3536 +1769 3538 3538 +1770 3540 3540 +1771 3542 3542 +1772 3544 3544 +1773 3546 3546 +1774 3548 3548 +1775 3550 3550 +1776 3552 3552 +1777 3554 3554 +1778 3556 3556 +1779 3558 3558 +1780 3560 3560 +1781 3562 3562 +1782 3564 3564 +1783 3566 3566 +1784 3568 3568 +1785 3570 3570 +1786 3572 3572 +1787 3574 3574 +1788 3576 3576 +1789 3578 3578 +1790 3580 3580 +1791 3582 3582 +1792 3584 3584 +1793 3586 3586 +1794 3588 3588 +1795 3590 3590 +1796 3592 3592 +1797 3594 3594 +1798 3596 3596 +1799 3598 3598 +1800 3600 3600 +1801 3602 3602 +1802 3604 3604 +1803 3606 3606 +1804 3608 3608 +1805 3610 3610 +1806 3612 3612 +1807 3614 3614 +1808 3616 3616 +1809 3618 3618 +1810 3620 3620 +1811 3622 3622 +1812 3624 3624 +1813 3626 3626 +1814 3628 3628 +1815 3630 3630 +1816 3632 3632 +1817 3634 3634 +1818 3636 3636 +1819 3638 3638 +1820 3640 3640 +1821 3642 3642 +1822 3644 3644 +1823 3646 3646 +1824 3648 3648 +1825 3650 3650 +1826 3652 3652 +1827 3654 3654 +1828 3656 3656 +1829 3658 3658 +1830 3660 3660 +1831 3662 3662 +1832 3664 3664 +1833 3666 3666 +1834 3668 3668 +1835 3670 3670 +1836 3672 3672 +1837 3674 3674 +1838 3676 3676 +1839 3678 3678 +1840 3680 3680 +1841 3682 3682 +1842 3684 3684 +1843 3686 3686 +1844 3688 3688 +1845 3690 3690 +1846 3692 3692 +1847 3694 3694 +1848 3696 3696 +1849 3698 3698 +1850 3700 3700 +1851 3702 3702 +1852 3704 3704 +1853 3706 3706 +1854 3708 3708 +1855 3710 3710 +1856 3712 3712 +1857 3714 3714 +1858 3716 3716 +1859 3718 3718 +1860 3720 3720 +1861 3722 3722 +1862 3724 3724 +1863 3726 3726 +1864 3728 3728 +1865 3730 3730 +1866 3732 3732 +1867 3734 3734 +1868 3736 3736 +1869 3738 3738 +1870 3740 3740 +1871 3742 3742 +1872 3744 3744 +1873 3746 3746 +1874 3748 3748 +1875 3750 3750 +1876 3752 3752 +1877 3754 3754 +1878 3756 3756 +1879 3758 3758 +1880 3760 3760 +1881 3762 3762 +1882 3764 3764 +1883 3766 3766 +1884 3768 3768 +1885 3770 3770 +1886 3772 3772 +1887 3774 3774 +1888 3776 3776 +1889 3778 3778 +1890 3780 3780 +1891 3782 3782 +1892 3784 3784 +1893 3786 3786 +1894 3788 3788 +1895 3790 3790 +1896 3792 3792 +1897 3794 3794 +1898 3796 3796 +1899 3798 3798 +1900 3800 3800 +1901 3802 3802 +1902 3804 3804 +1903 3806 3806 +1904 3808 3808 +1905 3810 3810 +1906 3812 3812 +1907 3814 3814 +1908 3816 3816 +1909 3818 3818 +1910 3820 3820 +1911 3822 3822 +1912 3824 3824 +1913 3826 3826 +1914 3828 3828 +1915 3830 3830 +1916 3832 3832 +1917 3834 3834 +1918 3836 3836 +1919 3838 3838 +1920 3840 3840 +1921 3842 3842 +1922 3844 3844 +1923 3846 3846 +1924 3848 3848 +1925 3850 3850 +1926 3852 3852 +1927 3854 3854 +1928 3856 3856 +1929 3858 3858 +1930 3860 3860 +1931 3862 3862 +1932 3864 3864 +1933 3866 3866 +1934 3868 3868 +1935 3870 3870 +1936 3872 3872 +1937 3874 3874 +1938 3876 3876 +1939 3878 3878 +1940 3880 3880 +1941 3882 3882 +1942 3884 3884 +1943 3886 3886 +1944 3888 3888 +1945 3890 3890 +1946 3892 3892 +1947 3894 3894 +1948 3896 3896 +1949 3898 3898 +1950 3900 3900 +1951 3902 3902 +1952 3904 3904 +1953 3906 3906 +1954 3908 3908 +1955 3910 3910 +1956 3912 3912 +1957 3914 3914 +1958 3916 3916 +1959 3918 3918 +1960 3920 3920 +1961 3922 3922 +1962 3924 3924 +1963 3926 3926 +1964 3928 3928 +1965 3930 3930 +1966 3932 3932 +1967 3934 3934 +1968 3936 3936 +1969 3938 3938 +1970 3940 3940 +1971 3942 3942 +1972 3944 3944 +1973 3946 3946 +1974 3948 3948 +1975 3950 3950 +1976 3952 3952 +1977 3954 3954 +1978 3956 3956 +1979 3958 3958 +1980 3960 3960 +1981 3962 3962 +1982 3964 3964 +1983 3966 3966 +1984 3968 3968 +1985 3970 3970 +1986 3972 3972 +1987 3974 3974 +1988 3976 3976 +1989 3978 3978 +1990 3980 3980 +1991 3982 3982 +1992 3984 3984 +1993 3986 3986 +1994 3988 3988 +1995 3990 3990 +1996 3992 3992 +1997 3994 3994 +1998 3996 3996 +1999 3998 3998 +2000 4000 4000 +2001 4002 4002 +2002 4004 4004 +2003 4006 4006 +2004 4008 4008 +2005 4010 4010 +2006 4012 4012 +2007 4014 4014 +2008 4016 4016 +2009 4018 4018 +2010 4020 4020 +2011 4022 4022 +2012 4024 4024 +2013 4026 4026 +2014 4028 4028 +2015 4030 4030 +2016 4032 4032 +2017 4034 4034 +2018 4036 4036 +2019 4038 4038 +2020 4040 4040 +2021 4042 4042 +2022 4044 4044 +2023 4046 4046 +2024 4048 4048 +2025 4050 4050 +2026 4052 4052 +2027 4054 4054 +2028 4056 4056 +2029 4058 4058 +2030 4060 4060 +2031 4062 4062 +2032 4064 4064 +2033 4066 4066 +2034 4068 4068 +2035 4070 4070 +2036 4072 4072 +2037 4074 4074 +2038 4076 4076 +2039 4078 4078 +2040 4080 4080 +2041 4082 4082 +2042 4084 4084 +2043 4086 4086 +2044 4088 4088 +2045 4090 4090 +2046 4092 4092 +2047 4094 4094 +2048 4096 4096 +2049 4098 4098 +2050 4100 4100 +2051 4102 4102 +2052 4104 4104 +2053 4106 4106 +2054 4108 4108 +2055 4110 4110 +2056 4112 4112 +2057 4114 4114 +2058 4116 4116 +2059 4118 4118 +2060 4120 4120 +2061 4122 4122 +2062 4124 4124 +2063 4126 4126 +2064 4128 4128 +2065 4130 4130 +2066 4132 4132 +2067 4134 4134 +2068 4136 4136 +2069 4138 4138 +2070 4140 4140 +2071 4142 4142 +2072 4144 4144 +2073 4146 4146 +2074 4148 4148 +2075 4150 4150 +2076 4152 4152 +2077 4154 4154 +2078 4156 4156 +2079 4158 4158 +2080 4160 4160 +2081 4162 4162 +2082 4164 4164 +2083 4166 4166 +2084 4168 4168 +2085 4170 4170 +2086 4172 4172 +2087 4174 4174 +2088 4176 4176 +2089 4178 4178 +2090 4180 4180 +2091 4182 4182 +2092 4184 4184 +2093 4186 4186 +2094 4188 4188 +2095 4190 4190 +2096 4192 4192 +2097 4194 4194 +2098 4196 4196 +2099 4198 4198 +2100 4200 4200 +2101 4202 4202 +2102 4204 4204 +2103 4206 4206 +2104 4208 4208 +2105 4210 4210 +2106 4212 4212 +2107 4214 4214 +2108 4216 4216 +2109 4218 4218 +2110 4220 4220 +2111 4222 4222 +2112 4224 4224 +2113 4226 4226 +2114 4228 4228 +2115 4230 4230 +2116 4232 4232 +2117 4234 4234 +2118 4236 4236 +2119 4238 4238 +2120 4240 4240 +2121 4242 4242 +2122 4244 4244 +2123 4246 4246 +2124 4248 4248 +2125 4250 4250 +2126 4252 4252 +2127 4254 4254 +2128 4256 4256 +2129 4258 4258 +2130 4260 4260 +2131 4262 4262 +2132 4264 4264 +2133 4266 4266 +2134 4268 4268 +2135 4270 4270 +2136 4272 4272 +2137 4274 4274 +2138 4276 4276 +2139 4278 4278 +2140 4280 4280 +2141 4282 4282 +2142 4284 4284 +2143 4286 4286 +2144 4288 4288 +2145 4290 4290 +2146 4292 4292 +2147 4294 4294 +2148 4296 4296 +2149 4298 4298 +2150 4300 4300 +2151 4302 4302 +2152 4304 4304 +2153 4306 4306 +2154 4308 4308 +2155 4310 4310 +2156 4312 4312 +2157 4314 4314 +2158 4316 4316 +2159 4318 4318 +2160 4320 4320 +2161 4322 4322 +2162 4324 4324 +2163 4326 4326 +2164 4328 4328 +2165 4330 4330 +2166 4332 4332 +2167 4334 4334 +2168 4336 4336 +2169 4338 4338 +2170 4340 4340 +2171 4342 4342 +2172 4344 4344 +2173 4346 4346 +2174 4348 4348 +2175 4350 4350 +2176 4352 4352 +2177 4354 4354 +2178 4356 4356 +2179 4358 4358 +2180 4360 4360 +2181 4362 4362 +2182 4364 4364 +2183 4366 4366 +2184 4368 4368 +2185 4370 4370 +2186 4372 4372 +2187 4374 4374 +2188 4376 4376 +2189 4378 4378 +2190 4380 4380 +2191 4382 4382 +2192 4384 4384 +2193 4386 4386 +2194 4388 4388 +2195 4390 4390 +2196 4392 4392 +2197 4394 4394 +2198 4396 4396 +2199 4398 4398 +2200 4400 4400 +2201 4402 4402 +2202 4404 4404 +2203 4406 4406 +2204 4408 4408 +2205 4410 4410 +2206 4412 4412 +2207 4414 4414 +2208 4416 4416 +2209 4418 4418 +2210 4420 4420 +2211 4422 4422 +2212 4424 4424 +2213 4426 4426 +2214 4428 4428 +2215 4430 4430 +2216 4432 4432 +2217 4434 4434 +2218 4436 4436 +2219 4438 4438 +2220 4440 4440 +2221 4442 4442 +2222 4444 4444 +2223 4446 4446 +2224 4448 4448 +2225 4450 4450 +2226 4452 4452 +2227 4454 4454 +2228 4456 4456 +2229 4458 4458 +2230 4460 4460 +2231 4462 4462 +2232 4464 4464 +2233 4466 4466 +2234 4468 4468 +2235 4470 4470 +2236 4472 4472 +2237 4474 4474 +2238 4476 4476 +2239 4478 4478 +2240 4480 4480 +2241 4482 4482 +2242 4484 4484 +2243 4486 4486 +2244 4488 4488 +2245 4490 4490 +2246 4492 4492 +2247 4494 4494 +2248 4496 4496 +2249 4498 4498 +2250 4500 4500 +2251 4502 4502 +2252 4504 4504 +2253 4506 4506 +2254 4508 4508 +2255 4510 4510 +2256 4512 4512 +2257 4514 4514 +2258 4516 4516 +2259 4518 4518 +2260 4520 4520 +2261 4522 4522 +2262 4524 4524 +2263 4526 4526 +2264 4528 4528 +2265 4530 4530 +2266 4532 4532 +2267 4534 4534 +2268 4536 4536 +2269 4538 4538 +2270 4540 4540 +2271 4542 4542 +2272 4544 4544 +2273 4546 4546 +2274 4548 4548 +2275 4550 4550 +2276 4552 4552 +2277 4554 4554 +2278 4556 4556 +2279 4558 4558 +2280 4560 4560 +2281 4562 4562 +2282 4564 4564 +2283 4566 4566 +2284 4568 4568 +2285 4570 4570 +2286 4572 4572 +2287 4574 4574 +2288 4576 4576 +2289 4578 4578 +2290 4580 4580 +2291 4582 4582 +2292 4584 4584 +2293 4586 4586 +2294 4588 4588 +2295 4590 4590 +2296 4592 4592 +2297 4594 4594 +2298 4596 4596 +2299 4598 4598 +2300 4600 4600 +2301 4602 4602 +2302 4604 4604 +2303 4606 4606 +2304 4608 4608 +2305 4610 4610 +2306 4612 4612 +2307 4614 4614 +2308 4616 4616 +2309 4618 4618 +2310 4620 4620 +2311 4622 4622 +2312 4624 4624 +2313 4626 4626 +2314 4628 4628 +2315 4630 4630 +2316 4632 4632 +2317 4634 4634 +2318 4636 4636 +2319 4638 4638 +2320 4640 4640 +2321 4642 4642 +2322 4644 4644 +2323 4646 4646 +2324 4648 4648 +2325 4650 4650 +2326 4652 4652 +2327 4654 4654 +2328 4656 4656 +2329 4658 4658 +2330 4660 4660 +2331 4662 4662 +2332 4664 4664 +2333 4666 4666 +2334 4668 4668 +2335 4670 4670 +2336 4672 4672 +2337 4674 4674 +2338 4676 4676 +2339 4678 4678 +2340 4680 4680 +2341 4682 4682 +2342 4684 4684 +2343 4686 4686 +2344 4688 4688 +2345 4690 4690 +2346 4692 4692 +2347 4694 4694 +2348 4696 4696 +2349 4698 4698 +2350 4700 4700 +2351 4702 4702 +2352 4704 4704 +2353 4706 4706 +2354 4708 4708 +2355 4710 4710 +2356 4712 4712 +2357 4714 4714 +2358 4716 4716 +2359 4718 4718 +2360 4720 4720 +2361 4722 4722 +2362 4724 4724 +2363 4726 4726 +2364 4728 4728 +2365 4730 4730 +2366 4732 4732 +2367 4734 4734 +2368 4736 4736 +2369 4738 4738 +2370 4740 4740 +2371 4742 4742 +2372 4744 4744 +2373 4746 4746 +2374 4748 4748 +2375 4750 4750 +2376 4752 4752 +2377 4754 4754 +2378 4756 4756 +2379 4758 4758 +2380 4760 4760 +2381 4762 4762 +2382 4764 4764 +2383 4766 4766 +2384 4768 4768 +2385 4770 4770 +2386 4772 4772 +2387 4774 4774 +2388 4776 4776 +2389 4778 4778 +2390 4780 4780 +2391 4782 4782 +2392 4784 4784 +2393 4786 4786 +2394 4788 4788 +2395 4790 4790 +2396 4792 4792 +2397 4794 4794 +2398 4796 4796 +2399 4798 4798 +2400 4800 4800 +2401 4802 4802 +2402 4804 4804 +2403 4806 4806 +2404 4808 4808 +2405 4810 4810 +2406 4812 4812 +2407 4814 4814 +2408 4816 4816 +2409 4818 4818 +2410 4820 4820 +2411 4822 4822 +2412 4824 4824 +2413 4826 4826 +2414 4828 4828 +2415 4830 4830 +2416 4832 4832 +2417 4834 4834 +2418 4836 4836 +2419 4838 4838 +2420 4840 4840 +2421 4842 4842 +2422 4844 4844 +2423 4846 4846 +2424 4848 4848 +2425 4850 4850 +2426 4852 4852 +2427 4854 4854 +2428 4856 4856 +2429 4858 4858 +2430 4860 4860 +2431 4862 4862 +2432 4864 4864 +2433 4866 4866 +2434 4868 4868 +2435 4870 4870 +2436 4872 4872 +2437 4874 4874 +2438 4876 4876 +2439 4878 4878 +2440 4880 4880 +2441 4882 4882 +2442 4884 4884 +2443 4886 4886 +2444 4888 4888 +2445 4890 4890 +2446 4892 4892 +2447 4894 4894 +2448 4896 4896 +2449 4898 4898 +2450 4900 4900 +2451 4902 4902 +2452 4904 4904 +2453 4906 4906 +2454 4908 4908 +2455 4910 4910 +2456 4912 4912 +2457 4914 4914 +2458 4916 4916 +2459 4918 4918 +2460 4920 4920 +2461 4922 4922 +2462 4924 4924 +2463 4926 4926 +2464 4928 4928 +2465 4930 4930 +2466 4932 4932 +2467 4934 4934 +2468 4936 4936 +2469 4938 4938 +2470 4940 4940 +2471 4942 4942 +2472 4944 4944 +2473 4946 4946 +2474 4948 4948 +2475 4950 4950 +2476 4952 4952 +2477 4954 4954 +2478 4956 4956 +2479 4958 4958 +2480 4960 4960 +2481 4962 4962 +2482 4964 4964 +2483 4966 4966 +2484 4968 4968 +2485 4970 4970 +2486 4972 4972 +2487 4974 4974 +2488 4976 4976 +2489 4978 4978 +2490 4980 4980 +2491 4982 4982 +2492 4984 4984 +2493 4986 4986 +2494 4988 4988 +2495 4990 4990 +2496 4992 4992 +2497 4994 4994 +2498 4996 4996 +2499 4998 4998 +2500 5000 5000 +2501 5002 5002 +2502 5004 5004 +2503 5006 5006 +2504 5008 5008 +2505 5010 5010 +2506 5012 5012 +2507 5014 5014 +2508 5016 5016 +2509 5018 5018 +2510 5020 5020 +2511 5022 5022 +2512 5024 5024 +2513 5026 5026 +2514 5028 5028 +2515 5030 5030 +2516 5032 5032 +2517 5034 5034 +2518 5036 5036 +2519 5038 5038 +2520 5040 5040 +2521 5042 5042 +2522 5044 5044 +2523 5046 5046 +2524 5048 5048 +2525 5050 5050 +2526 5052 5052 +2527 5054 5054 +2528 5056 5056 +2529 5058 5058 +2530 5060 5060 +2531 5062 5062 +2532 5064 5064 +2533 5066 5066 +2534 5068 5068 +2535 5070 5070 +2536 5072 5072 +2537 5074 5074 +2538 5076 5076 +2539 5078 5078 +2540 5080 5080 +2541 5082 5082 +2542 5084 5084 +2543 5086 5086 +2544 5088 5088 +2545 5090 5090 +2546 5092 5092 +2547 5094 5094 +2548 5096 5096 +2549 5098 5098 +2550 5100 5100 +2551 5102 5102 +2552 5104 5104 +2553 5106 5106 +2554 5108 5108 +2555 5110 5110 +2556 5112 5112 +2557 5114 5114 +2558 5116 5116 +2559 5118 5118 +2560 5120 5120 +2561 5122 5122 +2562 5124 5124 +2563 5126 5126 +2564 5128 5128 +2565 5130 5130 +2566 5132 5132 +2567 5134 5134 +2568 5136 5136 +2569 5138 5138 +2570 5140 5140 +2571 5142 5142 +2572 5144 5144 +2573 5146 5146 +2574 5148 5148 +2575 5150 5150 +2576 5152 5152 +2577 5154 5154 +2578 5156 5156 +2579 5158 5158 +2580 5160 5160 +2581 5162 5162 +2582 5164 5164 +2583 5166 5166 +2584 5168 5168 +2585 5170 5170 +2586 5172 5172 +2587 5174 5174 +2588 5176 5176 +2589 5178 5178 +2590 5180 5180 +2591 5182 5182 +2592 5184 5184 +2593 5186 5186 +2594 5188 5188 +2595 5190 5190 +2596 5192 5192 +2597 5194 5194 +2598 5196 5196 +2599 5198 5198 +2600 5200 5200 +2601 5202 5202 +2602 5204 5204 +2603 5206 5206 +2604 5208 5208 +2605 5210 5210 +2606 5212 5212 +2607 5214 5214 +2608 5216 5216 +2609 5218 5218 +2610 5220 5220 +2611 5222 5222 +2612 5224 5224 +2613 5226 5226 +2614 5228 5228 +2615 5230 5230 +2616 5232 5232 +2617 5234 5234 +2618 5236 5236 +2619 5238 5238 +2620 5240 5240 +2621 5242 5242 +2622 5244 5244 +2623 5246 5246 +2624 5248 5248 +2625 5250 5250 +2626 5252 5252 +2627 5254 5254 +2628 5256 5256 +2629 5258 5258 +2630 5260 5260 +2631 5262 5262 +2632 5264 5264 +2633 5266 5266 +2634 5268 5268 +2635 5270 5270 +2636 5272 5272 +2637 5274 5274 +2638 5276 5276 +2639 5278 5278 +2640 5280 5280 +2641 5282 5282 +2642 5284 5284 +2643 5286 5286 +2644 5288 5288 +2645 5290 5290 +2646 5292 5292 +2647 5294 5294 +2648 5296 5296 +2649 5298 5298 +2650 5300 5300 +2651 5302 5302 +2652 5304 5304 +2653 5306 5306 +2654 5308 5308 +2655 5310 5310 +2656 5312 5312 +2657 5314 5314 +2658 5316 5316 +2659 5318 5318 +2660 5320 5320 +2661 5322 5322 +2662 5324 5324 +2663 5326 5326 +2664 5328 5328 +2665 5330 5330 +2666 5332 5332 +2667 5334 5334 +2668 5336 5336 +2669 5338 5338 +2670 5340 5340 +2671 5342 5342 +2672 5344 5344 +2673 5346 5346 +2674 5348 5348 +2675 5350 5350 +2676 5352 5352 +2677 5354 5354 +2678 5356 5356 +2679 5358 5358 +2680 5360 5360 +2681 5362 5362 +2682 5364 5364 +2683 5366 5366 +2684 5368 5368 +2685 5370 5370 +2686 5372 5372 +2687 5374 5374 +2688 5376 5376 +2689 5378 5378 +2690 5380 5380 +2691 5382 5382 +2692 5384 5384 +2693 5386 5386 +2694 5388 5388 +2695 5390 5390 +2696 5392 5392 +2697 5394 5394 +2698 5396 5396 +2699 5398 5398 +2700 5400 5400 +2701 5402 5402 +2702 5404 5404 +2703 5406 5406 +2704 5408 5408 +2705 5410 5410 +2706 5412 5412 +2707 5414 5414 +2708 5416 5416 +2709 5418 5418 +2710 5420 5420 +2711 5422 5422 +2712 5424 5424 +2713 5426 5426 +2714 5428 5428 +2715 5430 5430 +2716 5432 5432 +2717 5434 5434 +2718 5436 5436 +2719 5438 5438 +2720 5440 5440 +2721 5442 5442 +2722 5444 5444 +2723 5446 5446 +2724 5448 5448 +2725 5450 5450 +2726 5452 5452 +2727 5454 5454 +2728 5456 5456 +2729 5458 5458 +2730 5460 5460 +2731 5462 5462 +2732 5464 5464 +2733 5466 5466 +2734 5468 5468 +2735 5470 5470 +2736 5472 5472 +2737 5474 5474 +2738 5476 5476 +2739 5478 5478 +2740 5480 5480 +2741 5482 5482 +2742 5484 5484 +2743 5486 5486 +2744 5488 5488 +2745 5490 5490 +2746 5492 5492 +2747 5494 5494 +2748 5496 5496 +2749 5498 5498 +2750 5500 5500 +2751 5502 5502 +2752 5504 5504 +2753 5506 5506 +2754 5508 5508 +2755 5510 5510 +2756 5512 5512 +2757 5514 5514 +2758 5516 5516 +2759 5518 5518 +2760 5520 5520 +2761 5522 5522 +2762 5524 5524 +2763 5526 5526 +2764 5528 5528 +2765 5530 5530 +2766 5532 5532 +2767 5534 5534 +2768 5536 5536 +2769 5538 5538 +2770 5540 5540 +2771 5542 5542 +2772 5544 5544 +2773 5546 5546 +2774 5548 5548 +2775 5550 5550 +2776 5552 5552 +2777 5554 5554 +2778 5556 5556 +2779 5558 5558 +2780 5560 5560 +2781 5562 5562 +2782 5564 5564 +2783 5566 5566 +2784 5568 5568 +2785 5570 5570 +2786 5572 5572 +2787 5574 5574 +2788 5576 5576 +2789 5578 5578 +2790 5580 5580 +2791 5582 5582 +2792 5584 5584 +2793 5586 5586 +2794 5588 5588 +2795 5590 5590 +2796 5592 5592 +2797 5594 5594 +2798 5596 5596 +2799 5598 5598 +2800 5600 5600 +2801 5602 5602 +2802 5604 5604 +2803 5606 5606 +2804 5608 5608 +2805 5610 5610 +2806 5612 5612 +2807 5614 5614 +2808 5616 5616 +2809 5618 5618 +2810 5620 5620 +2811 5622 5622 +2812 5624 5624 +2813 5626 5626 +2814 5628 5628 +2815 5630 5630 +2816 5632 5632 +2817 5634 5634 +2818 5636 5636 +2819 5638 5638 +2820 5640 5640 +2821 5642 5642 +2822 5644 5644 +2823 5646 5646 +2824 5648 5648 +2825 5650 5650 +2826 5652 5652 +2827 5654 5654 +2828 5656 5656 +2829 5658 5658 +2830 5660 5660 +2831 5662 5662 +2832 5664 5664 +2833 5666 5666 +2834 5668 5668 +2835 5670 5670 +2836 5672 5672 +2837 5674 5674 +2838 5676 5676 +2839 5678 5678 +2840 5680 5680 +2841 5682 5682 +2842 5684 5684 +2843 5686 5686 +2844 5688 5688 +2845 5690 5690 +2846 5692 5692 +2847 5694 5694 +2848 5696 5696 +2849 5698 5698 +2850 5700 5700 +2851 5702 5702 +2852 5704 5704 +2853 5706 5706 +2854 5708 5708 +2855 5710 5710 +2856 5712 5712 +2857 5714 5714 +2858 5716 5716 +2859 5718 5718 +2860 5720 5720 +2861 5722 5722 +2862 5724 5724 +2863 5726 5726 +2864 5728 5728 +2865 5730 5730 +2866 5732 5732 +2867 5734 5734 +2868 5736 5736 +2869 5738 5738 +2870 5740 5740 +2871 5742 5742 +2872 5744 5744 +2873 5746 5746 +2874 5748 5748 +2875 5750 5750 +2876 5752 5752 +2877 5754 5754 +2878 5756 5756 +2879 5758 5758 +2880 5760 5760 +2881 5762 5762 +2882 5764 5764 +2883 5766 5766 +2884 5768 5768 +2885 5770 5770 +2886 5772 5772 +2887 5774 5774 +2888 5776 5776 +2889 5778 5778 +2890 5780 5780 +2891 5782 5782 +2892 5784 5784 +2893 5786 5786 +2894 5788 5788 +2895 5790 5790 +2896 5792 5792 +2897 5794 5794 +2898 5796 5796 +2899 5798 5798 +2900 5800 5800 +2901 5802 5802 +2902 5804 5804 +2903 5806 5806 +2904 5808 5808 +2905 5810 5810 +2906 5812 5812 +2907 5814 5814 +2908 5816 5816 +2909 5818 5818 +2910 5820 5820 +2911 5822 5822 +2912 5824 5824 +2913 5826 5826 +2914 5828 5828 +2915 5830 5830 +2916 5832 5832 +2917 5834 5834 +2918 5836 5836 +2919 5838 5838 +2920 5840 5840 +2921 5842 5842 +2922 5844 5844 +2923 5846 5846 +2924 5848 5848 +2925 5850 5850 +2926 5852 5852 +2927 5854 5854 +2928 5856 5856 +2929 5858 5858 +2930 5860 5860 +2931 5862 5862 +2932 5864 5864 +2933 5866 5866 +2934 5868 5868 +2935 5870 5870 +2936 5872 5872 +2937 5874 5874 +2938 5876 5876 +2939 5878 5878 +2940 5880 5880 +2941 5882 5882 +2942 5884 5884 +2943 5886 5886 +2944 5888 5888 +2945 5890 5890 +2946 5892 5892 +2947 5894 5894 +2948 5896 5896 +2949 5898 5898 +2950 5900 5900 +2951 5902 5902 +2952 5904 5904 +2953 5906 5906 +2954 5908 5908 +2955 5910 5910 +2956 5912 5912 +2957 5914 5914 +2958 5916 5916 +2959 5918 5918 +2960 5920 5920 +2961 5922 5922 +2962 5924 5924 +2963 5926 5926 +2964 5928 5928 +2965 5930 5930 +2966 5932 5932 +2967 5934 5934 +2968 5936 5936 +2969 5938 5938 +2970 5940 5940 +2971 5942 5942 +2972 5944 5944 +2973 5946 5946 +2974 5948 5948 +2975 5950 5950 +2976 5952 5952 +2977 5954 5954 +2978 5956 5956 +2979 5958 5958 +2980 5960 5960 +2981 5962 5962 +2982 5964 5964 +2983 5966 5966 +2984 5968 5968 +2985 5970 5970 +2986 5972 5972 +2987 5974 5974 +2988 5976 5976 +2989 5978 5978 +2990 5980 5980 +2991 5982 5982 +2992 5984 5984 +2993 5986 5986 +2994 5988 5988 +2995 5990 5990 +2996 5992 5992 +2997 5994 5994 +2998 5996 5996 +2999 5998 5998 +3000 6000 6000 +3001 6002 6002 +3002 6004 6004 +3003 6006 6006 +3004 6008 6008 +3005 6010 6010 +3006 6012 6012 +3007 6014 6014 +3008 6016 6016 +3009 6018 6018 +3010 6020 6020 +3011 6022 6022 +3012 6024 6024 +3013 6026 6026 +3014 6028 6028 +3015 6030 6030 +3016 6032 6032 +3017 6034 6034 +3018 6036 6036 +3019 6038 6038 +3020 6040 6040 +3021 6042 6042 +3022 6044 6044 +3023 6046 6046 +3024 6048 6048 +3025 6050 6050 +3026 6052 6052 +3027 6054 6054 +3028 6056 6056 +3029 6058 6058 +3030 6060 6060 +3031 6062 6062 +3032 6064 6064 +3033 6066 6066 +3034 6068 6068 +3035 6070 6070 +3036 6072 6072 +3037 6074 6074 +3038 6076 6076 +3039 6078 6078 +3040 6080 6080 +3041 6082 6082 +3042 6084 6084 +3043 6086 6086 +3044 6088 6088 +3045 6090 6090 +3046 6092 6092 +3047 6094 6094 +3048 6096 6096 +3049 6098 6098 +3050 6100 6100 +3051 6102 6102 +3052 6104 6104 +3053 6106 6106 +3054 6108 6108 +3055 6110 6110 +3056 6112 6112 +3057 6114 6114 +3058 6116 6116 +3059 6118 6118 +3060 6120 6120 +3061 6122 6122 +3062 6124 6124 +3063 6126 6126 +3064 6128 6128 +3065 6130 6130 +3066 6132 6132 +3067 6134 6134 +3068 6136 6136 +3069 6138 6138 +3070 6140 6140 +3071 6142 6142 +3072 6144 6144 +3073 6146 6146 +3074 6148 6148 +3075 6150 6150 +3076 6152 6152 +3077 6154 6154 +3078 6156 6156 +3079 6158 6158 +3080 6160 6160 +3081 6162 6162 +3082 6164 6164 +3083 6166 6166 +3084 6168 6168 +3085 6170 6170 +3086 6172 6172 +3087 6174 6174 +3088 6176 6176 +3089 6178 6178 +3090 6180 6180 +3091 6182 6182 +3092 6184 6184 +3093 6186 6186 +3094 6188 6188 +3095 6190 6190 +3096 6192 6192 +3097 6194 6194 +3098 6196 6196 +3099 6198 6198 +3100 6200 6200 +3101 6202 6202 +3102 6204 6204 +3103 6206 6206 +3104 6208 6208 +3105 6210 6210 +3106 6212 6212 +3107 6214 6214 +3108 6216 6216 +3109 6218 6218 +3110 6220 6220 +3111 6222 6222 +3112 6224 6224 +3113 6226 6226 +3114 6228 6228 +3115 6230 6230 +3116 6232 6232 +3117 6234 6234 +3118 6236 6236 +3119 6238 6238 +3120 6240 6240 +3121 6242 6242 +3122 6244 6244 +3123 6246 6246 +3124 6248 6248 +3125 6250 6250 +3126 6252 6252 +3127 6254 6254 +3128 6256 6256 +3129 6258 6258 +3130 6260 6260 +3131 6262 6262 +3132 6264 6264 +3133 6266 6266 +3134 6268 6268 +3135 6270 6270 +3136 6272 6272 +3137 6274 6274 +3138 6276 6276 +3139 6278 6278 +3140 6280 6280 +3141 6282 6282 +3142 6284 6284 +3143 6286 6286 +3144 6288 6288 +3145 6290 6290 +3146 6292 6292 +3147 6294 6294 +3148 6296 6296 +3149 6298 6298 +3150 6300 6300 +3151 6302 6302 +3152 6304 6304 +3153 6306 6306 +3154 6308 6308 +3155 6310 6310 +3156 6312 6312 +3157 6314 6314 +3158 6316 6316 +3159 6318 6318 +3160 6320 6320 +3161 6322 6322 +3162 6324 6324 +3163 6326 6326 +3164 6328 6328 +3165 6330 6330 +3166 6332 6332 +3167 6334 6334 +3168 6336 6336 +3169 6338 6338 +3170 6340 6340 +3171 6342 6342 +3172 6344 6344 +3173 6346 6346 +3174 6348 6348 +3175 6350 6350 +3176 6352 6352 +3177 6354 6354 +3178 6356 6356 +3179 6358 6358 +3180 6360 6360 +3181 6362 6362 +3182 6364 6364 +3183 6366 6366 +3184 6368 6368 +3185 6370 6370 +3186 6372 6372 +3187 6374 6374 +3188 6376 6376 +3189 6378 6378 +3190 6380 6380 +3191 6382 6382 +3192 6384 6384 +3193 6386 6386 +3194 6388 6388 +3195 6390 6390 +3196 6392 6392 +3197 6394 6394 +3198 6396 6396 +3199 6398 6398 +3200 6400 6400 +3201 6402 6402 +3202 6404 6404 +3203 6406 6406 +3204 6408 6408 +3205 6410 6410 +3206 6412 6412 +3207 6414 6414 +3208 6416 6416 +3209 6418 6418 +3210 6420 6420 +3211 6422 6422 +3212 6424 6424 +3213 6426 6426 +3214 6428 6428 +3215 6430 6430 +3216 6432 6432 +3217 6434 6434 +3218 6436 6436 +3219 6438 6438 +3220 6440 6440 +3221 6442 6442 +3222 6444 6444 +3223 6446 6446 +3224 6448 6448 +3225 6450 6450 +3226 6452 6452 +3227 6454 6454 +3228 6456 6456 +3229 6458 6458 +3230 6460 6460 +3231 6462 6462 +3232 6464 6464 +3233 6466 6466 +3234 6468 6468 +3235 6470 6470 +3236 6472 6472 +3237 6474 6474 +3238 6476 6476 +3239 6478 6478 +3240 6480 6480 +3241 6482 6482 +3242 6484 6484 +3243 6486 6486 +3244 6488 6488 +3245 6490 6490 +3246 6492 6492 +3247 6494 6494 +3248 6496 6496 +3249 6498 6498 +3250 6500 6500 +3251 6502 6502 +3252 6504 6504 +3253 6506 6506 +3254 6508 6508 +3255 6510 6510 +3256 6512 6512 +3257 6514 6514 +3258 6516 6516 +3259 6518 6518 +3260 6520 6520 +3261 6522 6522 +3262 6524 6524 +3263 6526 6526 +3264 6528 6528 +3265 6530 6530 +3266 6532 6532 +3267 6534 6534 +3268 6536 6536 +3269 6538 6538 +3270 6540 6540 +3271 6542 6542 +3272 6544 6544 +3273 6546 6546 +3274 6548 6548 +3275 6550 6550 +3276 6552 6552 +3277 6554 6554 +3278 6556 6556 +3279 6558 6558 +3280 6560 6560 +3281 6562 6562 +3282 6564 6564 +3283 6566 6566 +3284 6568 6568 +3285 6570 6570 +3286 6572 6572 +3287 6574 6574 +3288 6576 6576 +3289 6578 6578 +3290 6580 6580 +3291 6582 6582 +3292 6584 6584 +3293 6586 6586 +3294 6588 6588 +3295 6590 6590 +3296 6592 6592 +3297 6594 6594 +3298 6596 6596 +3299 6598 6598 +3300 6600 6600 +3301 6602 6602 +3302 6604 6604 +3303 6606 6606 +3304 6608 6608 +3305 6610 6610 +3306 6612 6612 +3307 6614 6614 +3308 6616 6616 +3309 6618 6618 +3310 6620 6620 +3311 6622 6622 +3312 6624 6624 +3313 6626 6626 +3314 6628 6628 +3315 6630 6630 +3316 6632 6632 +3317 6634 6634 +3318 6636 6636 +3319 6638 6638 +3320 6640 6640 +3321 6642 6642 +3322 6644 6644 +3323 6646 6646 +3324 6648 6648 +3325 6650 6650 +3326 6652 6652 +3327 6654 6654 +3328 6656 6656 +3329 6658 6658 +3330 6660 6660 +3331 6662 6662 +3332 6664 6664 +3333 6666 6666 +3334 6668 6668 +3335 6670 6670 +3336 6672 6672 +3337 6674 6674 +3338 6676 6676 +3339 6678 6678 +3340 6680 6680 +3341 6682 6682 +3342 6684 6684 +3343 6686 6686 +3344 6688 6688 +3345 6690 6690 +3346 6692 6692 +3347 6694 6694 +3348 6696 6696 +3349 6698 6698 +3350 6700 6700 +3351 6702 6702 +3352 6704 6704 +3353 6706 6706 +3354 6708 6708 +3355 6710 6710 +3356 6712 6712 +3357 6714 6714 +3358 6716 6716 +3359 6718 6718 +3360 6720 6720 +3361 6722 6722 +3362 6724 6724 +3363 6726 6726 +3364 6728 6728 +3365 6730 6730 +3366 6732 6732 +3367 6734 6734 +3368 6736 6736 +3369 6738 6738 +3370 6740 6740 +3371 6742 6742 +3372 6744 6744 +3373 6746 6746 +3374 6748 6748 +3375 6750 6750 +3376 6752 6752 +3377 6754 6754 +3378 6756 6756 +3379 6758 6758 +3380 6760 6760 +3381 6762 6762 +3382 6764 6764 +3383 6766 6766 +3384 6768 6768 +3385 6770 6770 +3386 6772 6772 +3387 6774 6774 +3388 6776 6776 +3389 6778 6778 +3390 6780 6780 +3391 6782 6782 +3392 6784 6784 +3393 6786 6786 +3394 6788 6788 +3395 6790 6790 +3396 6792 6792 +3397 6794 6794 +3398 6796 6796 +3399 6798 6798 +3400 6800 6800 +3401 6802 6802 +3402 6804 6804 +3403 6806 6806 +3404 6808 6808 +3405 6810 6810 +3406 6812 6812 +3407 6814 6814 +3408 6816 6816 +3409 6818 6818 +3410 6820 6820 +3411 6822 6822 +3412 6824 6824 +3413 6826 6826 +3414 6828 6828 +3415 6830 6830 +3416 6832 6832 +3417 6834 6834 +3418 6836 6836 +3419 6838 6838 +3420 6840 6840 +3421 6842 6842 +3422 6844 6844 +3423 6846 6846 +3424 6848 6848 +3425 6850 6850 +3426 6852 6852 +3427 6854 6854 +3428 6856 6856 +3429 6858 6858 +3430 6860 6860 +3431 6862 6862 +3432 6864 6864 +3433 6866 6866 +3434 6868 6868 +3435 6870 6870 +3436 6872 6872 +3437 6874 6874 +3438 6876 6876 +3439 6878 6878 +3440 6880 6880 +3441 6882 6882 +3442 6884 6884 +3443 6886 6886 +3444 6888 6888 +3445 6890 6890 +3446 6892 6892 +3447 6894 6894 +3448 6896 6896 +3449 6898 6898 +3450 6900 6900 +3451 6902 6902 +3452 6904 6904 +3453 6906 6906 +3454 6908 6908 +3455 6910 6910 +3456 6912 6912 +3457 6914 6914 +3458 6916 6916 +3459 6918 6918 +3460 6920 6920 +3461 6922 6922 +3462 6924 6924 +3463 6926 6926 +3464 6928 6928 +3465 6930 6930 +3466 6932 6932 +3467 6934 6934 +3468 6936 6936 +3469 6938 6938 +3470 6940 6940 +3471 6942 6942 +3472 6944 6944 +3473 6946 6946 +3474 6948 6948 +3475 6950 6950 +3476 6952 6952 +3477 6954 6954 +3478 6956 6956 +3479 6958 6958 +3480 6960 6960 +3481 6962 6962 +3482 6964 6964 +3483 6966 6966 +3484 6968 6968 +3485 6970 6970 +3486 6972 6972 +3487 6974 6974 +3488 6976 6976 +3489 6978 6978 +3490 6980 6980 +3491 6982 6982 +3492 6984 6984 +3493 6986 6986 +3494 6988 6988 +3495 6990 6990 +3496 6992 6992 +3497 6994 6994 +3498 6996 6996 +3499 6998 6998 +3500 7000 7000 +3501 7002 7002 +3502 7004 7004 +3503 7006 7006 +3504 7008 7008 +3505 7010 7010 +3506 7012 7012 +3507 7014 7014 +3508 7016 7016 +3509 7018 7018 +3510 7020 7020 +3511 7022 7022 +3512 7024 7024 +3513 7026 7026 +3514 7028 7028 +3515 7030 7030 +3516 7032 7032 +3517 7034 7034 +3518 7036 7036 +3519 7038 7038 +3520 7040 7040 +3521 7042 7042 +3522 7044 7044 +3523 7046 7046 +3524 7048 7048 +3525 7050 7050 +3526 7052 7052 +3527 7054 7054 +3528 7056 7056 +3529 7058 7058 +3530 7060 7060 +3531 7062 7062 +3532 7064 7064 +3533 7066 7066 +3534 7068 7068 +3535 7070 7070 +3536 7072 7072 +3537 7074 7074 +3538 7076 7076 +3539 7078 7078 +3540 7080 7080 +3541 7082 7082 +3542 7084 7084 +3543 7086 7086 +3544 7088 7088 +3545 7090 7090 +3546 7092 7092 +3547 7094 7094 +3548 7096 7096 +3549 7098 7098 +3550 7100 7100 +3551 7102 7102 +3552 7104 7104 +3553 7106 7106 +3554 7108 7108 +3555 7110 7110 +3556 7112 7112 +3557 7114 7114 +3558 7116 7116 +3559 7118 7118 +3560 7120 7120 +3561 7122 7122 +3562 7124 7124 +3563 7126 7126 +3564 7128 7128 +3565 7130 7130 +3566 7132 7132 +3567 7134 7134 +3568 7136 7136 +3569 7138 7138 +3570 7140 7140 +3571 7142 7142 +3572 7144 7144 +3573 7146 7146 +3574 7148 7148 +3575 7150 7150 +3576 7152 7152 +3577 7154 7154 +3578 7156 7156 +3579 7158 7158 +3580 7160 7160 +3581 7162 7162 +3582 7164 7164 +3583 7166 7166 +3584 7168 7168 +3585 7170 7170 +3586 7172 7172 +3587 7174 7174 +3588 7176 7176 +3589 7178 7178 +3590 7180 7180 +3591 7182 7182 +3592 7184 7184 +3593 7186 7186 +3594 7188 7188 +3595 7190 7190 +3596 7192 7192 +3597 7194 7194 +3598 7196 7196 +3599 7198 7198 +3600 7200 7200 +3601 7202 7202 +3602 7204 7204 +3603 7206 7206 +3604 7208 7208 +3605 7210 7210 +3606 7212 7212 +3607 7214 7214 +3608 7216 7216 +3609 7218 7218 +3610 7220 7220 +3611 7222 7222 +3612 7224 7224 +3613 7226 7226 +3614 7228 7228 +3615 7230 7230 +3616 7232 7232 +3617 7234 7234 +3618 7236 7236 +3619 7238 7238 +3620 7240 7240 +3621 7242 7242 +3622 7244 7244 +3623 7246 7246 +3624 7248 7248 +3625 7250 7250 +3626 7252 7252 +3627 7254 7254 +3628 7256 7256 +3629 7258 7258 +3630 7260 7260 +3631 7262 7262 +3632 7264 7264 +3633 7266 7266 +3634 7268 7268 +3635 7270 7270 +3636 7272 7272 +3637 7274 7274 +3638 7276 7276 +3639 7278 7278 +3640 7280 7280 +3641 7282 7282 +3642 7284 7284 +3643 7286 7286 +3644 7288 7288 +3645 7290 7290 +3646 7292 7292 +3647 7294 7294 +3648 7296 7296 +3649 7298 7298 +3650 7300 7300 +3651 7302 7302 +3652 7304 7304 +3653 7306 7306 +3654 7308 7308 +3655 7310 7310 +3656 7312 7312 +3657 7314 7314 +3658 7316 7316 +3659 7318 7318 +3660 7320 7320 +3661 7322 7322 +3662 7324 7324 +3663 7326 7326 +3664 7328 7328 +3665 7330 7330 +3666 7332 7332 +3667 7334 7334 +3668 7336 7336 +3669 7338 7338 +3670 7340 7340 +3671 7342 7342 +3672 7344 7344 +3673 7346 7346 +3674 7348 7348 +3675 7350 7350 +3676 7352 7352 +3677 7354 7354 +3678 7356 7356 +3679 7358 7358 +3680 7360 7360 +3681 7362 7362 +3682 7364 7364 +3683 7366 7366 +3684 7368 7368 +3685 7370 7370 +3686 7372 7372 +3687 7374 7374 +3688 7376 7376 +3689 7378 7378 +3690 7380 7380 +3691 7382 7382 +3692 7384 7384 +3693 7386 7386 +3694 7388 7388 +3695 7390 7390 +3696 7392 7392 +3697 7394 7394 +3698 7396 7396 +3699 7398 7398 +3700 7400 7400 +3701 7402 7402 +3702 7404 7404 +3703 7406 7406 +3704 7408 7408 +3705 7410 7410 +3706 7412 7412 +3707 7414 7414 +3708 7416 7416 +3709 7418 7418 +3710 7420 7420 +3711 7422 7422 +3712 7424 7424 +3713 7426 7426 +3714 7428 7428 +3715 7430 7430 +3716 7432 7432 +3717 7434 7434 +3718 7436 7436 +3719 7438 7438 +3720 7440 7440 +3721 7442 7442 +3722 7444 7444 +3723 7446 7446 +3724 7448 7448 +3725 7450 7450 +3726 7452 7452 +3727 7454 7454 +3728 7456 7456 +3729 7458 7458 +3730 7460 7460 +3731 7462 7462 +3732 7464 7464 +3733 7466 7466 +3734 7468 7468 +3735 7470 7470 +3736 7472 7472 +3737 7474 7474 +3738 7476 7476 +3739 7478 7478 +3740 7480 7480 +3741 7482 7482 +3742 7484 7484 +3743 7486 7486 +3744 7488 7488 +3745 7490 7490 +3746 7492 7492 +3747 7494 7494 +3748 7496 7496 +3749 7498 7498 +3750 7500 7500 +3751 7502 7502 +3752 7504 7504 +3753 7506 7506 +3754 7508 7508 +3755 7510 7510 +3756 7512 7512 +3757 7514 7514 +3758 7516 7516 +3759 7518 7518 +3760 7520 7520 +3761 7522 7522 +3762 7524 7524 +3763 7526 7526 +3764 7528 7528 +3765 7530 7530 +3766 7532 7532 +3767 7534 7534 +3768 7536 7536 +3769 7538 7538 +3770 7540 7540 +3771 7542 7542 +3772 7544 7544 +3773 7546 7546 +3774 7548 7548 +3775 7550 7550 +3776 7552 7552 +3777 7554 7554 +3778 7556 7556 +3779 7558 7558 +3780 7560 7560 +3781 7562 7562 +3782 7564 7564 +3783 7566 7566 +3784 7568 7568 +3785 7570 7570 +3786 7572 7572 +3787 7574 7574 +3788 7576 7576 +3789 7578 7578 +3790 7580 7580 +3791 7582 7582 +3792 7584 7584 +3793 7586 7586 +3794 7588 7588 +3795 7590 7590 +3796 7592 7592 +3797 7594 7594 +3798 7596 7596 +3799 7598 7598 +3800 7600 7600 +3801 7602 7602 +3802 7604 7604 +3803 7606 7606 +3804 7608 7608 +3805 7610 7610 +3806 7612 7612 +3807 7614 7614 +3808 7616 7616 +3809 7618 7618 +3810 7620 7620 +3811 7622 7622 +3812 7624 7624 +3813 7626 7626 +3814 7628 7628 +3815 7630 7630 +3816 7632 7632 +3817 7634 7634 +3818 7636 7636 +3819 7638 7638 +3820 7640 7640 +3821 7642 7642 +3822 7644 7644 +3823 7646 7646 +3824 7648 7648 +3825 7650 7650 +3826 7652 7652 +3827 7654 7654 +3828 7656 7656 +3829 7658 7658 +3830 7660 7660 +3831 7662 7662 +3832 7664 7664 +3833 7666 7666 +3834 7668 7668 +3835 7670 7670 +3836 7672 7672 +3837 7674 7674 +3838 7676 7676 +3839 7678 7678 +3840 7680 7680 +3841 7682 7682 +3842 7684 7684 +3843 7686 7686 +3844 7688 7688 +3845 7690 7690 +3846 7692 7692 +3847 7694 7694 +3848 7696 7696 +3849 7698 7698 +3850 7700 7700 +3851 7702 7702 +3852 7704 7704 +3853 7706 7706 +3854 7708 7708 +3855 7710 7710 +3856 7712 7712 +3857 7714 7714 +3858 7716 7716 +3859 7718 7718 +3860 7720 7720 +3861 7722 7722 +3862 7724 7724 +3863 7726 7726 +3864 7728 7728 +3865 7730 7730 +3866 7732 7732 +3867 7734 7734 +3868 7736 7736 +3869 7738 7738 +3870 7740 7740 +3871 7742 7742 +3872 7744 7744 +3873 7746 7746 +3874 7748 7748 +3875 7750 7750 +3876 7752 7752 +3877 7754 7754 +3878 7756 7756 +3879 7758 7758 +3880 7760 7760 +3881 7762 7762 +3882 7764 7764 +3883 7766 7766 +3884 7768 7768 +3885 7770 7770 +3886 7772 7772 +3887 7774 7774 +3888 7776 7776 +3889 7778 7778 +3890 7780 7780 +3891 7782 7782 +3892 7784 7784 +3893 7786 7786 +3894 7788 7788 +3895 7790 7790 +3896 7792 7792 +3897 7794 7794 +3898 7796 7796 +3899 7798 7798 +3900 7800 7800 +3901 7802 7802 +3902 7804 7804 +3903 7806 7806 +3904 7808 7808 +3905 7810 7810 +3906 7812 7812 +3907 7814 7814 +3908 7816 7816 +3909 7818 7818 +3910 7820 7820 +3911 7822 7822 +3912 7824 7824 +3913 7826 7826 +3914 7828 7828 +3915 7830 7830 +3916 7832 7832 +3917 7834 7834 +3918 7836 7836 +3919 7838 7838 +3920 7840 7840 +3921 7842 7842 +3922 7844 7844 +3923 7846 7846 +3924 7848 7848 +3925 7850 7850 +3926 7852 7852 +3927 7854 7854 +3928 7856 7856 +3929 7858 7858 +3930 7860 7860 +3931 7862 7862 +3932 7864 7864 +3933 7866 7866 +3934 7868 7868 +3935 7870 7870 +3936 7872 7872 +3937 7874 7874 +3938 7876 7876 +3939 7878 7878 +3940 7880 7880 +3941 7882 7882 +3942 7884 7884 +3943 7886 7886 +3944 7888 7888 +3945 7890 7890 +3946 7892 7892 +3947 7894 7894 +3948 7896 7896 +3949 7898 7898 +3950 7900 7900 +3951 7902 7902 +3952 7904 7904 +3953 7906 7906 +3954 7908 7908 +3955 7910 7910 +3956 7912 7912 +3957 7914 7914 +3958 7916 7916 +3959 7918 7918 +3960 7920 7920 +3961 7922 7922 +3962 7924 7924 +3963 7926 7926 +3964 7928 7928 +3965 7930 7930 +3966 7932 7932 +3967 7934 7934 +3968 7936 7936 +3969 7938 7938 +3970 7940 7940 +3971 7942 7942 +3972 7944 7944 +3973 7946 7946 +3974 7948 7948 +3975 7950 7950 +3976 7952 7952 +3977 7954 7954 +3978 7956 7956 +3979 7958 7958 +3980 7960 7960 +3981 7962 7962 +3982 7964 7964 +3983 7966 7966 +3984 7968 7968 +3985 7970 7970 +3986 7972 7972 +3987 7974 7974 +3988 7976 7976 +3989 7978 7978 +3990 7980 7980 +3991 7982 7982 +3992 7984 7984 +3993 7986 7986 +3994 7988 7988 +3995 7990 7990 +3996 7992 7992 +3997 7994 7994 +3998 7996 7996 +3999 7998 7998 +4000 8000 8000 +4001 8002 8002 +4002 8004 8004 +4003 8006 8006 +4004 8008 8008 +4005 8010 8010 +4006 8012 8012 +4007 8014 8014 +4008 8016 8016 +4009 8018 8018 +4010 8020 8020 +4011 8022 8022 +4012 8024 8024 +4013 8026 8026 +4014 8028 8028 +4015 8030 8030 +4016 8032 8032 +4017 8034 8034 +4018 8036 8036 +4019 8038 8038 +4020 8040 8040 +4021 8042 8042 +4022 8044 8044 +4023 8046 8046 +4024 8048 8048 +4025 8050 8050 +4026 8052 8052 +4027 8054 8054 +4028 8056 8056 +4029 8058 8058 +4030 8060 8060 +4031 8062 8062 +4032 8064 8064 +4033 8066 8066 +4034 8068 8068 +4035 8070 8070 +4036 8072 8072 +4037 8074 8074 +4038 8076 8076 +4039 8078 8078 +4040 8080 8080 +4041 8082 8082 +4042 8084 8084 +4043 8086 8086 +4044 8088 8088 +4045 8090 8090 +4046 8092 8092 +4047 8094 8094 +4048 8096 8096 +4049 8098 8098 +4050 8100 8100 +4051 8102 8102 +4052 8104 8104 +4053 8106 8106 +4054 8108 8108 +4055 8110 8110 +4056 8112 8112 +4057 8114 8114 +4058 8116 8116 +4059 8118 8118 +4060 8120 8120 +4061 8122 8122 +4062 8124 8124 +4063 8126 8126 +4064 8128 8128 +4065 8130 8130 +4066 8132 8132 +4067 8134 8134 +4068 8136 8136 +4069 8138 8138 +4070 8140 8140 +4071 8142 8142 +4072 8144 8144 +4073 8146 8146 +4074 8148 8148 +4075 8150 8150 +4076 8152 8152 +4077 8154 8154 +4078 8156 8156 +4079 8158 8158 +4080 8160 8160 +4081 8162 8162 +4082 8164 8164 +4083 8166 8166 +4084 8168 8168 +4085 8170 8170 +4086 8172 8172 +4087 8174 8174 +4088 8176 8176 +4089 8178 8178 +4090 8180 8180 +4091 8182 8182 +4092 8184 8184 +4093 8186 8186 +4094 8188 8188 +4095 8190 8190 +4096 8192 8192 +4097 8194 8194 +4098 8196 8196 +4099 8198 8198 +4100 8200 8200 +4101 8202 8202 +4102 8204 8204 +4103 8206 8206 +4104 8208 8208 +4105 8210 8210 +4106 8212 8212 +4107 8214 8214 +4108 8216 8216 +4109 8218 8218 +4110 8220 8220 +4111 8222 8222 +4112 8224 8224 +4113 8226 8226 +4114 8228 8228 +4115 8230 8230 +4116 8232 8232 +4117 8234 8234 +4118 8236 8236 +4119 8238 8238 +4120 8240 8240 +4121 8242 8242 +4122 8244 8244 +4123 8246 8246 +4124 8248 8248 +4125 8250 8250 +4126 8252 8252 +4127 8254 8254 +4128 8256 8256 +4129 8258 8258 +4130 8260 8260 +4131 8262 8262 +4132 8264 8264 +4133 8266 8266 +4134 8268 8268 +4135 8270 8270 +4136 8272 8272 +4137 8274 8274 +4138 8276 8276 +4139 8278 8278 +4140 8280 8280 +4141 8282 8282 +4142 8284 8284 +4143 8286 8286 +4144 8288 8288 +4145 8290 8290 +4146 8292 8292 +4147 8294 8294 +4148 8296 8296 +4149 8298 8298 +4150 8300 8300 +4151 8302 8302 +4152 8304 8304 +4153 8306 8306 +4154 8308 8308 +4155 8310 8310 +4156 8312 8312 +4157 8314 8314 +4158 8316 8316 +4159 8318 8318 +4160 8320 8320 +4161 8322 8322 +4162 8324 8324 +4163 8326 8326 +4164 8328 8328 +4165 8330 8330 +4166 8332 8332 +4167 8334 8334 +4168 8336 8336 +4169 8338 8338 +4170 8340 8340 +4171 8342 8342 +4172 8344 8344 +4173 8346 8346 +4174 8348 8348 +4175 8350 8350 +4176 8352 8352 +4177 8354 8354 +4178 8356 8356 +4179 8358 8358 +4180 8360 8360 +4181 8362 8362 +4182 8364 8364 +4183 8366 8366 +4184 8368 8368 +4185 8370 8370 +4186 8372 8372 +4187 8374 8374 +4188 8376 8376 +4189 8378 8378 +4190 8380 8380 +4191 8382 8382 +4192 8384 8384 +4193 8386 8386 +4194 8388 8388 +4195 8390 8390 +4196 8392 8392 +4197 8394 8394 +4198 8396 8396 +4199 8398 8398 +4200 8400 8400 +4201 8402 8402 +4202 8404 8404 +4203 8406 8406 +4204 8408 8408 +4205 8410 8410 +4206 8412 8412 +4207 8414 8414 +4208 8416 8416 +4209 8418 8418 +4210 8420 8420 +4211 8422 8422 +4212 8424 8424 +4213 8426 8426 +4214 8428 8428 +4215 8430 8430 +4216 8432 8432 +4217 8434 8434 +4218 8436 8436 +4219 8438 8438 +4220 8440 8440 +4221 8442 8442 +4222 8444 8444 +4223 8446 8446 +4224 8448 8448 +4225 8450 8450 +4226 8452 8452 +4227 8454 8454 +4228 8456 8456 +4229 8458 8458 +4230 8460 8460 +4231 8462 8462 +4232 8464 8464 +4233 8466 8466 +4234 8468 8468 +4235 8470 8470 +4236 8472 8472 +4237 8474 8474 +4238 8476 8476 +4239 8478 8478 +4240 8480 8480 +4241 8482 8482 +4242 8484 8484 +4243 8486 8486 +4244 8488 8488 +4245 8490 8490 +4246 8492 8492 +4247 8494 8494 +4248 8496 8496 +4249 8498 8498 +4250 8500 8500 +4251 8502 8502 +4252 8504 8504 +4253 8506 8506 +4254 8508 8508 +4255 8510 8510 +4256 8512 8512 +4257 8514 8514 +4258 8516 8516 +4259 8518 8518 +4260 8520 8520 +4261 8522 8522 +4262 8524 8524 +4263 8526 8526 +4264 8528 8528 +4265 8530 8530 +4266 8532 8532 +4267 8534 8534 +4268 8536 8536 +4269 8538 8538 +4270 8540 8540 +4271 8542 8542 +4272 8544 8544 +4273 8546 8546 +4274 8548 8548 +4275 8550 8550 +4276 8552 8552 +4277 8554 8554 +4278 8556 8556 +4279 8558 8558 +4280 8560 8560 +4281 8562 8562 +4282 8564 8564 +4283 8566 8566 +4284 8568 8568 +4285 8570 8570 +4286 8572 8572 +4287 8574 8574 +4288 8576 8576 +4289 8578 8578 +4290 8580 8580 +4291 8582 8582 +4292 8584 8584 +4293 8586 8586 +4294 8588 8588 +4295 8590 8590 +4296 8592 8592 +4297 8594 8594 +4298 8596 8596 +4299 8598 8598 +4300 8600 8600 +4301 8602 8602 +4302 8604 8604 +4303 8606 8606 +4304 8608 8608 +4305 8610 8610 +4306 8612 8612 +4307 8614 8614 +4308 8616 8616 +4309 8618 8618 +4310 8620 8620 +4311 8622 8622 +4312 8624 8624 +4313 8626 8626 +4314 8628 8628 +4315 8630 8630 +4316 8632 8632 +4317 8634 8634 +4318 8636 8636 +4319 8638 8638 +4320 8640 8640 +4321 8642 8642 +4322 8644 8644 +4323 8646 8646 +4324 8648 8648 +4325 8650 8650 +4326 8652 8652 +4327 8654 8654 +4328 8656 8656 +4329 8658 8658 +4330 8660 8660 +4331 8662 8662 +4332 8664 8664 +4333 8666 8666 +4334 8668 8668 +4335 8670 8670 +4336 8672 8672 +4337 8674 8674 +4338 8676 8676 +4339 8678 8678 +4340 8680 8680 +4341 8682 8682 +4342 8684 8684 +4343 8686 8686 +4344 8688 8688 +4345 8690 8690 +4346 8692 8692 +4347 8694 8694 +4348 8696 8696 +4349 8698 8698 +4350 8700 8700 +4351 8702 8702 +4352 8704 8704 +4353 8706 8706 +4354 8708 8708 +4355 8710 8710 +4356 8712 8712 +4357 8714 8714 +4358 8716 8716 +4359 8718 8718 +4360 8720 8720 +4361 8722 8722 +4362 8724 8724 +4363 8726 8726 +4364 8728 8728 +4365 8730 8730 +4366 8732 8732 +4367 8734 8734 +4368 8736 8736 +4369 8738 8738 +4370 8740 8740 +4371 8742 8742 +4372 8744 8744 +4373 8746 8746 +4374 8748 8748 +4375 8750 8750 +4376 8752 8752 +4377 8754 8754 +4378 8756 8756 +4379 8758 8758 +4380 8760 8760 +4381 8762 8762 +4382 8764 8764 +4383 8766 8766 +4384 8768 8768 +4385 8770 8770 +4386 8772 8772 +4387 8774 8774 +4388 8776 8776 +4389 8778 8778 +4390 8780 8780 +4391 8782 8782 +4392 8784 8784 +4393 8786 8786 +4394 8788 8788 +4395 8790 8790 +4396 8792 8792 +4397 8794 8794 +4398 8796 8796 +4399 8798 8798 +4400 8800 8800 +4401 8802 8802 +4402 8804 8804 +4403 8806 8806 +4404 8808 8808 +4405 8810 8810 +4406 8812 8812 +4407 8814 8814 +4408 8816 8816 +4409 8818 8818 +4410 8820 8820 +4411 8822 8822 +4412 8824 8824 +4413 8826 8826 +4414 8828 8828 +4415 8830 8830 +4416 8832 8832 +4417 8834 8834 +4418 8836 8836 +4419 8838 8838 +4420 8840 8840 +4421 8842 8842 +4422 8844 8844 +4423 8846 8846 +4424 8848 8848 +4425 8850 8850 +4426 8852 8852 +4427 8854 8854 +4428 8856 8856 +4429 8858 8858 +4430 8860 8860 +4431 8862 8862 +4432 8864 8864 +4433 8866 8866 +4434 8868 8868 +4435 8870 8870 +4436 8872 8872 +4437 8874 8874 +4438 8876 8876 +4439 8878 8878 +4440 8880 8880 +4441 8882 8882 +4442 8884 8884 +4443 8886 8886 +4444 8888 8888 +4445 8890 8890 +4446 8892 8892 +4447 8894 8894 +4448 8896 8896 +4449 8898 8898 +4450 8900 8900 +4451 8902 8902 +4452 8904 8904 +4453 8906 8906 +4454 8908 8908 +4455 8910 8910 +4456 8912 8912 +4457 8914 8914 +4458 8916 8916 +4459 8918 8918 +4460 8920 8920 +4461 8922 8922 +4462 8924 8924 +4463 8926 8926 +4464 8928 8928 +4465 8930 8930 +4466 8932 8932 +4467 8934 8934 +4468 8936 8936 +4469 8938 8938 +4470 8940 8940 +4471 8942 8942 +4472 8944 8944 +4473 8946 8946 +4474 8948 8948 +4475 8950 8950 +4476 8952 8952 +4477 8954 8954 +4478 8956 8956 +4479 8958 8958 +4480 8960 8960 +4481 8962 8962 +4482 8964 8964 +4483 8966 8966 +4484 8968 8968 +4485 8970 8970 +4486 8972 8972 +4487 8974 8974 +4488 8976 8976 +4489 8978 8978 +4490 8980 8980 +4491 8982 8982 +4492 8984 8984 +4493 8986 8986 +4494 8988 8988 +4495 8990 8990 +4496 8992 8992 +4497 8994 8994 +4498 8996 8996 +4499 8998 8998 +4500 9000 9000 +4501 9002 9002 +4502 9004 9004 +4503 9006 9006 +4504 9008 9008 +4505 9010 9010 +4506 9012 9012 +4507 9014 9014 +4508 9016 9016 +4509 9018 9018 +4510 9020 9020 +4511 9022 9022 +4512 9024 9024 +4513 9026 9026 +4514 9028 9028 +4515 9030 9030 +4516 9032 9032 +4517 9034 9034 +4518 9036 9036 +4519 9038 9038 +4520 9040 9040 +4521 9042 9042 +4522 9044 9044 +4523 9046 9046 +4524 9048 9048 +4525 9050 9050 +4526 9052 9052 +4527 9054 9054 +4528 9056 9056 +4529 9058 9058 +4530 9060 9060 +4531 9062 9062 +4532 9064 9064 +4533 9066 9066 +4534 9068 9068 +4535 9070 9070 +4536 9072 9072 +4537 9074 9074 +4538 9076 9076 +4539 9078 9078 +4540 9080 9080 +4541 9082 9082 +4542 9084 9084 +4543 9086 9086 +4544 9088 9088 +4545 9090 9090 +4546 9092 9092 +4547 9094 9094 +4548 9096 9096 +4549 9098 9098 +4550 9100 9100 +4551 9102 9102 +4552 9104 9104 +4553 9106 9106 +4554 9108 9108 +4555 9110 9110 +4556 9112 9112 +4557 9114 9114 +4558 9116 9116 +4559 9118 9118 +4560 9120 9120 +4561 9122 9122 +4562 9124 9124 +4563 9126 9126 +4564 9128 9128 +4565 9130 9130 +4566 9132 9132 +4567 9134 9134 +4568 9136 9136 +4569 9138 9138 +4570 9140 9140 +4571 9142 9142 +4572 9144 9144 +4573 9146 9146 +4574 9148 9148 +4575 9150 9150 +4576 9152 9152 +4577 9154 9154 +4578 9156 9156 +4579 9158 9158 +4580 9160 9160 +4581 9162 9162 +4582 9164 9164 +4583 9166 9166 +4584 9168 9168 +4585 9170 9170 +4586 9172 9172 +4587 9174 9174 +4588 9176 9176 +4589 9178 9178 +4590 9180 9180 +4591 9182 9182 +4592 9184 9184 +4593 9186 9186 +4594 9188 9188 +4595 9190 9190 +4596 9192 9192 +4597 9194 9194 +4598 9196 9196 +4599 9198 9198 +4600 9200 9200 +4601 9202 9202 +4602 9204 9204 +4603 9206 9206 +4604 9208 9208 +4605 9210 9210 +4606 9212 9212 +4607 9214 9214 +4608 9216 9216 +4609 9218 9218 +4610 9220 9220 +4611 9222 9222 +4612 9224 9224 +4613 9226 9226 +4614 9228 9228 +4615 9230 9230 +4616 9232 9232 +4617 9234 9234 +4618 9236 9236 +4619 9238 9238 +4620 9240 9240 +4621 9242 9242 +4622 9244 9244 +4623 9246 9246 +4624 9248 9248 +4625 9250 9250 +4626 9252 9252 +4627 9254 9254 +4628 9256 9256 +4629 9258 9258 +4630 9260 9260 +4631 9262 9262 +4632 9264 9264 +4633 9266 9266 +4634 9268 9268 +4635 9270 9270 +4636 9272 9272 +4637 9274 9274 +4638 9276 9276 +4639 9278 9278 +4640 9280 9280 +4641 9282 9282 +4642 9284 9284 +4643 9286 9286 +4644 9288 9288 +4645 9290 9290 +4646 9292 9292 +4647 9294 9294 +4648 9296 9296 +4649 9298 9298 +4650 9300 9300 +4651 9302 9302 +4652 9304 9304 +4653 9306 9306 +4654 9308 9308 +4655 9310 9310 +4656 9312 9312 +4657 9314 9314 +4658 9316 9316 +4659 9318 9318 +4660 9320 9320 +4661 9322 9322 +4662 9324 9324 +4663 9326 9326 +4664 9328 9328 +4665 9330 9330 +4666 9332 9332 +4667 9334 9334 +4668 9336 9336 +4669 9338 9338 +4670 9340 9340 +4671 9342 9342 +4672 9344 9344 +4673 9346 9346 +4674 9348 9348 +4675 9350 9350 +4676 9352 9352 +4677 9354 9354 +4678 9356 9356 +4679 9358 9358 +4680 9360 9360 +4681 9362 9362 +4682 9364 9364 +4683 9366 9366 +4684 9368 9368 +4685 9370 9370 +4686 9372 9372 +4687 9374 9374 +4688 9376 9376 +4689 9378 9378 +4690 9380 9380 +4691 9382 9382 +4692 9384 9384 +4693 9386 9386 +4694 9388 9388 +4695 9390 9390 +4696 9392 9392 +4697 9394 9394 +4698 9396 9396 +4699 9398 9398 +4700 9400 9400 +4701 9402 9402 +4702 9404 9404 +4703 9406 9406 +4704 9408 9408 +4705 9410 9410 +4706 9412 9412 +4707 9414 9414 +4708 9416 9416 +4709 9418 9418 +4710 9420 9420 +4711 9422 9422 +4712 9424 9424 +4713 9426 9426 +4714 9428 9428 +4715 9430 9430 +4716 9432 9432 +4717 9434 9434 +4718 9436 9436 +4719 9438 9438 +4720 9440 9440 +4721 9442 9442 +4722 9444 9444 +4723 9446 9446 +4724 9448 9448 +4725 9450 9450 +4726 9452 9452 +4727 9454 9454 +4728 9456 9456 +4729 9458 9458 +4730 9460 9460 +4731 9462 9462 +4732 9464 9464 +4733 9466 9466 +4734 9468 9468 +4735 9470 9470 +4736 9472 9472 +4737 9474 9474 +4738 9476 9476 +4739 9478 9478 +4740 9480 9480 +4741 9482 9482 +4742 9484 9484 +4743 9486 9486 +4744 9488 9488 +4745 9490 9490 +4746 9492 9492 +4747 9494 9494 +4748 9496 9496 +4749 9498 9498 +4750 9500 9500 +4751 9502 9502 +4752 9504 9504 +4753 9506 9506 +4754 9508 9508 +4755 9510 9510 +4756 9512 9512 +4757 9514 9514 +4758 9516 9516 +4759 9518 9518 +4760 9520 9520 +4761 9522 9522 +4762 9524 9524 +4763 9526 9526 +4764 9528 9528 +4765 9530 9530 +4766 9532 9532 +4767 9534 9534 +4768 9536 9536 +4769 9538 9538 +4770 9540 9540 +4771 9542 9542 +4772 9544 9544 +4773 9546 9546 +4774 9548 9548 +4775 9550 9550 +4776 9552 9552 +4777 9554 9554 +4778 9556 9556 +4779 9558 9558 +4780 9560 9560 +4781 9562 9562 +4782 9564 9564 +4783 9566 9566 +4784 9568 9568 +4785 9570 9570 +4786 9572 9572 +4787 9574 9574 +4788 9576 9576 +4789 9578 9578 +4790 9580 9580 +4791 9582 9582 +4792 9584 9584 +4793 9586 9586 +4794 9588 9588 +4795 9590 9590 +4796 9592 9592 +4797 9594 9594 +4798 9596 9596 +4799 9598 9598 +4800 9600 9600 +4801 9602 9602 +4802 9604 9604 +4803 9606 9606 +4804 9608 9608 +4805 9610 9610 +4806 9612 9612 +4807 9614 9614 +4808 9616 9616 +4809 9618 9618 +4810 9620 9620 +4811 9622 9622 +4812 9624 9624 +4813 9626 9626 +4814 9628 9628 +4815 9630 9630 +4816 9632 9632 +4817 9634 9634 +4818 9636 9636 +4819 9638 9638 +4820 9640 9640 +4821 9642 9642 +4822 9644 9644 +4823 9646 9646 +4824 9648 9648 +4825 9650 9650 +4826 9652 9652 +4827 9654 9654 +4828 9656 9656 +4829 9658 9658 +4830 9660 9660 +4831 9662 9662 +4832 9664 9664 +4833 9666 9666 +4834 9668 9668 +4835 9670 9670 +4836 9672 9672 +4837 9674 9674 +4838 9676 9676 +4839 9678 9678 +4840 9680 9680 +4841 9682 9682 +4842 9684 9684 +4843 9686 9686 +4844 9688 9688 +4845 9690 9690 +4846 9692 9692 +4847 9694 9694 +4848 9696 9696 +4849 9698 9698 +4850 9700 9700 +4851 9702 9702 +4852 9704 9704 +4853 9706 9706 +4854 9708 9708 +4855 9710 9710 +4856 9712 9712 +4857 9714 9714 +4858 9716 9716 +4859 9718 9718 +4860 9720 9720 +4861 9722 9722 +4862 9724 9724 +4863 9726 9726 +4864 9728 9728 +4865 9730 9730 +4866 9732 9732 +4867 9734 9734 +4868 9736 9736 +4869 9738 9738 +4870 9740 9740 +4871 9742 9742 +4872 9744 9744 +4873 9746 9746 +4874 9748 9748 +4875 9750 9750 +4876 9752 9752 +4877 9754 9754 +4878 9756 9756 +4879 9758 9758 +4880 9760 9760 +4881 9762 9762 +4882 9764 9764 +4883 9766 9766 +4884 9768 9768 +4885 9770 9770 +4886 9772 9772 +4887 9774 9774 +4888 9776 9776 +4889 9778 9778 +4890 9780 9780 +4891 9782 9782 +4892 9784 9784 +4893 9786 9786 +4894 9788 9788 +4895 9790 9790 +4896 9792 9792 +4897 9794 9794 +4898 9796 9796 +4899 9798 9798 +4900 9800 9800 +4901 9802 9802 +4902 9804 9804 +4903 9806 9806 +4904 9808 9808 +4905 9810 9810 +4906 9812 9812 +4907 9814 9814 +4908 9816 9816 +4909 9818 9818 +4910 9820 9820 +4911 9822 9822 +4912 9824 9824 +4913 9826 9826 +4914 9828 9828 +4915 9830 9830 +4916 9832 9832 +4917 9834 9834 +4918 9836 9836 +4919 9838 9838 +4920 9840 9840 +4921 9842 9842 +4922 9844 9844 +4923 9846 9846 +4924 9848 9848 +4925 9850 9850 +4926 9852 9852 +4927 9854 9854 +4928 9856 9856 +4929 9858 9858 +4930 9860 9860 +4931 9862 9862 +4932 9864 9864 +4933 9866 9866 +4934 9868 9868 +4935 9870 9870 +4936 9872 9872 +4937 9874 9874 +4938 9876 9876 +4939 9878 9878 +4940 9880 9880 +4941 9882 9882 +4942 9884 9884 +4943 9886 9886 +4944 9888 9888 +4945 9890 9890 +4946 9892 9892 +4947 9894 9894 +4948 9896 9896 +4949 9898 9898 +4950 9900 9900 +4951 9902 9902 +4952 9904 9904 +4953 9906 9906 +4954 9908 9908 +4955 9910 9910 +4956 9912 9912 +4957 9914 9914 +4958 9916 9916 +4959 9918 9918 +4960 9920 9920 +4961 9922 9922 +4962 9924 9924 +4963 9926 9926 +4964 9928 9928 +4965 9930 9930 +4966 9932 9932 +4967 9934 9934 +4968 9936 9936 +4969 9938 9938 +4970 9940 9940 +4971 9942 9942 +4972 9944 9944 +4973 9946 9946 +4974 9948 9948 +4975 9950 9950 +4976 9952 9952 +4977 9954 9954 +4978 9956 9956 +4979 9958 9958 +4980 9960 9960 +4981 9962 9962 +4982 9964 9964 +4983 9966 9966 +4984 9968 9968 +4985 9970 9970 +4986 9972 9972 +4987 9974 9974 +4988 9976 9976 +4989 9978 9978 +4990 9980 9980 +4991 9982 9982 +4992 9984 9984 +4993 9986 9986 +4994 9988 9988 +4995 9990 9990 +4996 9992 9992 +4997 9994 9994 +4998 9996 9996 +4999 9998 9998 +5000 10000 10000 +5001 10002 10002 +5002 10004 10004 +5003 10006 10006 +5004 10008 10008 +5005 10010 10010 +5006 10012 10012 +5007 10014 10014 +5008 10016 10016 +5009 10018 10018 +5010 10020 10020 +5011 10022 10022 +5012 10024 10024 +5013 10026 10026 +5014 10028 10028 +5015 10030 10030 +5016 10032 10032 +5017 10034 10034 +5018 10036 10036 +5019 10038 10038 +5020 10040 10040 +5021 10042 10042 +5022 10044 10044 +5023 10046 10046 +5024 10048 10048 +5025 10050 10050 +5026 10052 10052 +5027 10054 10054 +5028 10056 10056 +5029 10058 10058 +5030 10060 10060 +5031 10062 10062 +5032 10064 10064 +5033 10066 10066 +5034 10068 10068 +5035 10070 10070 +5036 10072 10072 +5037 10074 10074 +5038 10076 10076 +5039 10078 10078 +5040 10080 10080 +5041 10082 10082 +5042 10084 10084 +5043 10086 10086 +5044 10088 10088 +5045 10090 10090 +5046 10092 10092 +5047 10094 10094 +5048 10096 10096 +5049 10098 10098 +5050 10100 10100 +5051 10102 10102 +5052 10104 10104 +5053 10106 10106 +5054 10108 10108 +5055 10110 10110 +5056 10112 10112 +5057 10114 10114 +5058 10116 10116 +5059 10118 10118 +5060 10120 10120 +5061 10122 10122 +5062 10124 10124 +5063 10126 10126 +5064 10128 10128 +5065 10130 10130 +5066 10132 10132 +5067 10134 10134 +5068 10136 10136 +5069 10138 10138 +5070 10140 10140 +5071 10142 10142 +5072 10144 10144 +5073 10146 10146 +5074 10148 10148 +5075 10150 10150 +5076 10152 10152 +5077 10154 10154 +5078 10156 10156 +5079 10158 10158 +5080 10160 10160 +5081 10162 10162 +5082 10164 10164 +5083 10166 10166 +5084 10168 10168 +5085 10170 10170 +5086 10172 10172 +5087 10174 10174 +5088 10176 10176 +5089 10178 10178 +5090 10180 10180 +5091 10182 10182 +5092 10184 10184 +5093 10186 10186 +5094 10188 10188 +5095 10190 10190 +5096 10192 10192 +5097 10194 10194 +5098 10196 10196 +5099 10198 10198 +5100 10200 10200 +5101 10202 10202 +5102 10204 10204 +5103 10206 10206 +5104 10208 10208 +5105 10210 10210 +5106 10212 10212 +5107 10214 10214 +5108 10216 10216 +5109 10218 10218 +5110 10220 10220 +5111 10222 10222 +5112 10224 10224 +5113 10226 10226 +5114 10228 10228 +5115 10230 10230 +5116 10232 10232 +5117 10234 10234 +5118 10236 10236 +5119 10238 10238 +5120 10240 10240 +5121 10242 10242 +5122 10244 10244 +5123 10246 10246 +5124 10248 10248 +5125 10250 10250 +5126 10252 10252 +5127 10254 10254 +5128 10256 10256 +5129 10258 10258 +5130 10260 10260 +5131 10262 10262 +5132 10264 10264 +5133 10266 10266 +5134 10268 10268 +5135 10270 10270 +5136 10272 10272 +5137 10274 10274 +5138 10276 10276 +5139 10278 10278 +5140 10280 10280 +5141 10282 10282 +5142 10284 10284 +5143 10286 10286 +5144 10288 10288 +5145 10290 10290 +5146 10292 10292 +5147 10294 10294 +5148 10296 10296 +5149 10298 10298 +5150 10300 10300 +5151 10302 10302 +5152 10304 10304 +5153 10306 10306 +5154 10308 10308 +5155 10310 10310 +5156 10312 10312 +5157 10314 10314 +5158 10316 10316 +5159 10318 10318 +5160 10320 10320 +5161 10322 10322 +5162 10324 10324 +5163 10326 10326 +5164 10328 10328 +5165 10330 10330 +5166 10332 10332 +5167 10334 10334 +5168 10336 10336 +5169 10338 10338 +5170 10340 10340 +5171 10342 10342 +5172 10344 10344 +5173 10346 10346 +5174 10348 10348 +5175 10350 10350 +5176 10352 10352 +5177 10354 10354 +5178 10356 10356 +5179 10358 10358 +5180 10360 10360 +5181 10362 10362 +5182 10364 10364 +5183 10366 10366 +5184 10368 10368 +5185 10370 10370 +5186 10372 10372 +5187 10374 10374 +5188 10376 10376 +5189 10378 10378 +5190 10380 10380 +5191 10382 10382 +5192 10384 10384 +5193 10386 10386 +5194 10388 10388 +5195 10390 10390 +5196 10392 10392 +5197 10394 10394 +5198 10396 10396 +5199 10398 10398 +5200 10400 10400 +5201 10402 10402 +5202 10404 10404 +5203 10406 10406 +5204 10408 10408 +5205 10410 10410 +5206 10412 10412 +5207 10414 10414 +5208 10416 10416 +5209 10418 10418 +5210 10420 10420 +5211 10422 10422 +5212 10424 10424 +5213 10426 10426 +5214 10428 10428 +5215 10430 10430 +5216 10432 10432 +5217 10434 10434 +5218 10436 10436 +5219 10438 10438 +5220 10440 10440 +5221 10442 10442 +5222 10444 10444 +5223 10446 10446 +5224 10448 10448 +5225 10450 10450 +5226 10452 10452 +5227 10454 10454 +5228 10456 10456 +5229 10458 10458 +5230 10460 10460 +5231 10462 10462 +5232 10464 10464 +5233 10466 10466 +5234 10468 10468 +5235 10470 10470 +5236 10472 10472 +5237 10474 10474 +5238 10476 10476 +5239 10478 10478 +5240 10480 10480 +5241 10482 10482 +5242 10484 10484 +5243 10486 10486 +5244 10488 10488 +5245 10490 10490 +5246 10492 10492 +5247 10494 10494 +5248 10496 10496 +5249 10498 10498 +5250 10500 10500 +5251 10502 10502 +5252 10504 10504 +5253 10506 10506 +5254 10508 10508 +5255 10510 10510 +5256 10512 10512 +5257 10514 10514 +5258 10516 10516 +5259 10518 10518 +5260 10520 10520 +5261 10522 10522 +5262 10524 10524 +5263 10526 10526 +5264 10528 10528 +5265 10530 10530 +5266 10532 10532 +5267 10534 10534 +5268 10536 10536 +5269 10538 10538 +5270 10540 10540 +5271 10542 10542 +5272 10544 10544 +5273 10546 10546 +5274 10548 10548 +5275 10550 10550 +5276 10552 10552 +5277 10554 10554 +5278 10556 10556 +5279 10558 10558 +5280 10560 10560 +5281 10562 10562 +5282 10564 10564 +5283 10566 10566 +5284 10568 10568 +5285 10570 10570 +5286 10572 10572 +5287 10574 10574 +5288 10576 10576 +5289 10578 10578 +5290 10580 10580 +5291 10582 10582 +5292 10584 10584 +5293 10586 10586 +5294 10588 10588 +5295 10590 10590 +5296 10592 10592 +5297 10594 10594 +5298 10596 10596 +5299 10598 10598 +5300 10600 10600 +5301 10602 10602 +5302 10604 10604 +5303 10606 10606 +5304 10608 10608 +5305 10610 10610 +5306 10612 10612 +5307 10614 10614 +5308 10616 10616 +5309 10618 10618 +5310 10620 10620 +5311 10622 10622 +5312 10624 10624 +5313 10626 10626 +5314 10628 10628 +5315 10630 10630 +5316 10632 10632 +5317 10634 10634 +5318 10636 10636 +5319 10638 10638 +5320 10640 10640 +5321 10642 10642 +5322 10644 10644 +5323 10646 10646 +5324 10648 10648 +5325 10650 10650 +5326 10652 10652 +5327 10654 10654 +5328 10656 10656 +5329 10658 10658 +5330 10660 10660 +5331 10662 10662 +5332 10664 10664 +5333 10666 10666 +5334 10668 10668 +5335 10670 10670 +5336 10672 10672 +5337 10674 10674 +5338 10676 10676 +5339 10678 10678 +5340 10680 10680 +5341 10682 10682 +5342 10684 10684 +5343 10686 10686 +5344 10688 10688 +5345 10690 10690 +5346 10692 10692 +5347 10694 10694 +5348 10696 10696 +5349 10698 10698 +5350 10700 10700 +5351 10702 10702 +5352 10704 10704 +5353 10706 10706 +5354 10708 10708 +5355 10710 10710 +5356 10712 10712 +5357 10714 10714 +5358 10716 10716 +5359 10718 10718 +5360 10720 10720 +5361 10722 10722 +5362 10724 10724 +5363 10726 10726 +5364 10728 10728 +5365 10730 10730 +5366 10732 10732 +5367 10734 10734 +5368 10736 10736 +5369 10738 10738 +5370 10740 10740 +5371 10742 10742 +5372 10744 10744 +5373 10746 10746 +5374 10748 10748 +5375 10750 10750 +5376 10752 10752 +5377 10754 10754 +5378 10756 10756 +5379 10758 10758 +5380 10760 10760 +5381 10762 10762 +5382 10764 10764 +5383 10766 10766 +5384 10768 10768 +5385 10770 10770 +5386 10772 10772 +5387 10774 10774 +5388 10776 10776 +5389 10778 10778 +5390 10780 10780 +5391 10782 10782 +5392 10784 10784 +5393 10786 10786 +5394 10788 10788 +5395 10790 10790 +5396 10792 10792 +5397 10794 10794 +5398 10796 10796 +5399 10798 10798 +5400 10800 10800 +5401 10802 10802 +5402 10804 10804 +5403 10806 10806 +5404 10808 10808 +5405 10810 10810 +5406 10812 10812 +5407 10814 10814 +5408 10816 10816 +5409 10818 10818 +5410 10820 10820 +5411 10822 10822 +5412 10824 10824 +5413 10826 10826 +5414 10828 10828 +5415 10830 10830 +5416 10832 10832 +5417 10834 10834 +5418 10836 10836 +5419 10838 10838 +5420 10840 10840 +5421 10842 10842 +5422 10844 10844 +5423 10846 10846 +5424 10848 10848 +5425 10850 10850 +5426 10852 10852 +5427 10854 10854 +5428 10856 10856 +5429 10858 10858 +5430 10860 10860 +5431 10862 10862 +5432 10864 10864 +5433 10866 10866 +5434 10868 10868 +5435 10870 10870 +5436 10872 10872 +5437 10874 10874 +5438 10876 10876 +5439 10878 10878 +5440 10880 10880 +5441 10882 10882 +5442 10884 10884 +5443 10886 10886 +5444 10888 10888 +5445 10890 10890 +5446 10892 10892 +5447 10894 10894 +5448 10896 10896 +5449 10898 10898 +5450 10900 10900 +5451 10902 10902 +5452 10904 10904 +5453 10906 10906 +5454 10908 10908 +5455 10910 10910 +5456 10912 10912 +5457 10914 10914 +5458 10916 10916 +5459 10918 10918 +5460 10920 10920 +5461 10922 10922 +5462 10924 10924 +5463 10926 10926 +5464 10928 10928 +5465 10930 10930 +5466 10932 10932 +5467 10934 10934 +5468 10936 10936 +5469 10938 10938 +5470 10940 10940 +5471 10942 10942 +5472 10944 10944 +5473 10946 10946 +5474 10948 10948 +5475 10950 10950 +5476 10952 10952 +5477 10954 10954 +5478 10956 10956 +5479 10958 10958 +5480 10960 10960 +5481 10962 10962 +5482 10964 10964 +5483 10966 10966 +5484 10968 10968 +5485 10970 10970 +5486 10972 10972 +5487 10974 10974 +5488 10976 10976 +5489 10978 10978 +5490 10980 10980 +5491 10982 10982 +5492 10984 10984 +5493 10986 10986 +5494 10988 10988 +5495 10990 10990 +5496 10992 10992 +5497 10994 10994 +5498 10996 10996 +5499 10998 10998 +5500 11000 11000 +5501 11002 11002 +5502 11004 11004 +5503 11006 11006 +5504 11008 11008 +5505 11010 11010 +5506 11012 11012 +5507 11014 11014 +5508 11016 11016 +5509 11018 11018 +5510 11020 11020 +5511 11022 11022 +5512 11024 11024 +5513 11026 11026 +5514 11028 11028 +5515 11030 11030 +5516 11032 11032 +5517 11034 11034 +5518 11036 11036 +5519 11038 11038 +5520 11040 11040 +5521 11042 11042 +5522 11044 11044 +5523 11046 11046 +5524 11048 11048 +5525 11050 11050 +5526 11052 11052 +5527 11054 11054 +5528 11056 11056 +5529 11058 11058 +5530 11060 11060 +5531 11062 11062 +5532 11064 11064 +5533 11066 11066 +5534 11068 11068 +5535 11070 11070 +5536 11072 11072 +5537 11074 11074 +5538 11076 11076 +5539 11078 11078 +5540 11080 11080 +5541 11082 11082 +5542 11084 11084 +5543 11086 11086 +5544 11088 11088 +5545 11090 11090 +5546 11092 11092 +5547 11094 11094 +5548 11096 11096 +5549 11098 11098 +5550 11100 11100 +5551 11102 11102 +5552 11104 11104 +5553 11106 11106 +5554 11108 11108 +5555 11110 11110 +5556 11112 11112 +5557 11114 11114 +5558 11116 11116 +5559 11118 11118 +5560 11120 11120 +5561 11122 11122 +5562 11124 11124 +5563 11126 11126 +5564 11128 11128 +5565 11130 11130 +5566 11132 11132 +5567 11134 11134 +5568 11136 11136 +5569 11138 11138 +5570 11140 11140 +5571 11142 11142 +5572 11144 11144 +5573 11146 11146 +5574 11148 11148 +5575 11150 11150 +5576 11152 11152 +5577 11154 11154 +5578 11156 11156 +5579 11158 11158 +5580 11160 11160 +5581 11162 11162 +5582 11164 11164 +5583 11166 11166 +5584 11168 11168 +5585 11170 11170 +5586 11172 11172 +5587 11174 11174 +5588 11176 11176 +5589 11178 11178 +5590 11180 11180 +5591 11182 11182 +5592 11184 11184 +5593 11186 11186 +5594 11188 11188 +5595 11190 11190 +5596 11192 11192 +5597 11194 11194 +5598 11196 11196 +5599 11198 11198 +5600 11200 11200 +5601 11202 11202 +5602 11204 11204 +5603 11206 11206 +5604 11208 11208 +5605 11210 11210 +5606 11212 11212 +5607 11214 11214 +5608 11216 11216 +5609 11218 11218 +5610 11220 11220 +5611 11222 11222 +5612 11224 11224 +5613 11226 11226 +5614 11228 11228 +5615 11230 11230 +5616 11232 11232 +5617 11234 11234 +5618 11236 11236 +5619 11238 11238 +5620 11240 11240 +5621 11242 11242 +5622 11244 11244 +5623 11246 11246 +5624 11248 11248 +5625 11250 11250 +5626 11252 11252 +5627 11254 11254 +5628 11256 11256 +5629 11258 11258 +5630 11260 11260 +5631 11262 11262 +5632 11264 11264 +5633 11266 11266 +5634 11268 11268 +5635 11270 11270 +5636 11272 11272 +5637 11274 11274 +5638 11276 11276 +5639 11278 11278 +5640 11280 11280 +5641 11282 11282 +5642 11284 11284 +5643 11286 11286 +5644 11288 11288 +5645 11290 11290 +5646 11292 11292 +5647 11294 11294 +5648 11296 11296 +5649 11298 11298 +5650 11300 11300 +5651 11302 11302 +5652 11304 11304 +5653 11306 11306 +5654 11308 11308 +5655 11310 11310 +5656 11312 11312 +5657 11314 11314 +5658 11316 11316 +5659 11318 11318 +5660 11320 11320 +5661 11322 11322 +5662 11324 11324 +5663 11326 11326 +5664 11328 11328 +5665 11330 11330 +5666 11332 11332 +5667 11334 11334 +5668 11336 11336 +5669 11338 11338 +5670 11340 11340 +5671 11342 11342 +5672 11344 11344 +5673 11346 11346 +5674 11348 11348 +5675 11350 11350 +5676 11352 11352 +5677 11354 11354 +5678 11356 11356 +5679 11358 11358 +5680 11360 11360 +5681 11362 11362 +5682 11364 11364 +5683 11366 11366 +5684 11368 11368 +5685 11370 11370 +5686 11372 11372 +5687 11374 11374 +5688 11376 11376 +5689 11378 11378 +5690 11380 11380 +5691 11382 11382 +5692 11384 11384 +5693 11386 11386 +5694 11388 11388 +5695 11390 11390 +5696 11392 11392 +5697 11394 11394 +5698 11396 11396 +5699 11398 11398 +5700 11400 11400 +5701 11402 11402 +5702 11404 11404 +5703 11406 11406 +5704 11408 11408 +5705 11410 11410 +5706 11412 11412 +5707 11414 11414 +5708 11416 11416 +5709 11418 11418 +5710 11420 11420 +5711 11422 11422 +5712 11424 11424 +5713 11426 11426 +5714 11428 11428 +5715 11430 11430 +5716 11432 11432 +5717 11434 11434 +5718 11436 11436 +5719 11438 11438 +5720 11440 11440 +5721 11442 11442 +5722 11444 11444 +5723 11446 11446 +5724 11448 11448 +5725 11450 11450 +5726 11452 11452 +5727 11454 11454 +5728 11456 11456 +5729 11458 11458 +5730 11460 11460 +5731 11462 11462 +5732 11464 11464 +5733 11466 11466 +5734 11468 11468 +5735 11470 11470 +5736 11472 11472 +5737 11474 11474 +5738 11476 11476 +5739 11478 11478 +5740 11480 11480 +5741 11482 11482 +5742 11484 11484 +5743 11486 11486 +5744 11488 11488 +5745 11490 11490 +5746 11492 11492 +5747 11494 11494 +5748 11496 11496 +5749 11498 11498 +5750 11500 11500 +5751 11502 11502 +5752 11504 11504 +5753 11506 11506 +5754 11508 11508 +5755 11510 11510 +5756 11512 11512 +5757 11514 11514 +5758 11516 11516 +5759 11518 11518 +5760 11520 11520 +5761 11522 11522 +5762 11524 11524 +5763 11526 11526 +5764 11528 11528 +5765 11530 11530 +5766 11532 11532 +5767 11534 11534 +5768 11536 11536 +5769 11538 11538 +5770 11540 11540 +5771 11542 11542 +5772 11544 11544 +5773 11546 11546 +5774 11548 11548 +5775 11550 11550 +5776 11552 11552 +5777 11554 11554 +5778 11556 11556 +5779 11558 11558 +5780 11560 11560 +5781 11562 11562 +5782 11564 11564 +5783 11566 11566 +5784 11568 11568 +5785 11570 11570 +5786 11572 11572 +5787 11574 11574 +5788 11576 11576 +5789 11578 11578 +5790 11580 11580 +5791 11582 11582 +5792 11584 11584 +5793 11586 11586 +5794 11588 11588 +5795 11590 11590 +5796 11592 11592 +5797 11594 11594 +5798 11596 11596 +5799 11598 11598 +5800 11600 11600 +5801 11602 11602 +5802 11604 11604 +5803 11606 11606 +5804 11608 11608 +5805 11610 11610 +5806 11612 11612 +5807 11614 11614 +5808 11616 11616 +5809 11618 11618 +5810 11620 11620 +5811 11622 11622 +5812 11624 11624 +5813 11626 11626 +5814 11628 11628 +5815 11630 11630 +5816 11632 11632 +5817 11634 11634 +5818 11636 11636 +5819 11638 11638 +5820 11640 11640 +5821 11642 11642 +5822 11644 11644 +5823 11646 11646 +5824 11648 11648 +5825 11650 11650 +5826 11652 11652 +5827 11654 11654 +5828 11656 11656 +5829 11658 11658 +5830 11660 11660 +5831 11662 11662 +5832 11664 11664 +5833 11666 11666 +5834 11668 11668 +5835 11670 11670 +5836 11672 11672 +5837 11674 11674 +5838 11676 11676 +5839 11678 11678 +5840 11680 11680 +5841 11682 11682 +5842 11684 11684 +5843 11686 11686 +5844 11688 11688 +5845 11690 11690 +5846 11692 11692 +5847 11694 11694 +5848 11696 11696 +5849 11698 11698 +5850 11700 11700 +5851 11702 11702 +5852 11704 11704 +5853 11706 11706 +5854 11708 11708 +5855 11710 11710 +5856 11712 11712 +5857 11714 11714 +5858 11716 11716 +5859 11718 11718 +5860 11720 11720 +5861 11722 11722 +5862 11724 11724 +5863 11726 11726 +5864 11728 11728 +5865 11730 11730 +5866 11732 11732 +5867 11734 11734 +5868 11736 11736 +5869 11738 11738 +5870 11740 11740 +5871 11742 11742 +5872 11744 11744 +5873 11746 11746 +5874 11748 11748 +5875 11750 11750 +5876 11752 11752 +5877 11754 11754 +5878 11756 11756 +5879 11758 11758 +5880 11760 11760 +5881 11762 11762 +5882 11764 11764 +5883 11766 11766 +5884 11768 11768 +5885 11770 11770 +5886 11772 11772 +5887 11774 11774 +5888 11776 11776 +5889 11778 11778 +5890 11780 11780 +5891 11782 11782 +5892 11784 11784 +5893 11786 11786 +5894 11788 11788 +5895 11790 11790 +5896 11792 11792 +5897 11794 11794 +5898 11796 11796 +5899 11798 11798 +5900 11800 11800 +5901 11802 11802 +5902 11804 11804 +5903 11806 11806 +5904 11808 11808 +5905 11810 11810 +5906 11812 11812 +5907 11814 11814 +5908 11816 11816 +5909 11818 11818 +5910 11820 11820 +5911 11822 11822 +5912 11824 11824 +5913 11826 11826 +5914 11828 11828 +5915 11830 11830 +5916 11832 11832 +5917 11834 11834 +5918 11836 11836 +5919 11838 11838 +5920 11840 11840 +5921 11842 11842 +5922 11844 11844 +5923 11846 11846 +5924 11848 11848 +5925 11850 11850 +5926 11852 11852 +5927 11854 11854 +5928 11856 11856 +5929 11858 11858 +5930 11860 11860 +5931 11862 11862 +5932 11864 11864 +5933 11866 11866 +5934 11868 11868 +5935 11870 11870 +5936 11872 11872 +5937 11874 11874 +5938 11876 11876 +5939 11878 11878 +5940 11880 11880 +5941 11882 11882 +5942 11884 11884 +5943 11886 11886 +5944 11888 11888 +5945 11890 11890 +5946 11892 11892 +5947 11894 11894 +5948 11896 11896 +5949 11898 11898 +5950 11900 11900 +5951 11902 11902 +5952 11904 11904 +5953 11906 11906 +5954 11908 11908 +5955 11910 11910 +5956 11912 11912 +5957 11914 11914 +5958 11916 11916 +5959 11918 11918 +5960 11920 11920 +5961 11922 11922 +5962 11924 11924 +5963 11926 11926 +5964 11928 11928 +5965 11930 11930 +5966 11932 11932 +5967 11934 11934 +5968 11936 11936 +5969 11938 11938 +5970 11940 11940 +5971 11942 11942 +5972 11944 11944 +5973 11946 11946 +5974 11948 11948 +5975 11950 11950 +5976 11952 11952 +5977 11954 11954 +5978 11956 11956 +5979 11958 11958 +5980 11960 11960 +5981 11962 11962 +5982 11964 11964 +5983 11966 11966 +5984 11968 11968 +5985 11970 11970 +5986 11972 11972 +5987 11974 11974 +5988 11976 11976 +5989 11978 11978 +5990 11980 11980 +5991 11982 11982 +5992 11984 11984 +5993 11986 11986 +5994 11988 11988 +5995 11990 11990 +5996 11992 11992 +5997 11994 11994 +5998 11996 11996 +5999 11998 11998 +6000 12000 12000 +6001 12002 12002 +6002 12004 12004 +6003 12006 12006 +6004 12008 12008 +6005 12010 12010 +6006 12012 12012 +6007 12014 12014 +6008 12016 12016 +6009 12018 12018 +6010 12020 12020 +6011 12022 12022 +6012 12024 12024 +6013 12026 12026 +6014 12028 12028 +6015 12030 12030 +6016 12032 12032 +6017 12034 12034 +6018 12036 12036 +6019 12038 12038 +6020 12040 12040 +6021 12042 12042 +6022 12044 12044 +6023 12046 12046 +6024 12048 12048 +6025 12050 12050 +6026 12052 12052 +6027 12054 12054 +6028 12056 12056 +6029 12058 12058 +6030 12060 12060 +6031 12062 12062 +6032 12064 12064 +6033 12066 12066 +6034 12068 12068 +6035 12070 12070 +6036 12072 12072 +6037 12074 12074 +6038 12076 12076 +6039 12078 12078 +6040 12080 12080 +6041 12082 12082 +6042 12084 12084 +6043 12086 12086 +6044 12088 12088 +6045 12090 12090 +6046 12092 12092 +6047 12094 12094 +6048 12096 12096 +6049 12098 12098 +6050 12100 12100 +6051 12102 12102 +6052 12104 12104 +6053 12106 12106 +6054 12108 12108 +6055 12110 12110 +6056 12112 12112 +6057 12114 12114 +6058 12116 12116 +6059 12118 12118 +6060 12120 12120 +6061 12122 12122 +6062 12124 12124 +6063 12126 12126 +6064 12128 12128 +6065 12130 12130 +6066 12132 12132 +6067 12134 12134 +6068 12136 12136 +6069 12138 12138 +6070 12140 12140 +6071 12142 12142 +6072 12144 12144 +6073 12146 12146 +6074 12148 12148 +6075 12150 12150 +6076 12152 12152 +6077 12154 12154 +6078 12156 12156 +6079 12158 12158 +6080 12160 12160 +6081 12162 12162 +6082 12164 12164 +6083 12166 12166 +6084 12168 12168 +6085 12170 12170 +6086 12172 12172 +6087 12174 12174 +6088 12176 12176 +6089 12178 12178 +6090 12180 12180 +6091 12182 12182 +6092 12184 12184 +6093 12186 12186 +6094 12188 12188 +6095 12190 12190 +6096 12192 12192 +6097 12194 12194 +6098 12196 12196 +6099 12198 12198 +6100 12200 12200 +6101 12202 12202 +6102 12204 12204 +6103 12206 12206 +6104 12208 12208 +6105 12210 12210 +6106 12212 12212 +6107 12214 12214 +6108 12216 12216 +6109 12218 12218 +6110 12220 12220 +6111 12222 12222 +6112 12224 12224 +6113 12226 12226 +6114 12228 12228 +6115 12230 12230 +6116 12232 12232 +6117 12234 12234 +6118 12236 12236 +6119 12238 12238 +6120 12240 12240 +6121 12242 12242 +6122 12244 12244 +6123 12246 12246 +6124 12248 12248 +6125 12250 12250 +6126 12252 12252 +6127 12254 12254 +6128 12256 12256 +6129 12258 12258 +6130 12260 12260 +6131 12262 12262 +6132 12264 12264 +6133 12266 12266 +6134 12268 12268 +6135 12270 12270 +6136 12272 12272 +6137 12274 12274 +6138 12276 12276 +6139 12278 12278 +6140 12280 12280 +6141 12282 12282 +6142 12284 12284 +6143 12286 12286 +6144 12288 12288 +6145 12290 12290 +6146 12292 12292 +6147 12294 12294 +6148 12296 12296 +6149 12298 12298 +6150 12300 12300 +6151 12302 12302 +6152 12304 12304 +6153 12306 12306 +6154 12308 12308 +6155 12310 12310 +6156 12312 12312 +6157 12314 12314 +6158 12316 12316 +6159 12318 12318 +6160 12320 12320 +6161 12322 12322 +6162 12324 12324 +6163 12326 12326 +6164 12328 12328 +6165 12330 12330 +6166 12332 12332 +6167 12334 12334 +6168 12336 12336 +6169 12338 12338 +6170 12340 12340 +6171 12342 12342 +6172 12344 12344 +6173 12346 12346 +6174 12348 12348 +6175 12350 12350 +6176 12352 12352 +6177 12354 12354 +6178 12356 12356 +6179 12358 12358 +6180 12360 12360 +6181 12362 12362 +6182 12364 12364 +6183 12366 12366 +6184 12368 12368 +6185 12370 12370 +6186 12372 12372 +6187 12374 12374 +6188 12376 12376 +6189 12378 12378 +6190 12380 12380 +6191 12382 12382 +6192 12384 12384 +6193 12386 12386 +6194 12388 12388 +6195 12390 12390 +6196 12392 12392 +6197 12394 12394 +6198 12396 12396 +6199 12398 12398 +6200 12400 12400 +6201 12402 12402 +6202 12404 12404 +6203 12406 12406 +6204 12408 12408 +6205 12410 12410 +6206 12412 12412 +6207 12414 12414 +6208 12416 12416 +6209 12418 12418 +6210 12420 12420 +6211 12422 12422 +6212 12424 12424 +6213 12426 12426 +6214 12428 12428 +6215 12430 12430 +6216 12432 12432 +6217 12434 12434 +6218 12436 12436 +6219 12438 12438 +6220 12440 12440 +6221 12442 12442 +6222 12444 12444 +6223 12446 12446 +6224 12448 12448 +6225 12450 12450 +6226 12452 12452 +6227 12454 12454 +6228 12456 12456 +6229 12458 12458 +6230 12460 12460 +6231 12462 12462 +6232 12464 12464 +6233 12466 12466 +6234 12468 12468 +6235 12470 12470 +6236 12472 12472 +6237 12474 12474 +6238 12476 12476 +6239 12478 12478 +6240 12480 12480 +6241 12482 12482 +6242 12484 12484 +6243 12486 12486 +6244 12488 12488 +6245 12490 12490 +6246 12492 12492 +6247 12494 12494 +6248 12496 12496 +6249 12498 12498 +6250 12500 12500 +6251 12502 12502 +6252 12504 12504 +6253 12506 12506 +6254 12508 12508 +6255 12510 12510 +6256 12512 12512 +6257 12514 12514 +6258 12516 12516 +6259 12518 12518 +6260 12520 12520 +6261 12522 12522 +6262 12524 12524 +6263 12526 12526 +6264 12528 12528 +6265 12530 12530 +6266 12532 12532 +6267 12534 12534 +6268 12536 12536 +6269 12538 12538 +6270 12540 12540 +6271 12542 12542 +6272 12544 12544 +6273 12546 12546 +6274 12548 12548 +6275 12550 12550 +6276 12552 12552 +6277 12554 12554 +6278 12556 12556 +6279 12558 12558 +6280 12560 12560 +6281 12562 12562 +6282 12564 12564 +6283 12566 12566 +6284 12568 12568 +6285 12570 12570 +6286 12572 12572 +6287 12574 12574 +6288 12576 12576 +6289 12578 12578 +6290 12580 12580 +6291 12582 12582 +6292 12584 12584 +6293 12586 12586 +6294 12588 12588 +6295 12590 12590 +6296 12592 12592 +6297 12594 12594 +6298 12596 12596 +6299 12598 12598 +6300 12600 12600 +6301 12602 12602 +6302 12604 12604 +6303 12606 12606 +6304 12608 12608 +6305 12610 12610 +6306 12612 12612 +6307 12614 12614 +6308 12616 12616 +6309 12618 12618 +6310 12620 12620 +6311 12622 12622 +6312 12624 12624 +6313 12626 12626 +6314 12628 12628 +6315 12630 12630 +6316 12632 12632 +6317 12634 12634 +6318 12636 12636 +6319 12638 12638 +6320 12640 12640 +6321 12642 12642 +6322 12644 12644 +6323 12646 12646 +6324 12648 12648 +6325 12650 12650 +6326 12652 12652 +6327 12654 12654 +6328 12656 12656 +6329 12658 12658 +6330 12660 12660 +6331 12662 12662 +6332 12664 12664 +6333 12666 12666 +6334 12668 12668 +6335 12670 12670 +6336 12672 12672 +6337 12674 12674 +6338 12676 12676 +6339 12678 12678 +6340 12680 12680 +6341 12682 12682 +6342 12684 12684 +6343 12686 12686 +6344 12688 12688 +6345 12690 12690 +6346 12692 12692 +6347 12694 12694 +6348 12696 12696 +6349 12698 12698 +6350 12700 12700 +6351 12702 12702 +6352 12704 12704 +6353 12706 12706 +6354 12708 12708 +6355 12710 12710 +6356 12712 12712 +6357 12714 12714 +6358 12716 12716 +6359 12718 12718 +6360 12720 12720 +6361 12722 12722 +6362 12724 12724 +6363 12726 12726 +6364 12728 12728 +6365 12730 12730 +6366 12732 12732 +6367 12734 12734 +6368 12736 12736 +6369 12738 12738 +6370 12740 12740 +6371 12742 12742 +6372 12744 12744 +6373 12746 12746 +6374 12748 12748 +6375 12750 12750 +6376 12752 12752 +6377 12754 12754 +6378 12756 12756 +6379 12758 12758 +6380 12760 12760 +6381 12762 12762 +6382 12764 12764 +6383 12766 12766 +6384 12768 12768 +6385 12770 12770 +6386 12772 12772 +6387 12774 12774 +6388 12776 12776 +6389 12778 12778 +6390 12780 12780 +6391 12782 12782 +6392 12784 12784 +6393 12786 12786 +6394 12788 12788 +6395 12790 12790 +6396 12792 12792 +6397 12794 12794 +6398 12796 12796 +6399 12798 12798 +6400 12800 12800 +6401 12802 12802 +6402 12804 12804 +6403 12806 12806 +6404 12808 12808 +6405 12810 12810 +6406 12812 12812 +6407 12814 12814 +6408 12816 12816 +6409 12818 12818 +6410 12820 12820 +6411 12822 12822 +6412 12824 12824 +6413 12826 12826 +6414 12828 12828 +6415 12830 12830 +6416 12832 12832 +6417 12834 12834 +6418 12836 12836 +6419 12838 12838 +6420 12840 12840 +6421 12842 12842 +6422 12844 12844 +6423 12846 12846 +6424 12848 12848 +6425 12850 12850 +6426 12852 12852 +6427 12854 12854 +6428 12856 12856 +6429 12858 12858 +6430 12860 12860 +6431 12862 12862 +6432 12864 12864 +6433 12866 12866 +6434 12868 12868 +6435 12870 12870 +6436 12872 12872 +6437 12874 12874 +6438 12876 12876 +6439 12878 12878 +6440 12880 12880 +6441 12882 12882 +6442 12884 12884 +6443 12886 12886 +6444 12888 12888 +6445 12890 12890 +6446 12892 12892 +6447 12894 12894 +6448 12896 12896 +6449 12898 12898 +6450 12900 12900 +6451 12902 12902 +6452 12904 12904 +6453 12906 12906 +6454 12908 12908 +6455 12910 12910 +6456 12912 12912 +6457 12914 12914 +6458 12916 12916 +6459 12918 12918 +6460 12920 12920 +6461 12922 12922 +6462 12924 12924 +6463 12926 12926 +6464 12928 12928 +6465 12930 12930 +6466 12932 12932 +6467 12934 12934 +6468 12936 12936 +6469 12938 12938 +6470 12940 12940 +6471 12942 12942 +6472 12944 12944 +6473 12946 12946 +6474 12948 12948 +6475 12950 12950 +6476 12952 12952 +6477 12954 12954 +6478 12956 12956 +6479 12958 12958 +6480 12960 12960 +6481 12962 12962 +6482 12964 12964 +6483 12966 12966 +6484 12968 12968 +6485 12970 12970 +6486 12972 12972 +6487 12974 12974 +6488 12976 12976 +6489 12978 12978 +6490 12980 12980 +6491 12982 12982 +6492 12984 12984 +6493 12986 12986 +6494 12988 12988 +6495 12990 12990 +6496 12992 12992 +6497 12994 12994 +6498 12996 12996 +6499 12998 12998 +6500 13000 13000 +6501 13002 13002 +6502 13004 13004 +6503 13006 13006 +6504 13008 13008 +6505 13010 13010 +6506 13012 13012 +6507 13014 13014 +6508 13016 13016 +6509 13018 13018 +6510 13020 13020 +6511 13022 13022 +6512 13024 13024 +6513 13026 13026 +6514 13028 13028 +6515 13030 13030 +6516 13032 13032 +6517 13034 13034 +6518 13036 13036 +6519 13038 13038 +6520 13040 13040 +6521 13042 13042 +6522 13044 13044 +6523 13046 13046 +6524 13048 13048 +6525 13050 13050 +6526 13052 13052 +6527 13054 13054 +6528 13056 13056 +6529 13058 13058 +6530 13060 13060 +6531 13062 13062 +6532 13064 13064 +6533 13066 13066 +6534 13068 13068 +6535 13070 13070 +6536 13072 13072 +6537 13074 13074 +6538 13076 13076 +6539 13078 13078 +6540 13080 13080 +6541 13082 13082 +6542 13084 13084 +6543 13086 13086 +6544 13088 13088 +6545 13090 13090 +6546 13092 13092 +6547 13094 13094 +6548 13096 13096 +6549 13098 13098 +6550 13100 13100 +6551 13102 13102 +6552 13104 13104 +6553 13106 13106 +6554 13108 13108 +6555 13110 13110 +6556 13112 13112 +6557 13114 13114 +6558 13116 13116 +6559 13118 13118 +6560 13120 13120 +6561 13122 13122 +6562 13124 13124 +6563 13126 13126 +6564 13128 13128 +6565 13130 13130 +6566 13132 13132 +6567 13134 13134 +6568 13136 13136 +6569 13138 13138 +6570 13140 13140 +6571 13142 13142 +6572 13144 13144 +6573 13146 13146 +6574 13148 13148 +6575 13150 13150 +6576 13152 13152 +6577 13154 13154 +6578 13156 13156 +6579 13158 13158 +6580 13160 13160 +6581 13162 13162 +6582 13164 13164 +6583 13166 13166 +6584 13168 13168 +6585 13170 13170 +6586 13172 13172 +6587 13174 13174 +6588 13176 13176 +6589 13178 13178 +6590 13180 13180 +6591 13182 13182 +6592 13184 13184 +6593 13186 13186 +6594 13188 13188 +6595 13190 13190 +6596 13192 13192 +6597 13194 13194 +6598 13196 13196 +6599 13198 13198 +6600 13200 13200 +6601 13202 13202 +6602 13204 13204 +6603 13206 13206 +6604 13208 13208 +6605 13210 13210 +6606 13212 13212 +6607 13214 13214 +6608 13216 13216 +6609 13218 13218 +6610 13220 13220 +6611 13222 13222 +6612 13224 13224 +6613 13226 13226 +6614 13228 13228 +6615 13230 13230 +6616 13232 13232 +6617 13234 13234 +6618 13236 13236 +6619 13238 13238 +6620 13240 13240 +6621 13242 13242 +6622 13244 13244 +6623 13246 13246 +6624 13248 13248 +6625 13250 13250 +6626 13252 13252 +6627 13254 13254 +6628 13256 13256 +6629 13258 13258 +6630 13260 13260 +6631 13262 13262 +6632 13264 13264 +6633 13266 13266 +6634 13268 13268 +6635 13270 13270 +6636 13272 13272 +6637 13274 13274 +6638 13276 13276 +6639 13278 13278 +6640 13280 13280 +6641 13282 13282 +6642 13284 13284 +6643 13286 13286 +6644 13288 13288 +6645 13290 13290 +6646 13292 13292 +6647 13294 13294 +6648 13296 13296 +6649 13298 13298 +6650 13300 13300 +6651 13302 13302 +6652 13304 13304 +6653 13306 13306 +6654 13308 13308 +6655 13310 13310 +6656 13312 13312 +6657 13314 13314 +6658 13316 13316 +6659 13318 13318 +6660 13320 13320 +6661 13322 13322 +6662 13324 13324 +6663 13326 13326 +6664 13328 13328 +6665 13330 13330 +6666 13332 13332 +6667 13334 13334 +6668 13336 13336 +6669 13338 13338 +6670 13340 13340 +6671 13342 13342 +6672 13344 13344 +6673 13346 13346 +6674 13348 13348 +6675 13350 13350 +6676 13352 13352 +6677 13354 13354 +6678 13356 13356 +6679 13358 13358 +6680 13360 13360 +6681 13362 13362 +6682 13364 13364 +6683 13366 13366 +6684 13368 13368 +6685 13370 13370 +6686 13372 13372 +6687 13374 13374 +6688 13376 13376 +6689 13378 13378 +6690 13380 13380 +6691 13382 13382 +6692 13384 13384 +6693 13386 13386 +6694 13388 13388 +6695 13390 13390 +6696 13392 13392 +6697 13394 13394 +6698 13396 13396 +6699 13398 13398 +6700 13400 13400 +6701 13402 13402 +6702 13404 13404 +6703 13406 13406 +6704 13408 13408 +6705 13410 13410 +6706 13412 13412 +6707 13414 13414 +6708 13416 13416 +6709 13418 13418 +6710 13420 13420 +6711 13422 13422 +6712 13424 13424 +6713 13426 13426 +6714 13428 13428 +6715 13430 13430 +6716 13432 13432 +6717 13434 13434 +6718 13436 13436 +6719 13438 13438 +6720 13440 13440 +6721 13442 13442 +6722 13444 13444 +6723 13446 13446 +6724 13448 13448 +6725 13450 13450 +6726 13452 13452 +6727 13454 13454 +6728 13456 13456 +6729 13458 13458 +6730 13460 13460 +6731 13462 13462 +6732 13464 13464 +6733 13466 13466 +6734 13468 13468 +6735 13470 13470 +6736 13472 13472 +6737 13474 13474 +6738 13476 13476 +6739 13478 13478 +6740 13480 13480 +6741 13482 13482 +6742 13484 13484 +6743 13486 13486 +6744 13488 13488 +6745 13490 13490 +6746 13492 13492 +6747 13494 13494 +6748 13496 13496 +6749 13498 13498 +6750 13500 13500 +6751 13502 13502 +6752 13504 13504 +6753 13506 13506 +6754 13508 13508 +6755 13510 13510 +6756 13512 13512 +6757 13514 13514 +6758 13516 13516 +6759 13518 13518 +6760 13520 13520 +6761 13522 13522 +6762 13524 13524 +6763 13526 13526 +6764 13528 13528 +6765 13530 13530 +6766 13532 13532 +6767 13534 13534 +6768 13536 13536 +6769 13538 13538 +6770 13540 13540 +6771 13542 13542 +6772 13544 13544 +6773 13546 13546 +6774 13548 13548 +6775 13550 13550 +6776 13552 13552 +6777 13554 13554 +6778 13556 13556 +6779 13558 13558 +6780 13560 13560 +6781 13562 13562 +6782 13564 13564 +6783 13566 13566 +6784 13568 13568 +6785 13570 13570 +6786 13572 13572 +6787 13574 13574 +6788 13576 13576 +6789 13578 13578 +6790 13580 13580 +6791 13582 13582 +6792 13584 13584 +6793 13586 13586 +6794 13588 13588 +6795 13590 13590 +6796 13592 13592 +6797 13594 13594 +6798 13596 13596 +6799 13598 13598 +6800 13600 13600 +6801 13602 13602 +6802 13604 13604 +6803 13606 13606 +6804 13608 13608 +6805 13610 13610 +6806 13612 13612 +6807 13614 13614 +6808 13616 13616 +6809 13618 13618 +6810 13620 13620 +6811 13622 13622 +6812 13624 13624 +6813 13626 13626 +6814 13628 13628 +6815 13630 13630 +6816 13632 13632 +6817 13634 13634 +6818 13636 13636 +6819 13638 13638 +6820 13640 13640 +6821 13642 13642 +6822 13644 13644 +6823 13646 13646 +6824 13648 13648 +6825 13650 13650 +6826 13652 13652 +6827 13654 13654 +6828 13656 13656 +6829 13658 13658 +6830 13660 13660 +6831 13662 13662 +6832 13664 13664 +6833 13666 13666 +6834 13668 13668 +6835 13670 13670 +6836 13672 13672 +6837 13674 13674 +6838 13676 13676 +6839 13678 13678 +6840 13680 13680 +6841 13682 13682 +6842 13684 13684 +6843 13686 13686 +6844 13688 13688 +6845 13690 13690 +6846 13692 13692 +6847 13694 13694 +6848 13696 13696 +6849 13698 13698 +6850 13700 13700 +6851 13702 13702 +6852 13704 13704 +6853 13706 13706 +6854 13708 13708 +6855 13710 13710 +6856 13712 13712 +6857 13714 13714 +6858 13716 13716 +6859 13718 13718 +6860 13720 13720 +6861 13722 13722 +6862 13724 13724 +6863 13726 13726 +6864 13728 13728 +6865 13730 13730 +6866 13732 13732 +6867 13734 13734 +6868 13736 13736 +6869 13738 13738 +6870 13740 13740 +6871 13742 13742 +6872 13744 13744 +6873 13746 13746 +6874 13748 13748 +6875 13750 13750 +6876 13752 13752 +6877 13754 13754 +6878 13756 13756 +6879 13758 13758 +6880 13760 13760 +6881 13762 13762 +6882 13764 13764 +6883 13766 13766 +6884 13768 13768 +6885 13770 13770 +6886 13772 13772 +6887 13774 13774 +6888 13776 13776 +6889 13778 13778 +6890 13780 13780 +6891 13782 13782 +6892 13784 13784 +6893 13786 13786 +6894 13788 13788 +6895 13790 13790 +6896 13792 13792 +6897 13794 13794 +6898 13796 13796 +6899 13798 13798 +6900 13800 13800 +6901 13802 13802 +6902 13804 13804 +6903 13806 13806 +6904 13808 13808 +6905 13810 13810 +6906 13812 13812 +6907 13814 13814 +6908 13816 13816 +6909 13818 13818 +6910 13820 13820 +6911 13822 13822 +6912 13824 13824 +6913 13826 13826 +6914 13828 13828 +6915 13830 13830 +6916 13832 13832 +6917 13834 13834 +6918 13836 13836 +6919 13838 13838 +6920 13840 13840 +6921 13842 13842 +6922 13844 13844 +6923 13846 13846 +6924 13848 13848 +6925 13850 13850 +6926 13852 13852 +6927 13854 13854 +6928 13856 13856 +6929 13858 13858 +6930 13860 13860 +6931 13862 13862 +6932 13864 13864 +6933 13866 13866 +6934 13868 13868 +6935 13870 13870 +6936 13872 13872 +6937 13874 13874 +6938 13876 13876 +6939 13878 13878 +6940 13880 13880 +6941 13882 13882 +6942 13884 13884 +6943 13886 13886 +6944 13888 13888 +6945 13890 13890 +6946 13892 13892 +6947 13894 13894 +6948 13896 13896 +6949 13898 13898 +6950 13900 13900 +6951 13902 13902 +6952 13904 13904 +6953 13906 13906 +6954 13908 13908 +6955 13910 13910 +6956 13912 13912 +6957 13914 13914 +6958 13916 13916 +6959 13918 13918 +6960 13920 13920 +6961 13922 13922 +6962 13924 13924 +6963 13926 13926 +6964 13928 13928 +6965 13930 13930 +6966 13932 13932 +6967 13934 13934 +6968 13936 13936 +6969 13938 13938 +6970 13940 13940 +6971 13942 13942 +6972 13944 13944 +6973 13946 13946 +6974 13948 13948 +6975 13950 13950 +6976 13952 13952 +6977 13954 13954 +6978 13956 13956 +6979 13958 13958 +6980 13960 13960 +6981 13962 13962 +6982 13964 13964 +6983 13966 13966 +6984 13968 13968 +6985 13970 13970 +6986 13972 13972 +6987 13974 13974 +6988 13976 13976 +6989 13978 13978 +6990 13980 13980 +6991 13982 13982 +6992 13984 13984 +6993 13986 13986 +6994 13988 13988 +6995 13990 13990 +6996 13992 13992 +6997 13994 13994 +6998 13996 13996 +6999 13998 13998 +7000 14000 14000 +7001 14002 14002 +7002 14004 14004 +7003 14006 14006 +7004 14008 14008 +7005 14010 14010 +7006 14012 14012 +7007 14014 14014 +7008 14016 14016 +7009 14018 14018 +7010 14020 14020 +7011 14022 14022 +7012 14024 14024 +7013 14026 14026 +7014 14028 14028 +7015 14030 14030 +7016 14032 14032 +7017 14034 14034 +7018 14036 14036 +7019 14038 14038 +7020 14040 14040 +7021 14042 14042 +7022 14044 14044 +7023 14046 14046 +7024 14048 14048 +7025 14050 14050 +7026 14052 14052 +7027 14054 14054 +7028 14056 14056 +7029 14058 14058 +7030 14060 14060 +7031 14062 14062 +7032 14064 14064 +7033 14066 14066 +7034 14068 14068 +7035 14070 14070 +7036 14072 14072 +7037 14074 14074 +7038 14076 14076 +7039 14078 14078 +7040 14080 14080 +7041 14082 14082 +7042 14084 14084 +7043 14086 14086 +7044 14088 14088 +7045 14090 14090 +7046 14092 14092 +7047 14094 14094 +7048 14096 14096 +7049 14098 14098 +7050 14100 14100 +7051 14102 14102 +7052 14104 14104 +7053 14106 14106 +7054 14108 14108 +7055 14110 14110 +7056 14112 14112 +7057 14114 14114 +7058 14116 14116 +7059 14118 14118 +7060 14120 14120 +7061 14122 14122 +7062 14124 14124 +7063 14126 14126 +7064 14128 14128 +7065 14130 14130 +7066 14132 14132 +7067 14134 14134 +7068 14136 14136 +7069 14138 14138 +7070 14140 14140 +7071 14142 14142 +7072 14144 14144 +7073 14146 14146 +7074 14148 14148 +7075 14150 14150 +7076 14152 14152 +7077 14154 14154 +7078 14156 14156 +7079 14158 14158 +7080 14160 14160 +7081 14162 14162 +7082 14164 14164 +7083 14166 14166 +7084 14168 14168 +7085 14170 14170 +7086 14172 14172 +7087 14174 14174 +7088 14176 14176 +7089 14178 14178 +7090 14180 14180 +7091 14182 14182 +7092 14184 14184 +7093 14186 14186 +7094 14188 14188 +7095 14190 14190 +7096 14192 14192 +7097 14194 14194 +7098 14196 14196 +7099 14198 14198 +7100 14200 14200 +7101 14202 14202 +7102 14204 14204 +7103 14206 14206 +7104 14208 14208 +7105 14210 14210 +7106 14212 14212 +7107 14214 14214 +7108 14216 14216 +7109 14218 14218 +7110 14220 14220 +7111 14222 14222 +7112 14224 14224 +7113 14226 14226 +7114 14228 14228 +7115 14230 14230 +7116 14232 14232 +7117 14234 14234 +7118 14236 14236 +7119 14238 14238 +7120 14240 14240 +7121 14242 14242 +7122 14244 14244 +7123 14246 14246 +7124 14248 14248 +7125 14250 14250 +7126 14252 14252 +7127 14254 14254 +7128 14256 14256 +7129 14258 14258 +7130 14260 14260 +7131 14262 14262 +7132 14264 14264 +7133 14266 14266 +7134 14268 14268 +7135 14270 14270 +7136 14272 14272 +7137 14274 14274 +7138 14276 14276 +7139 14278 14278 +7140 14280 14280 +7141 14282 14282 +7142 14284 14284 +7143 14286 14286 +7144 14288 14288 +7145 14290 14290 +7146 14292 14292 +7147 14294 14294 +7148 14296 14296 +7149 14298 14298 +7150 14300 14300 +7151 14302 14302 +7152 14304 14304 +7153 14306 14306 +7154 14308 14308 +7155 14310 14310 +7156 14312 14312 +7157 14314 14314 +7158 14316 14316 +7159 14318 14318 +7160 14320 14320 +7161 14322 14322 +7162 14324 14324 +7163 14326 14326 +7164 14328 14328 +7165 14330 14330 +7166 14332 14332 +7167 14334 14334 +7168 14336 14336 +7169 14338 14338 +7170 14340 14340 +7171 14342 14342 +7172 14344 14344 +7173 14346 14346 +7174 14348 14348 +7175 14350 14350 +7176 14352 14352 +7177 14354 14354 +7178 14356 14356 +7179 14358 14358 +7180 14360 14360 +7181 14362 14362 +7182 14364 14364 +7183 14366 14366 +7184 14368 14368 +7185 14370 14370 +7186 14372 14372 +7187 14374 14374 +7188 14376 14376 +7189 14378 14378 +7190 14380 14380 +7191 14382 14382 +7192 14384 14384 +7193 14386 14386 +7194 14388 14388 +7195 14390 14390 +7196 14392 14392 +7197 14394 14394 +7198 14396 14396 +7199 14398 14398 +7200 14400 14400 +7201 14402 14402 +7202 14404 14404 +7203 14406 14406 +7204 14408 14408 +7205 14410 14410 +7206 14412 14412 +7207 14414 14414 +7208 14416 14416 +7209 14418 14418 +7210 14420 14420 +7211 14422 14422 +7212 14424 14424 +7213 14426 14426 +7214 14428 14428 +7215 14430 14430 +7216 14432 14432 +7217 14434 14434 +7218 14436 14436 +7219 14438 14438 +7220 14440 14440 +7221 14442 14442 +7222 14444 14444 +7223 14446 14446 +7224 14448 14448 +7225 14450 14450 +7226 14452 14452 +7227 14454 14454 +7228 14456 14456 +7229 14458 14458 +7230 14460 14460 +7231 14462 14462 +7232 14464 14464 +7233 14466 14466 +7234 14468 14468 +7235 14470 14470 +7236 14472 14472 +7237 14474 14474 +7238 14476 14476 +7239 14478 14478 +7240 14480 14480 +7241 14482 14482 +7242 14484 14484 +7243 14486 14486 +7244 14488 14488 +7245 14490 14490 +7246 14492 14492 +7247 14494 14494 +7248 14496 14496 +7249 14498 14498 +7250 14500 14500 +7251 14502 14502 +7252 14504 14504 +7253 14506 14506 +7254 14508 14508 +7255 14510 14510 +7256 14512 14512 +7257 14514 14514 +7258 14516 14516 +7259 14518 14518 +7260 14520 14520 +7261 14522 14522 +7262 14524 14524 +7263 14526 14526 +7264 14528 14528 +7265 14530 14530 +7266 14532 14532 +7267 14534 14534 +7268 14536 14536 +7269 14538 14538 +7270 14540 14540 +7271 14542 14542 +7272 14544 14544 +7273 14546 14546 +7274 14548 14548 +7275 14550 14550 +7276 14552 14552 +7277 14554 14554 +7278 14556 14556 +7279 14558 14558 +7280 14560 14560 +7281 14562 14562 +7282 14564 14564 +7283 14566 14566 +7284 14568 14568 +7285 14570 14570 +7286 14572 14572 +7287 14574 14574 +7288 14576 14576 +7289 14578 14578 +7290 14580 14580 +7291 14582 14582 +7292 14584 14584 +7293 14586 14586 +7294 14588 14588 +7295 14590 14590 +7296 14592 14592 +7297 14594 14594 +7298 14596 14596 +7299 14598 14598 +7300 14600 14600 +7301 14602 14602 +7302 14604 14604 +7303 14606 14606 +7304 14608 14608 +7305 14610 14610 +7306 14612 14612 +7307 14614 14614 +7308 14616 14616 +7309 14618 14618 +7310 14620 14620 +7311 14622 14622 +7312 14624 14624 +7313 14626 14626 +7314 14628 14628 +7315 14630 14630 +7316 14632 14632 +7317 14634 14634 +7318 14636 14636 +7319 14638 14638 +7320 14640 14640 +7321 14642 14642 +7322 14644 14644 +7323 14646 14646 +7324 14648 14648 +7325 14650 14650 +7326 14652 14652 +7327 14654 14654 +7328 14656 14656 +7329 14658 14658 +7330 14660 14660 +7331 14662 14662 +7332 14664 14664 +7333 14666 14666 +7334 14668 14668 +7335 14670 14670 +7336 14672 14672 +7337 14674 14674 +7338 14676 14676 +7339 14678 14678 +7340 14680 14680 +7341 14682 14682 +7342 14684 14684 +7343 14686 14686 +7344 14688 14688 +7345 14690 14690 +7346 14692 14692 +7347 14694 14694 +7348 14696 14696 +7349 14698 14698 +7350 14700 14700 +7351 14702 14702 +7352 14704 14704 +7353 14706 14706 +7354 14708 14708 +7355 14710 14710 +7356 14712 14712 +7357 14714 14714 +7358 14716 14716 +7359 14718 14718 +7360 14720 14720 +7361 14722 14722 +7362 14724 14724 +7363 14726 14726 +7364 14728 14728 +7365 14730 14730 +7366 14732 14732 +7367 14734 14734 +7368 14736 14736 +7369 14738 14738 +7370 14740 14740 +7371 14742 14742 +7372 14744 14744 +7373 14746 14746 +7374 14748 14748 +7375 14750 14750 +7376 14752 14752 +7377 14754 14754 +7378 14756 14756 +7379 14758 14758 +7380 14760 14760 +7381 14762 14762 +7382 14764 14764 +7383 14766 14766 +7384 14768 14768 +7385 14770 14770 +7386 14772 14772 +7387 14774 14774 +7388 14776 14776 +7389 14778 14778 +7390 14780 14780 +7391 14782 14782 +7392 14784 14784 +7393 14786 14786 +7394 14788 14788 +7395 14790 14790 +7396 14792 14792 +7397 14794 14794 +7398 14796 14796 +7399 14798 14798 +7400 14800 14800 +7401 14802 14802 +7402 14804 14804 +7403 14806 14806 +7404 14808 14808 +7405 14810 14810 +7406 14812 14812 +7407 14814 14814 +7408 14816 14816 +7409 14818 14818 +7410 14820 14820 +7411 14822 14822 +7412 14824 14824 +7413 14826 14826 +7414 14828 14828 +7415 14830 14830 +7416 14832 14832 +7417 14834 14834 +7418 14836 14836 +7419 14838 14838 +7420 14840 14840 +7421 14842 14842 +7422 14844 14844 +7423 14846 14846 +7424 14848 14848 +7425 14850 14850 +7426 14852 14852 +7427 14854 14854 +7428 14856 14856 +7429 14858 14858 +7430 14860 14860 +7431 14862 14862 +7432 14864 14864 +7433 14866 14866 +7434 14868 14868 +7435 14870 14870 +7436 14872 14872 +7437 14874 14874 +7438 14876 14876 +7439 14878 14878 +7440 14880 14880 +7441 14882 14882 +7442 14884 14884 +7443 14886 14886 +7444 14888 14888 +7445 14890 14890 +7446 14892 14892 +7447 14894 14894 +7448 14896 14896 +7449 14898 14898 +7450 14900 14900 +7451 14902 14902 +7452 14904 14904 +7453 14906 14906 +7454 14908 14908 +7455 14910 14910 +7456 14912 14912 +7457 14914 14914 +7458 14916 14916 +7459 14918 14918 +7460 14920 14920 +7461 14922 14922 +7462 14924 14924 +7463 14926 14926 +7464 14928 14928 +7465 14930 14930 +7466 14932 14932 +7467 14934 14934 +7468 14936 14936 +7469 14938 14938 +7470 14940 14940 +7471 14942 14942 +7472 14944 14944 +7473 14946 14946 +7474 14948 14948 +7475 14950 14950 +7476 14952 14952 +7477 14954 14954 +7478 14956 14956 +7479 14958 14958 +7480 14960 14960 +7481 14962 14962 +7482 14964 14964 +7483 14966 14966 +7484 14968 14968 +7485 14970 14970 +7486 14972 14972 +7487 14974 14974 +7488 14976 14976 +7489 14978 14978 +7490 14980 14980 +7491 14982 14982 +7492 14984 14984 +7493 14986 14986 +7494 14988 14988 +7495 14990 14990 +7496 14992 14992 +7497 14994 14994 +7498 14996 14996 +7499 14998 14998 +7500 15000 15000 +7501 15002 15002 +7502 15004 15004 +7503 15006 15006 +7504 15008 15008 +7505 15010 15010 +7506 15012 15012 +7507 15014 15014 +7508 15016 15016 +7509 15018 15018 +7510 15020 15020 +7511 15022 15022 +7512 15024 15024 +7513 15026 15026 +7514 15028 15028 +7515 15030 15030 +7516 15032 15032 +7517 15034 15034 +7518 15036 15036 +7519 15038 15038 +7520 15040 15040 +7521 15042 15042 +7522 15044 15044 +7523 15046 15046 +7524 15048 15048 +7525 15050 15050 +7526 15052 15052 +7527 15054 15054 +7528 15056 15056 +7529 15058 15058 +7530 15060 15060 +7531 15062 15062 +7532 15064 15064 +7533 15066 15066 +7534 15068 15068 +7535 15070 15070 +7536 15072 15072 +7537 15074 15074 +7538 15076 15076 +7539 15078 15078 +7540 15080 15080 +7541 15082 15082 +7542 15084 15084 +7543 15086 15086 +7544 15088 15088 +7545 15090 15090 +7546 15092 15092 +7547 15094 15094 +7548 15096 15096 +7549 15098 15098 +7550 15100 15100 +7551 15102 15102 +7552 15104 15104 +7553 15106 15106 +7554 15108 15108 +7555 15110 15110 +7556 15112 15112 +7557 15114 15114 +7558 15116 15116 +7559 15118 15118 +7560 15120 15120 +7561 15122 15122 +7562 15124 15124 +7563 15126 15126 +7564 15128 15128 +7565 15130 15130 +7566 15132 15132 +7567 15134 15134 +7568 15136 15136 +7569 15138 15138 +7570 15140 15140 +7571 15142 15142 +7572 15144 15144 +7573 15146 15146 +7574 15148 15148 +7575 15150 15150 +7576 15152 15152 +7577 15154 15154 +7578 15156 15156 +7579 15158 15158 +7580 15160 15160 +7581 15162 15162 +7582 15164 15164 +7583 15166 15166 +7584 15168 15168 +7585 15170 15170 +7586 15172 15172 +7587 15174 15174 +7588 15176 15176 +7589 15178 15178 +7590 15180 15180 +7591 15182 15182 +7592 15184 15184 +7593 15186 15186 +7594 15188 15188 +7595 15190 15190 +7596 15192 15192 +7597 15194 15194 +7598 15196 15196 +7599 15198 15198 +7600 15200 15200 +7601 15202 15202 +7602 15204 15204 +7603 15206 15206 +7604 15208 15208 +7605 15210 15210 +7606 15212 15212 +7607 15214 15214 +7608 15216 15216 +7609 15218 15218 +7610 15220 15220 +7611 15222 15222 +7612 15224 15224 +7613 15226 15226 +7614 15228 15228 +7615 15230 15230 +7616 15232 15232 +7617 15234 15234 +7618 15236 15236 +7619 15238 15238 +7620 15240 15240 +7621 15242 15242 +7622 15244 15244 +7623 15246 15246 +7624 15248 15248 +7625 15250 15250 +7626 15252 15252 +7627 15254 15254 +7628 15256 15256 +7629 15258 15258 +7630 15260 15260 +7631 15262 15262 +7632 15264 15264 +7633 15266 15266 +7634 15268 15268 +7635 15270 15270 +7636 15272 15272 +7637 15274 15274 +7638 15276 15276 +7639 15278 15278 +7640 15280 15280 +7641 15282 15282 +7642 15284 15284 +7643 15286 15286 +7644 15288 15288 +7645 15290 15290 +7646 15292 15292 +7647 15294 15294 +7648 15296 15296 +7649 15298 15298 +7650 15300 15300 +7651 15302 15302 +7652 15304 15304 +7653 15306 15306 +7654 15308 15308 +7655 15310 15310 +7656 15312 15312 +7657 15314 15314 +7658 15316 15316 +7659 15318 15318 +7660 15320 15320 +7661 15322 15322 +7662 15324 15324 +7663 15326 15326 +7664 15328 15328 +7665 15330 15330 +7666 15332 15332 +7667 15334 15334 +7668 15336 15336 +7669 15338 15338 +7670 15340 15340 +7671 15342 15342 +7672 15344 15344 +7673 15346 15346 +7674 15348 15348 +7675 15350 15350 +7676 15352 15352 +7677 15354 15354 +7678 15356 15356 +7679 15358 15358 +7680 15360 15360 +7681 15362 15362 +7682 15364 15364 +7683 15366 15366 +7684 15368 15368 +7685 15370 15370 +7686 15372 15372 +7687 15374 15374 +7688 15376 15376 +7689 15378 15378 +7690 15380 15380 +7691 15382 15382 +7692 15384 15384 +7693 15386 15386 +7694 15388 15388 +7695 15390 15390 +7696 15392 15392 +7697 15394 15394 +7698 15396 15396 +7699 15398 15398 +7700 15400 15400 +7701 15402 15402 +7702 15404 15404 +7703 15406 15406 +7704 15408 15408 +7705 15410 15410 +7706 15412 15412 +7707 15414 15414 +7708 15416 15416 +7709 15418 15418 +7710 15420 15420 +7711 15422 15422 +7712 15424 15424 +7713 15426 15426 +7714 15428 15428 +7715 15430 15430 +7716 15432 15432 +7717 15434 15434 +7718 15436 15436 +7719 15438 15438 +7720 15440 15440 +7721 15442 15442 +7722 15444 15444 +7723 15446 15446 +7724 15448 15448 +7725 15450 15450 +7726 15452 15452 +7727 15454 15454 +7728 15456 15456 +7729 15458 15458 +7730 15460 15460 +7731 15462 15462 +7732 15464 15464 +7733 15466 15466 +7734 15468 15468 +7735 15470 15470 +7736 15472 15472 +7737 15474 15474 +7738 15476 15476 +7739 15478 15478 +7740 15480 15480 +7741 15482 15482 +7742 15484 15484 +7743 15486 15486 +7744 15488 15488 +7745 15490 15490 +7746 15492 15492 +7747 15494 15494 +7748 15496 15496 +7749 15498 15498 +7750 15500 15500 +7751 15502 15502 +7752 15504 15504 +7753 15506 15506 +7754 15508 15508 +7755 15510 15510 +7756 15512 15512 +7757 15514 15514 +7758 15516 15516 +7759 15518 15518 +7760 15520 15520 +7761 15522 15522 +7762 15524 15524 +7763 15526 15526 +7764 15528 15528 +7765 15530 15530 +7766 15532 15532 +7767 15534 15534 +7768 15536 15536 +7769 15538 15538 +7770 15540 15540 +7771 15542 15542 +7772 15544 15544 +7773 15546 15546 +7774 15548 15548 +7775 15550 15550 +7776 15552 15552 +7777 15554 15554 +7778 15556 15556 +7779 15558 15558 +7780 15560 15560 +7781 15562 15562 +7782 15564 15564 +7783 15566 15566 +7784 15568 15568 +7785 15570 15570 +7786 15572 15572 +7787 15574 15574 +7788 15576 15576 +7789 15578 15578 +7790 15580 15580 +7791 15582 15582 +7792 15584 15584 +7793 15586 15586 +7794 15588 15588 +7795 15590 15590 +7796 15592 15592 +7797 15594 15594 +7798 15596 15596 +7799 15598 15598 +7800 15600 15600 +7801 15602 15602 +7802 15604 15604 +7803 15606 15606 +7804 15608 15608 +7805 15610 15610 +7806 15612 15612 +7807 15614 15614 +7808 15616 15616 +7809 15618 15618 +7810 15620 15620 +7811 15622 15622 +7812 15624 15624 +7813 15626 15626 +7814 15628 15628 +7815 15630 15630 +7816 15632 15632 +7817 15634 15634 +7818 15636 15636 +7819 15638 15638 +7820 15640 15640 +7821 15642 15642 +7822 15644 15644 +7823 15646 15646 +7824 15648 15648 +7825 15650 15650 +7826 15652 15652 +7827 15654 15654 +7828 15656 15656 +7829 15658 15658 +7830 15660 15660 +7831 15662 15662 +7832 15664 15664 +7833 15666 15666 +7834 15668 15668 +7835 15670 15670 +7836 15672 15672 +7837 15674 15674 +7838 15676 15676 +7839 15678 15678 +7840 15680 15680 +7841 15682 15682 +7842 15684 15684 +7843 15686 15686 +7844 15688 15688 +7845 15690 15690 +7846 15692 15692 +7847 15694 15694 +7848 15696 15696 +7849 15698 15698 +7850 15700 15700 +7851 15702 15702 +7852 15704 15704 +7853 15706 15706 +7854 15708 15708 +7855 15710 15710 +7856 15712 15712 +7857 15714 15714 +7858 15716 15716 +7859 15718 15718 +7860 15720 15720 +7861 15722 15722 +7862 15724 15724 +7863 15726 15726 +7864 15728 15728 +7865 15730 15730 +7866 15732 15732 +7867 15734 15734 +7868 15736 15736 +7869 15738 15738 +7870 15740 15740 +7871 15742 15742 +7872 15744 15744 +7873 15746 15746 +7874 15748 15748 +7875 15750 15750 +7876 15752 15752 +7877 15754 15754 +7878 15756 15756 +7879 15758 15758 +7880 15760 15760 +7881 15762 15762 +7882 15764 15764 +7883 15766 15766 +7884 15768 15768 +7885 15770 15770 +7886 15772 15772 +7887 15774 15774 +7888 15776 15776 +7889 15778 15778 +7890 15780 15780 +7891 15782 15782 +7892 15784 15784 +7893 15786 15786 +7894 15788 15788 +7895 15790 15790 +7896 15792 15792 +7897 15794 15794 +7898 15796 15796 +7899 15798 15798 +7900 15800 15800 +7901 15802 15802 +7902 15804 15804 +7903 15806 15806 +7904 15808 15808 +7905 15810 15810 +7906 15812 15812 +7907 15814 15814 +7908 15816 15816 +7909 15818 15818 +7910 15820 15820 +7911 15822 15822 +7912 15824 15824 +7913 15826 15826 +7914 15828 15828 +7915 15830 15830 +7916 15832 15832 +7917 15834 15834 +7918 15836 15836 +7919 15838 15838 +7920 15840 15840 +7921 15842 15842 +7922 15844 15844 +7923 15846 15846 +7924 15848 15848 +7925 15850 15850 +7926 15852 15852 +7927 15854 15854 +7928 15856 15856 +7929 15858 15858 +7930 15860 15860 +7931 15862 15862 +7932 15864 15864 +7933 15866 15866 +7934 15868 15868 +7935 15870 15870 +7936 15872 15872 +7937 15874 15874 +7938 15876 15876 +7939 15878 15878 +7940 15880 15880 +7941 15882 15882 +7942 15884 15884 +7943 15886 15886 +7944 15888 15888 +7945 15890 15890 +7946 15892 15892 +7947 15894 15894 +7948 15896 15896 +7949 15898 15898 +7950 15900 15900 +7951 15902 15902 +7952 15904 15904 +7953 15906 15906 +7954 15908 15908 +7955 15910 15910 +7956 15912 15912 +7957 15914 15914 +7958 15916 15916 +7959 15918 15918 +7960 15920 15920 +7961 15922 15922 +7962 15924 15924 +7963 15926 15926 +7964 15928 15928 +7965 15930 15930 +7966 15932 15932 +7967 15934 15934 +7968 15936 15936 +7969 15938 15938 +7970 15940 15940 +7971 15942 15942 +7972 15944 15944 +7973 15946 15946 +7974 15948 15948 +7975 15950 15950 +7976 15952 15952 +7977 15954 15954 +7978 15956 15956 +7979 15958 15958 +7980 15960 15960 +7981 15962 15962 +7982 15964 15964 +7983 15966 15966 +7984 15968 15968 +7985 15970 15970 +7986 15972 15972 +7987 15974 15974 +7988 15976 15976 +7989 15978 15978 +7990 15980 15980 +7991 15982 15982 +7992 15984 15984 +7993 15986 15986 +7994 15988 15988 +7995 15990 15990 +7996 15992 15992 +7997 15994 15994 +7998 15996 15996 +7999 15998 15998 +8000 16000 16000 +8001 16002 16002 +8002 16004 16004 +8003 16006 16006 +8004 16008 16008 +8005 16010 16010 +8006 16012 16012 +8007 16014 16014 +8008 16016 16016 +8009 16018 16018 +8010 16020 16020 +8011 16022 16022 +8012 16024 16024 +8013 16026 16026 +8014 16028 16028 +8015 16030 16030 +8016 16032 16032 +8017 16034 16034 +8018 16036 16036 +8019 16038 16038 +8020 16040 16040 +8021 16042 16042 +8022 16044 16044 +8023 16046 16046 +8024 16048 16048 +8025 16050 16050 +8026 16052 16052 +8027 16054 16054 +8028 16056 16056 +8029 16058 16058 +8030 16060 16060 +8031 16062 16062 +8032 16064 16064 +8033 16066 16066 +8034 16068 16068 +8035 16070 16070 +8036 16072 16072 +8037 16074 16074 +8038 16076 16076 +8039 16078 16078 +8040 16080 16080 +8041 16082 16082 +8042 16084 16084 +8043 16086 16086 +8044 16088 16088 +8045 16090 16090 +8046 16092 16092 +8047 16094 16094 +8048 16096 16096 +8049 16098 16098 +8050 16100 16100 +8051 16102 16102 +8052 16104 16104 +8053 16106 16106 +8054 16108 16108 +8055 16110 16110 +8056 16112 16112 +8057 16114 16114 +8058 16116 16116 +8059 16118 16118 +8060 16120 16120 +8061 16122 16122 +8062 16124 16124 +8063 16126 16126 +8064 16128 16128 +8065 16130 16130 +8066 16132 16132 +8067 16134 16134 +8068 16136 16136 +8069 16138 16138 +8070 16140 16140 +8071 16142 16142 +8072 16144 16144 +8073 16146 16146 +8074 16148 16148 +8075 16150 16150 +8076 16152 16152 +8077 16154 16154 +8078 16156 16156 +8079 16158 16158 +8080 16160 16160 +8081 16162 16162 +8082 16164 16164 +8083 16166 16166 +8084 16168 16168 +8085 16170 16170 +8086 16172 16172 +8087 16174 16174 +8088 16176 16176 +8089 16178 16178 +8090 16180 16180 +8091 16182 16182 +8092 16184 16184 +8093 16186 16186 +8094 16188 16188 +8095 16190 16190 +8096 16192 16192 +8097 16194 16194 +8098 16196 16196 +8099 16198 16198 +8100 16200 16200 +8101 16202 16202 +8102 16204 16204 +8103 16206 16206 +8104 16208 16208 +8105 16210 16210 +8106 16212 16212 +8107 16214 16214 +8108 16216 16216 +8109 16218 16218 +8110 16220 16220 +8111 16222 16222 +8112 16224 16224 +8113 16226 16226 +8114 16228 16228 +8115 16230 16230 +8116 16232 16232 +8117 16234 16234 +8118 16236 16236 +8119 16238 16238 +8120 16240 16240 +8121 16242 16242 +8122 16244 16244 +8123 16246 16246 +8124 16248 16248 +8125 16250 16250 +8126 16252 16252 +8127 16254 16254 +8128 16256 16256 +8129 16258 16258 +8130 16260 16260 +8131 16262 16262 +8132 16264 16264 +8133 16266 16266 +8134 16268 16268 +8135 16270 16270 +8136 16272 16272 +8137 16274 16274 +8138 16276 16276 +8139 16278 16278 +8140 16280 16280 +8141 16282 16282 +8142 16284 16284 +8143 16286 16286 +8144 16288 16288 +8145 16290 16290 +8146 16292 16292 +8147 16294 16294 +8148 16296 16296 +8149 16298 16298 +8150 16300 16300 +8151 16302 16302 +8152 16304 16304 +8153 16306 16306 +8154 16308 16308 +8155 16310 16310 +8156 16312 16312 +8157 16314 16314 +8158 16316 16316 +8159 16318 16318 +8160 16320 16320 +8161 16322 16322 +8162 16324 16324 +8163 16326 16326 +8164 16328 16328 +8165 16330 16330 +8166 16332 16332 +8167 16334 16334 +8168 16336 16336 +8169 16338 16338 +8170 16340 16340 +8171 16342 16342 +8172 16344 16344 +8173 16346 16346 +8174 16348 16348 +8175 16350 16350 +8176 16352 16352 +8177 16354 16354 +8178 16356 16356 +8179 16358 16358 +8180 16360 16360 +8181 16362 16362 +8182 16364 16364 +8183 16366 16366 +8184 16368 16368 +8185 16370 16370 +8186 16372 16372 +8187 16374 16374 +8188 16376 16376 +8189 16378 16378 +8190 16380 16380 +8191 16382 16382 +8192 16384 16384 +8193 16386 16386 +8194 16388 16388 +8195 16390 16390 +8196 16392 16392 +8197 16394 16394 +8198 16396 16396 +8199 16398 16398 +8200 16400 16400 +8201 16402 16402 +8202 16404 16404 +8203 16406 16406 +8204 16408 16408 +8205 16410 16410 +8206 16412 16412 +8207 16414 16414 +8208 16416 16416 +8209 16418 16418 +8210 16420 16420 +8211 16422 16422 +8212 16424 16424 +8213 16426 16426 +8214 16428 16428 +8215 16430 16430 +8216 16432 16432 +8217 16434 16434 +8218 16436 16436 +8219 16438 16438 +8220 16440 16440 +8221 16442 16442 +8222 16444 16444 +8223 16446 16446 +8224 16448 16448 +8225 16450 16450 +8226 16452 16452 +8227 16454 16454 +8228 16456 16456 +8229 16458 16458 +8230 16460 16460 +8231 16462 16462 +8232 16464 16464 +8233 16466 16466 +8234 16468 16468 +8235 16470 16470 +8236 16472 16472 +8237 16474 16474 +8238 16476 16476 +8239 16478 16478 +8240 16480 16480 +8241 16482 16482 +8242 16484 16484 +8243 16486 16486 +8244 16488 16488 +8245 16490 16490 +8246 16492 16492 +8247 16494 16494 +8248 16496 16496 +8249 16498 16498 +8250 16500 16500 +8251 16502 16502 +8252 16504 16504 +8253 16506 16506 +8254 16508 16508 +8255 16510 16510 +8256 16512 16512 +8257 16514 16514 +8258 16516 16516 +8259 16518 16518 +8260 16520 16520 +8261 16522 16522 +8262 16524 16524 +8263 16526 16526 +8264 16528 16528 +8265 16530 16530 +8266 16532 16532 +8267 16534 16534 +8268 16536 16536 +8269 16538 16538 +8270 16540 16540 +8271 16542 16542 +8272 16544 16544 +8273 16546 16546 +8274 16548 16548 +8275 16550 16550 +8276 16552 16552 +8277 16554 16554 +8278 16556 16556 +8279 16558 16558 +8280 16560 16560 +8281 16562 16562 +8282 16564 16564 +8283 16566 16566 +8284 16568 16568 +8285 16570 16570 +8286 16572 16572 +8287 16574 16574 +8288 16576 16576 +8289 16578 16578 +8290 16580 16580 +8291 16582 16582 +8292 16584 16584 +8293 16586 16586 +8294 16588 16588 +8295 16590 16590 +8296 16592 16592 +8297 16594 16594 +8298 16596 16596 +8299 16598 16598 +8300 16600 16600 +8301 16602 16602 +8302 16604 16604 +8303 16606 16606 +8304 16608 16608 +8305 16610 16610 +8306 16612 16612 +8307 16614 16614 +8308 16616 16616 +8309 16618 16618 +8310 16620 16620 +8311 16622 16622 +8312 16624 16624 +8313 16626 16626 +8314 16628 16628 +8315 16630 16630 +8316 16632 16632 +8317 16634 16634 +8318 16636 16636 +8319 16638 16638 +8320 16640 16640 +8321 16642 16642 +8322 16644 16644 +8323 16646 16646 +8324 16648 16648 +8325 16650 16650 +8326 16652 16652 +8327 16654 16654 +8328 16656 16656 +8329 16658 16658 +8330 16660 16660 +8331 16662 16662 +8332 16664 16664 +8333 16666 16666 +8334 16668 16668 +8335 16670 16670 +8336 16672 16672 +8337 16674 16674 +8338 16676 16676 +8339 16678 16678 +8340 16680 16680 +8341 16682 16682 +8342 16684 16684 +8343 16686 16686 +8344 16688 16688 +8345 16690 16690 +8346 16692 16692 +8347 16694 16694 +8348 16696 16696 +8349 16698 16698 +8350 16700 16700 +8351 16702 16702 +8352 16704 16704 +8353 16706 16706 +8354 16708 16708 +8355 16710 16710 +8356 16712 16712 +8357 16714 16714 +8358 16716 16716 +8359 16718 16718 +8360 16720 16720 +8361 16722 16722 +8362 16724 16724 +8363 16726 16726 +8364 16728 16728 +8365 16730 16730 +8366 16732 16732 +8367 16734 16734 +8368 16736 16736 +8369 16738 16738 +8370 16740 16740 +8371 16742 16742 +8372 16744 16744 +8373 16746 16746 +8374 16748 16748 +8375 16750 16750 +8376 16752 16752 +8377 16754 16754 +8378 16756 16756 +8379 16758 16758 +8380 16760 16760 +8381 16762 16762 +8382 16764 16764 +8383 16766 16766 +8384 16768 16768 +8385 16770 16770 +8386 16772 16772 +8387 16774 16774 +8388 16776 16776 +8389 16778 16778 +8390 16780 16780 +8391 16782 16782 +8392 16784 16784 +8393 16786 16786 +8394 16788 16788 +8395 16790 16790 +8396 16792 16792 +8397 16794 16794 +8398 16796 16796 +8399 16798 16798 +8400 16800 16800 +8401 16802 16802 +8402 16804 16804 +8403 16806 16806 +8404 16808 16808 +8405 16810 16810 +8406 16812 16812 +8407 16814 16814 +8408 16816 16816 +8409 16818 16818 +8410 16820 16820 +8411 16822 16822 +8412 16824 16824 +8413 16826 16826 +8414 16828 16828 +8415 16830 16830 +8416 16832 16832 +8417 16834 16834 +8418 16836 16836 +8419 16838 16838 +8420 16840 16840 +8421 16842 16842 +8422 16844 16844 +8423 16846 16846 +8424 16848 16848 +8425 16850 16850 +8426 16852 16852 +8427 16854 16854 +8428 16856 16856 +8429 16858 16858 +8430 16860 16860 +8431 16862 16862 +8432 16864 16864 +8433 16866 16866 +8434 16868 16868 +8435 16870 16870 +8436 16872 16872 +8437 16874 16874 +8438 16876 16876 +8439 16878 16878 +8440 16880 16880 +8441 16882 16882 +8442 16884 16884 +8443 16886 16886 +8444 16888 16888 +8445 16890 16890 +8446 16892 16892 +8447 16894 16894 +8448 16896 16896 +8449 16898 16898 +8450 16900 16900 +8451 16902 16902 +8452 16904 16904 +8453 16906 16906 +8454 16908 16908 +8455 16910 16910 +8456 16912 16912 +8457 16914 16914 +8458 16916 16916 +8459 16918 16918 +8460 16920 16920 +8461 16922 16922 +8462 16924 16924 +8463 16926 16926 +8464 16928 16928 +8465 16930 16930 +8466 16932 16932 +8467 16934 16934 +8468 16936 16936 +8469 16938 16938 +8470 16940 16940 +8471 16942 16942 +8472 16944 16944 +8473 16946 16946 +8474 16948 16948 +8475 16950 16950 +8476 16952 16952 +8477 16954 16954 +8478 16956 16956 +8479 16958 16958 +8480 16960 16960 +8481 16962 16962 +8482 16964 16964 +8483 16966 16966 +8484 16968 16968 +8485 16970 16970 +8486 16972 16972 +8487 16974 16974 +8488 16976 16976 +8489 16978 16978 +8490 16980 16980 +8491 16982 16982 +8492 16984 16984 +8493 16986 16986 +8494 16988 16988 +8495 16990 16990 +8496 16992 16992 +8497 16994 16994 +8498 16996 16996 +8499 16998 16998 +8500 17000 17000 +8501 17002 17002 +8502 17004 17004 +8503 17006 17006 +8504 17008 17008 +8505 17010 17010 +8506 17012 17012 +8507 17014 17014 +8508 17016 17016 +8509 17018 17018 +8510 17020 17020 +8511 17022 17022 +8512 17024 17024 +8513 17026 17026 +8514 17028 17028 +8515 17030 17030 +8516 17032 17032 +8517 17034 17034 +8518 17036 17036 +8519 17038 17038 +8520 17040 17040 +8521 17042 17042 +8522 17044 17044 +8523 17046 17046 +8524 17048 17048 +8525 17050 17050 +8526 17052 17052 +8527 17054 17054 +8528 17056 17056 +8529 17058 17058 +8530 17060 17060 +8531 17062 17062 +8532 17064 17064 +8533 17066 17066 +8534 17068 17068 +8535 17070 17070 +8536 17072 17072 +8537 17074 17074 +8538 17076 17076 +8539 17078 17078 +8540 17080 17080 +8541 17082 17082 +8542 17084 17084 +8543 17086 17086 +8544 17088 17088 +8545 17090 17090 +8546 17092 17092 +8547 17094 17094 +8548 17096 17096 +8549 17098 17098 +8550 17100 17100 +8551 17102 17102 +8552 17104 17104 +8553 17106 17106 +8554 17108 17108 +8555 17110 17110 +8556 17112 17112 +8557 17114 17114 +8558 17116 17116 +8559 17118 17118 +8560 17120 17120 +8561 17122 17122 +8562 17124 17124 +8563 17126 17126 +8564 17128 17128 +8565 17130 17130 +8566 17132 17132 +8567 17134 17134 +8568 17136 17136 +8569 17138 17138 +8570 17140 17140 +8571 17142 17142 +8572 17144 17144 +8573 17146 17146 +8574 17148 17148 +8575 17150 17150 +8576 17152 17152 +8577 17154 17154 +8578 17156 17156 +8579 17158 17158 +8580 17160 17160 +8581 17162 17162 +8582 17164 17164 +8583 17166 17166 +8584 17168 17168 +8585 17170 17170 +8586 17172 17172 +8587 17174 17174 +8588 17176 17176 +8589 17178 17178 +8590 17180 17180 +8591 17182 17182 +8592 17184 17184 +8593 17186 17186 +8594 17188 17188 +8595 17190 17190 +8596 17192 17192 +8597 17194 17194 +8598 17196 17196 +8599 17198 17198 +8600 17200 17200 +8601 17202 17202 +8602 17204 17204 +8603 17206 17206 +8604 17208 17208 +8605 17210 17210 +8606 17212 17212 +8607 17214 17214 +8608 17216 17216 +8609 17218 17218 +8610 17220 17220 +8611 17222 17222 +8612 17224 17224 +8613 17226 17226 +8614 17228 17228 +8615 17230 17230 +8616 17232 17232 +8617 17234 17234 +8618 17236 17236 +8619 17238 17238 +8620 17240 17240 +8621 17242 17242 +8622 17244 17244 +8623 17246 17246 +8624 17248 17248 +8625 17250 17250 +8626 17252 17252 +8627 17254 17254 +8628 17256 17256 +8629 17258 17258 +8630 17260 17260 +8631 17262 17262 +8632 17264 17264 +8633 17266 17266 +8634 17268 17268 +8635 17270 17270 +8636 17272 17272 +8637 17274 17274 +8638 17276 17276 +8639 17278 17278 +8640 17280 17280 +8641 17282 17282 +8642 17284 17284 +8643 17286 17286 +8644 17288 17288 +8645 17290 17290 +8646 17292 17292 +8647 17294 17294 +8648 17296 17296 +8649 17298 17298 +8650 17300 17300 +8651 17302 17302 +8652 17304 17304 +8653 17306 17306 +8654 17308 17308 +8655 17310 17310 +8656 17312 17312 +8657 17314 17314 +8658 17316 17316 +8659 17318 17318 +8660 17320 17320 +8661 17322 17322 +8662 17324 17324 +8663 17326 17326 +8664 17328 17328 +8665 17330 17330 +8666 17332 17332 +8667 17334 17334 +8668 17336 17336 +8669 17338 17338 +8670 17340 17340 +8671 17342 17342 +8672 17344 17344 +8673 17346 17346 +8674 17348 17348 +8675 17350 17350 +8676 17352 17352 +8677 17354 17354 +8678 17356 17356 +8679 17358 17358 +8680 17360 17360 +8681 17362 17362 +8682 17364 17364 +8683 17366 17366 +8684 17368 17368 +8685 17370 17370 +8686 17372 17372 +8687 17374 17374 +8688 17376 17376 +8689 17378 17378 +8690 17380 17380 +8691 17382 17382 +8692 17384 17384 +8693 17386 17386 +8694 17388 17388 +8695 17390 17390 +8696 17392 17392 +8697 17394 17394 +8698 17396 17396 +8699 17398 17398 +8700 17400 17400 +8701 17402 17402 +8702 17404 17404 +8703 17406 17406 +8704 17408 17408 +8705 17410 17410 +8706 17412 17412 +8707 17414 17414 +8708 17416 17416 +8709 17418 17418 +8710 17420 17420 +8711 17422 17422 +8712 17424 17424 +8713 17426 17426 +8714 17428 17428 +8715 17430 17430 +8716 17432 17432 +8717 17434 17434 +8718 17436 17436 +8719 17438 17438 +8720 17440 17440 +8721 17442 17442 +8722 17444 17444 +8723 17446 17446 +8724 17448 17448 +8725 17450 17450 +8726 17452 17452 +8727 17454 17454 +8728 17456 17456 +8729 17458 17458 +8730 17460 17460 +8731 17462 17462 +8732 17464 17464 +8733 17466 17466 +8734 17468 17468 +8735 17470 17470 +8736 17472 17472 +8737 17474 17474 +8738 17476 17476 +8739 17478 17478 +8740 17480 17480 +8741 17482 17482 +8742 17484 17484 +8743 17486 17486 +8744 17488 17488 +8745 17490 17490 +8746 17492 17492 +8747 17494 17494 +8748 17496 17496 +8749 17498 17498 +8750 17500 17500 +8751 17502 17502 +8752 17504 17504 +8753 17506 17506 +8754 17508 17508 +8755 17510 17510 +8756 17512 17512 +8757 17514 17514 +8758 17516 17516 +8759 17518 17518 +8760 17520 17520 +8761 17522 17522 +8762 17524 17524 +8763 17526 17526 +8764 17528 17528 +8765 17530 17530 +8766 17532 17532 +8767 17534 17534 +8768 17536 17536 +8769 17538 17538 +8770 17540 17540 +8771 17542 17542 +8772 17544 17544 +8773 17546 17546 +8774 17548 17548 +8775 17550 17550 +8776 17552 17552 +8777 17554 17554 +8778 17556 17556 +8779 17558 17558 +8780 17560 17560 +8781 17562 17562 +8782 17564 17564 +8783 17566 17566 +8784 17568 17568 +8785 17570 17570 +8786 17572 17572 +8787 17574 17574 +8788 17576 17576 +8789 17578 17578 +8790 17580 17580 +8791 17582 17582 +8792 17584 17584 +8793 17586 17586 +8794 17588 17588 +8795 17590 17590 +8796 17592 17592 +8797 17594 17594 +8798 17596 17596 +8799 17598 17598 +8800 17600 17600 +8801 17602 17602 +8802 17604 17604 +8803 17606 17606 +8804 17608 17608 +8805 17610 17610 +8806 17612 17612 +8807 17614 17614 +8808 17616 17616 +8809 17618 17618 +8810 17620 17620 +8811 17622 17622 +8812 17624 17624 +8813 17626 17626 +8814 17628 17628 +8815 17630 17630 +8816 17632 17632 +8817 17634 17634 +8818 17636 17636 +8819 17638 17638 +8820 17640 17640 +8821 17642 17642 +8822 17644 17644 +8823 17646 17646 +8824 17648 17648 +8825 17650 17650 +8826 17652 17652 +8827 17654 17654 +8828 17656 17656 +8829 17658 17658 +8830 17660 17660 +8831 17662 17662 +8832 17664 17664 +8833 17666 17666 +8834 17668 17668 +8835 17670 17670 +8836 17672 17672 +8837 17674 17674 +8838 17676 17676 +8839 17678 17678 +8840 17680 17680 +8841 17682 17682 +8842 17684 17684 +8843 17686 17686 +8844 17688 17688 +8845 17690 17690 +8846 17692 17692 +8847 17694 17694 +8848 17696 17696 +8849 17698 17698 +8850 17700 17700 +8851 17702 17702 +8852 17704 17704 +8853 17706 17706 +8854 17708 17708 +8855 17710 17710 +8856 17712 17712 +8857 17714 17714 +8858 17716 17716 +8859 17718 17718 +8860 17720 17720 +8861 17722 17722 +8862 17724 17724 +8863 17726 17726 +8864 17728 17728 +8865 17730 17730 +8866 17732 17732 +8867 17734 17734 +8868 17736 17736 +8869 17738 17738 +8870 17740 17740 +8871 17742 17742 +8872 17744 17744 +8873 17746 17746 +8874 17748 17748 +8875 17750 17750 +8876 17752 17752 +8877 17754 17754 +8878 17756 17756 +8879 17758 17758 +8880 17760 17760 +8881 17762 17762 +8882 17764 17764 +8883 17766 17766 +8884 17768 17768 +8885 17770 17770 +8886 17772 17772 +8887 17774 17774 +8888 17776 17776 +8889 17778 17778 +8890 17780 17780 +8891 17782 17782 +8892 17784 17784 +8893 17786 17786 +8894 17788 17788 +8895 17790 17790 +8896 17792 17792 +8897 17794 17794 +8898 17796 17796 +8899 17798 17798 +8900 17800 17800 +8901 17802 17802 +8902 17804 17804 +8903 17806 17806 +8904 17808 17808 +8905 17810 17810 +8906 17812 17812 +8907 17814 17814 +8908 17816 17816 +8909 17818 17818 +8910 17820 17820 +8911 17822 17822 +8912 17824 17824 +8913 17826 17826 +8914 17828 17828 +8915 17830 17830 +8916 17832 17832 +8917 17834 17834 +8918 17836 17836 +8919 17838 17838 +8920 17840 17840 +8921 17842 17842 +8922 17844 17844 +8923 17846 17846 +8924 17848 17848 +8925 17850 17850 +8926 17852 17852 +8927 17854 17854 +8928 17856 17856 +8929 17858 17858 +8930 17860 17860 +8931 17862 17862 +8932 17864 17864 +8933 17866 17866 +8934 17868 17868 +8935 17870 17870 +8936 17872 17872 +8937 17874 17874 +8938 17876 17876 +8939 17878 17878 +8940 17880 17880 +8941 17882 17882 +8942 17884 17884 +8943 17886 17886 +8944 17888 17888 +8945 17890 17890 +8946 17892 17892 +8947 17894 17894 +8948 17896 17896 +8949 17898 17898 +8950 17900 17900 +8951 17902 17902 +8952 17904 17904 +8953 17906 17906 +8954 17908 17908 +8955 17910 17910 +8956 17912 17912 +8957 17914 17914 +8958 17916 17916 +8959 17918 17918 +8960 17920 17920 +8961 17922 17922 +8962 17924 17924 +8963 17926 17926 +8964 17928 17928 +8965 17930 17930 +8966 17932 17932 +8967 17934 17934 +8968 17936 17936 +8969 17938 17938 +8970 17940 17940 +8971 17942 17942 +8972 17944 17944 +8973 17946 17946 +8974 17948 17948 +8975 17950 17950 +8976 17952 17952 +8977 17954 17954 +8978 17956 17956 +8979 17958 17958 +8980 17960 17960 +8981 17962 17962 +8982 17964 17964 +8983 17966 17966 +8984 17968 17968 +8985 17970 17970 +8986 17972 17972 +8987 17974 17974 +8988 17976 17976 +8989 17978 17978 +8990 17980 17980 +8991 17982 17982 +8992 17984 17984 +8993 17986 17986 +8994 17988 17988 +8995 17990 17990 +8996 17992 17992 +8997 17994 17994 +8998 17996 17996 +8999 17998 17998 +9000 18000 18000 +9001 18002 18002 +9002 18004 18004 +9003 18006 18006 +9004 18008 18008 +9005 18010 18010 +9006 18012 18012 +9007 18014 18014 +9008 18016 18016 +9009 18018 18018 +9010 18020 18020 +9011 18022 18022 +9012 18024 18024 +9013 18026 18026 +9014 18028 18028 +9015 18030 18030 +9016 18032 18032 +9017 18034 18034 +9018 18036 18036 +9019 18038 18038 +9020 18040 18040 +9021 18042 18042 +9022 18044 18044 +9023 18046 18046 +9024 18048 18048 +9025 18050 18050 +9026 18052 18052 +9027 18054 18054 +9028 18056 18056 +9029 18058 18058 +9030 18060 18060 +9031 18062 18062 +9032 18064 18064 +9033 18066 18066 +9034 18068 18068 +9035 18070 18070 +9036 18072 18072 +9037 18074 18074 +9038 18076 18076 +9039 18078 18078 +9040 18080 18080 +9041 18082 18082 +9042 18084 18084 +9043 18086 18086 +9044 18088 18088 +9045 18090 18090 +9046 18092 18092 +9047 18094 18094 +9048 18096 18096 +9049 18098 18098 +9050 18100 18100 +9051 18102 18102 +9052 18104 18104 +9053 18106 18106 +9054 18108 18108 +9055 18110 18110 +9056 18112 18112 +9057 18114 18114 +9058 18116 18116 +9059 18118 18118 +9060 18120 18120 +9061 18122 18122 +9062 18124 18124 +9063 18126 18126 +9064 18128 18128 +9065 18130 18130 +9066 18132 18132 +9067 18134 18134 +9068 18136 18136 +9069 18138 18138 +9070 18140 18140 +9071 18142 18142 +9072 18144 18144 +9073 18146 18146 +9074 18148 18148 +9075 18150 18150 +9076 18152 18152 +9077 18154 18154 +9078 18156 18156 +9079 18158 18158 +9080 18160 18160 +9081 18162 18162 +9082 18164 18164 +9083 18166 18166 +9084 18168 18168 +9085 18170 18170 +9086 18172 18172 +9087 18174 18174 +9088 18176 18176 +9089 18178 18178 +9090 18180 18180 +9091 18182 18182 +9092 18184 18184 +9093 18186 18186 +9094 18188 18188 +9095 18190 18190 +9096 18192 18192 +9097 18194 18194 +9098 18196 18196 +9099 18198 18198 +9100 18200 18200 +9101 18202 18202 +9102 18204 18204 +9103 18206 18206 +9104 18208 18208 +9105 18210 18210 +9106 18212 18212 +9107 18214 18214 +9108 18216 18216 +9109 18218 18218 +9110 18220 18220 +9111 18222 18222 +9112 18224 18224 +9113 18226 18226 +9114 18228 18228 +9115 18230 18230 +9116 18232 18232 +9117 18234 18234 +9118 18236 18236 +9119 18238 18238 +9120 18240 18240 +9121 18242 18242 +9122 18244 18244 +9123 18246 18246 +9124 18248 18248 +9125 18250 18250 +9126 18252 18252 +9127 18254 18254 +9128 18256 18256 +9129 18258 18258 +9130 18260 18260 +9131 18262 18262 +9132 18264 18264 +9133 18266 18266 +9134 18268 18268 +9135 18270 18270 +9136 18272 18272 +9137 18274 18274 +9138 18276 18276 +9139 18278 18278 +9140 18280 18280 +9141 18282 18282 +9142 18284 18284 +9143 18286 18286 +9144 18288 18288 +9145 18290 18290 +9146 18292 18292 +9147 18294 18294 +9148 18296 18296 +9149 18298 18298 +9150 18300 18300 +9151 18302 18302 +9152 18304 18304 +9153 18306 18306 +9154 18308 18308 +9155 18310 18310 +9156 18312 18312 +9157 18314 18314 +9158 18316 18316 +9159 18318 18318 +9160 18320 18320 +9161 18322 18322 +9162 18324 18324 +9163 18326 18326 +9164 18328 18328 +9165 18330 18330 +9166 18332 18332 +9167 18334 18334 +9168 18336 18336 +9169 18338 18338 +9170 18340 18340 +9171 18342 18342 +9172 18344 18344 +9173 18346 18346 +9174 18348 18348 +9175 18350 18350 +9176 18352 18352 +9177 18354 18354 +9178 18356 18356 +9179 18358 18358 +9180 18360 18360 +9181 18362 18362 +9182 18364 18364 +9183 18366 18366 +9184 18368 18368 +9185 18370 18370 +9186 18372 18372 +9187 18374 18374 +9188 18376 18376 +9189 18378 18378 +9190 18380 18380 +9191 18382 18382 +9192 18384 18384 +9193 18386 18386 +9194 18388 18388 +9195 18390 18390 +9196 18392 18392 +9197 18394 18394 +9198 18396 18396 +9199 18398 18398 +9200 18400 18400 +9201 18402 18402 +9202 18404 18404 +9203 18406 18406 +9204 18408 18408 +9205 18410 18410 +9206 18412 18412 +9207 18414 18414 +9208 18416 18416 +9209 18418 18418 +9210 18420 18420 +9211 18422 18422 +9212 18424 18424 +9213 18426 18426 +9214 18428 18428 +9215 18430 18430 +9216 18432 18432 +9217 18434 18434 +9218 18436 18436 +9219 18438 18438 +9220 18440 18440 +9221 18442 18442 +9222 18444 18444 +9223 18446 18446 +9224 18448 18448 +9225 18450 18450 +9226 18452 18452 +9227 18454 18454 +9228 18456 18456 +9229 18458 18458 +9230 18460 18460 +9231 18462 18462 +9232 18464 18464 +9233 18466 18466 +9234 18468 18468 +9235 18470 18470 +9236 18472 18472 +9237 18474 18474 +9238 18476 18476 +9239 18478 18478 +9240 18480 18480 +9241 18482 18482 +9242 18484 18484 +9243 18486 18486 +9244 18488 18488 +9245 18490 18490 +9246 18492 18492 +9247 18494 18494 +9248 18496 18496 +9249 18498 18498 +9250 18500 18500 +9251 18502 18502 +9252 18504 18504 +9253 18506 18506 +9254 18508 18508 +9255 18510 18510 +9256 18512 18512 +9257 18514 18514 +9258 18516 18516 +9259 18518 18518 +9260 18520 18520 +9261 18522 18522 +9262 18524 18524 +9263 18526 18526 +9264 18528 18528 +9265 18530 18530 +9266 18532 18532 +9267 18534 18534 +9268 18536 18536 +9269 18538 18538 +9270 18540 18540 +9271 18542 18542 +9272 18544 18544 +9273 18546 18546 +9274 18548 18548 +9275 18550 18550 +9276 18552 18552 +9277 18554 18554 +9278 18556 18556 +9279 18558 18558 +9280 18560 18560 +9281 18562 18562 +9282 18564 18564 +9283 18566 18566 +9284 18568 18568 +9285 18570 18570 +9286 18572 18572 +9287 18574 18574 +9288 18576 18576 +9289 18578 18578 +9290 18580 18580 +9291 18582 18582 +9292 18584 18584 +9293 18586 18586 +9294 18588 18588 +9295 18590 18590 +9296 18592 18592 +9297 18594 18594 +9298 18596 18596 +9299 18598 18598 +9300 18600 18600 +9301 18602 18602 +9302 18604 18604 +9303 18606 18606 +9304 18608 18608 +9305 18610 18610 +9306 18612 18612 +9307 18614 18614 +9308 18616 18616 +9309 18618 18618 +9310 18620 18620 +9311 18622 18622 +9312 18624 18624 +9313 18626 18626 +9314 18628 18628 +9315 18630 18630 +9316 18632 18632 +9317 18634 18634 +9318 18636 18636 +9319 18638 18638 +9320 18640 18640 +9321 18642 18642 +9322 18644 18644 +9323 18646 18646 +9324 18648 18648 +9325 18650 18650 +9326 18652 18652 +9327 18654 18654 +9328 18656 18656 +9329 18658 18658 +9330 18660 18660 +9331 18662 18662 +9332 18664 18664 +9333 18666 18666 +9334 18668 18668 +9335 18670 18670 +9336 18672 18672 +9337 18674 18674 +9338 18676 18676 +9339 18678 18678 +9340 18680 18680 +9341 18682 18682 +9342 18684 18684 +9343 18686 18686 +9344 18688 18688 +9345 18690 18690 +9346 18692 18692 +9347 18694 18694 +9348 18696 18696 +9349 18698 18698 +9350 18700 18700 +9351 18702 18702 +9352 18704 18704 +9353 18706 18706 +9354 18708 18708 +9355 18710 18710 +9356 18712 18712 +9357 18714 18714 +9358 18716 18716 +9359 18718 18718 +9360 18720 18720 +9361 18722 18722 +9362 18724 18724 +9363 18726 18726 +9364 18728 18728 +9365 18730 18730 +9366 18732 18732 +9367 18734 18734 +9368 18736 18736 +9369 18738 18738 +9370 18740 18740 +9371 18742 18742 +9372 18744 18744 +9373 18746 18746 +9374 18748 18748 +9375 18750 18750 +9376 18752 18752 +9377 18754 18754 +9378 18756 18756 +9379 18758 18758 +9380 18760 18760 +9381 18762 18762 +9382 18764 18764 +9383 18766 18766 +9384 18768 18768 +9385 18770 18770 +9386 18772 18772 +9387 18774 18774 +9388 18776 18776 +9389 18778 18778 +9390 18780 18780 +9391 18782 18782 +9392 18784 18784 +9393 18786 18786 +9394 18788 18788 +9395 18790 18790 +9396 18792 18792 +9397 18794 18794 +9398 18796 18796 +9399 18798 18798 +9400 18800 18800 +9401 18802 18802 +9402 18804 18804 +9403 18806 18806 +9404 18808 18808 +9405 18810 18810 +9406 18812 18812 +9407 18814 18814 +9408 18816 18816 +9409 18818 18818 +9410 18820 18820 +9411 18822 18822 +9412 18824 18824 +9413 18826 18826 +9414 18828 18828 +9415 18830 18830 +9416 18832 18832 +9417 18834 18834 +9418 18836 18836 +9419 18838 18838 +9420 18840 18840 +9421 18842 18842 +9422 18844 18844 +9423 18846 18846 +9424 18848 18848 +9425 18850 18850 +9426 18852 18852 +9427 18854 18854 +9428 18856 18856 +9429 18858 18858 +9430 18860 18860 +9431 18862 18862 +9432 18864 18864 +9433 18866 18866 +9434 18868 18868 +9435 18870 18870 +9436 18872 18872 +9437 18874 18874 +9438 18876 18876 +9439 18878 18878 +9440 18880 18880 +9441 18882 18882 +9442 18884 18884 +9443 18886 18886 +9444 18888 18888 +9445 18890 18890 +9446 18892 18892 +9447 18894 18894 +9448 18896 18896 +9449 18898 18898 +9450 18900 18900 +9451 18902 18902 +9452 18904 18904 +9453 18906 18906 +9454 18908 18908 +9455 18910 18910 +9456 18912 18912 +9457 18914 18914 +9458 18916 18916 +9459 18918 18918 +9460 18920 18920 +9461 18922 18922 +9462 18924 18924 +9463 18926 18926 +9464 18928 18928 +9465 18930 18930 +9466 18932 18932 +9467 18934 18934 +9468 18936 18936 +9469 18938 18938 +9470 18940 18940 +9471 18942 18942 +9472 18944 18944 +9473 18946 18946 +9474 18948 18948 +9475 18950 18950 +9476 18952 18952 +9477 18954 18954 +9478 18956 18956 +9479 18958 18958 +9480 18960 18960 +9481 18962 18962 +9482 18964 18964 +9483 18966 18966 +9484 18968 18968 +9485 18970 18970 +9486 18972 18972 +9487 18974 18974 +9488 18976 18976 +9489 18978 18978 +9490 18980 18980 +9491 18982 18982 +9492 18984 18984 +9493 18986 18986 +9494 18988 18988 +9495 18990 18990 +9496 18992 18992 +9497 18994 18994 +9498 18996 18996 +9499 18998 18998 +9500 19000 19000 +9501 19002 19002 +9502 19004 19004 +9503 19006 19006 +9504 19008 19008 +9505 19010 19010 +9506 19012 19012 +9507 19014 19014 +9508 19016 19016 +9509 19018 19018 +9510 19020 19020 +9511 19022 19022 +9512 19024 19024 +9513 19026 19026 +9514 19028 19028 +9515 19030 19030 +9516 19032 19032 +9517 19034 19034 +9518 19036 19036 +9519 19038 19038 +9520 19040 19040 +9521 19042 19042 +9522 19044 19044 +9523 19046 19046 +9524 19048 19048 +9525 19050 19050 +9526 19052 19052 +9527 19054 19054 +9528 19056 19056 +9529 19058 19058 +9530 19060 19060 +9531 19062 19062 +9532 19064 19064 +9533 19066 19066 +9534 19068 19068 +9535 19070 19070 +9536 19072 19072 +9537 19074 19074 +9538 19076 19076 +9539 19078 19078 +9540 19080 19080 +9541 19082 19082 +9542 19084 19084 +9543 19086 19086 +9544 19088 19088 +9545 19090 19090 +9546 19092 19092 +9547 19094 19094 +9548 19096 19096 +9549 19098 19098 +9550 19100 19100 +9551 19102 19102 +9552 19104 19104 +9553 19106 19106 +9554 19108 19108 +9555 19110 19110 +9556 19112 19112 +9557 19114 19114 +9558 19116 19116 +9559 19118 19118 +9560 19120 19120 +9561 19122 19122 +9562 19124 19124 +9563 19126 19126 +9564 19128 19128 +9565 19130 19130 +9566 19132 19132 +9567 19134 19134 +9568 19136 19136 +9569 19138 19138 +9570 19140 19140 +9571 19142 19142 +9572 19144 19144 +9573 19146 19146 +9574 19148 19148 +9575 19150 19150 +9576 19152 19152 +9577 19154 19154 +9578 19156 19156 +9579 19158 19158 +9580 19160 19160 +9581 19162 19162 +9582 19164 19164 +9583 19166 19166 +9584 19168 19168 +9585 19170 19170 +9586 19172 19172 +9587 19174 19174 +9588 19176 19176 +9589 19178 19178 +9590 19180 19180 +9591 19182 19182 +9592 19184 19184 +9593 19186 19186 +9594 19188 19188 +9595 19190 19190 +9596 19192 19192 +9597 19194 19194 +9598 19196 19196 +9599 19198 19198 +9600 19200 19200 +9601 19202 19202 +9602 19204 19204 +9603 19206 19206 +9604 19208 19208 +9605 19210 19210 +9606 19212 19212 +9607 19214 19214 +9608 19216 19216 +9609 19218 19218 +9610 19220 19220 +9611 19222 19222 +9612 19224 19224 +9613 19226 19226 +9614 19228 19228 +9615 19230 19230 +9616 19232 19232 +9617 19234 19234 +9618 19236 19236 +9619 19238 19238 +9620 19240 19240 +9621 19242 19242 +9622 19244 19244 +9623 19246 19246 +9624 19248 19248 +9625 19250 19250 +9626 19252 19252 +9627 19254 19254 +9628 19256 19256 +9629 19258 19258 +9630 19260 19260 +9631 19262 19262 +9632 19264 19264 +9633 19266 19266 +9634 19268 19268 +9635 19270 19270 +9636 19272 19272 +9637 19274 19274 +9638 19276 19276 +9639 19278 19278 +9640 19280 19280 +9641 19282 19282 +9642 19284 19284 +9643 19286 19286 +9644 19288 19288 +9645 19290 19290 +9646 19292 19292 +9647 19294 19294 +9648 19296 19296 +9649 19298 19298 +9650 19300 19300 +9651 19302 19302 +9652 19304 19304 +9653 19306 19306 +9654 19308 19308 +9655 19310 19310 +9656 19312 19312 +9657 19314 19314 +9658 19316 19316 +9659 19318 19318 +9660 19320 19320 +9661 19322 19322 +9662 19324 19324 +9663 19326 19326 +9664 19328 19328 +9665 19330 19330 +9666 19332 19332 +9667 19334 19334 +9668 19336 19336 +9669 19338 19338 +9670 19340 19340 +9671 19342 19342 +9672 19344 19344 +9673 19346 19346 +9674 19348 19348 +9675 19350 19350 +9676 19352 19352 +9677 19354 19354 +9678 19356 19356 +9679 19358 19358 +9680 19360 19360 +9681 19362 19362 +9682 19364 19364 +9683 19366 19366 +9684 19368 19368 +9685 19370 19370 +9686 19372 19372 +9687 19374 19374 +9688 19376 19376 +9689 19378 19378 +9690 19380 19380 +9691 19382 19382 +9692 19384 19384 +9693 19386 19386 +9694 19388 19388 +9695 19390 19390 +9696 19392 19392 +9697 19394 19394 +9698 19396 19396 +9699 19398 19398 +9700 19400 19400 +9701 19402 19402 +9702 19404 19404 +9703 19406 19406 +9704 19408 19408 +9705 19410 19410 +9706 19412 19412 +9707 19414 19414 +9708 19416 19416 +9709 19418 19418 +9710 19420 19420 +9711 19422 19422 +9712 19424 19424 +9713 19426 19426 +9714 19428 19428 +9715 19430 19430 +9716 19432 19432 +9717 19434 19434 +9718 19436 19436 +9719 19438 19438 +9720 19440 19440 +9721 19442 19442 +9722 19444 19444 +9723 19446 19446 +9724 19448 19448 +9725 19450 19450 +9726 19452 19452 +9727 19454 19454 +9728 19456 19456 +9729 19458 19458 +9730 19460 19460 +9731 19462 19462 +9732 19464 19464 +9733 19466 19466 +9734 19468 19468 +9735 19470 19470 +9736 19472 19472 +9737 19474 19474 +9738 19476 19476 +9739 19478 19478 +9740 19480 19480 +9741 19482 19482 +9742 19484 19484 +9743 19486 19486 +9744 19488 19488 +9745 19490 19490 +9746 19492 19492 +9747 19494 19494 +9748 19496 19496 +9749 19498 19498 +9750 19500 19500 +9751 19502 19502 +9752 19504 19504 +9753 19506 19506 +9754 19508 19508 +9755 19510 19510 +9756 19512 19512 +9757 19514 19514 +9758 19516 19516 +9759 19518 19518 +9760 19520 19520 +9761 19522 19522 +9762 19524 19524 +9763 19526 19526 +9764 19528 19528 +9765 19530 19530 +9766 19532 19532 +9767 19534 19534 +9768 19536 19536 +9769 19538 19538 +9770 19540 19540 +9771 19542 19542 +9772 19544 19544 +9773 19546 19546 +9774 19548 19548 +9775 19550 19550 +9776 19552 19552 +9777 19554 19554 +9778 19556 19556 +9779 19558 19558 +9780 19560 19560 +9781 19562 19562 +9782 19564 19564 +9783 19566 19566 +9784 19568 19568 +9785 19570 19570 +9786 19572 19572 +9787 19574 19574 +9788 19576 19576 +9789 19578 19578 +9790 19580 19580 +9791 19582 19582 +9792 19584 19584 +9793 19586 19586 +9794 19588 19588 +9795 19590 19590 +9796 19592 19592 +9797 19594 19594 +9798 19596 19596 +9799 19598 19598 +9800 19600 19600 +9801 19602 19602 +9802 19604 19604 +9803 19606 19606 +9804 19608 19608 +9805 19610 19610 +9806 19612 19612 +9807 19614 19614 +9808 19616 19616 +9809 19618 19618 +9810 19620 19620 +9811 19622 19622 +9812 19624 19624 +9813 19626 19626 +9814 19628 19628 +9815 19630 19630 +9816 19632 19632 +9817 19634 19634 +9818 19636 19636 +9819 19638 19638 +9820 19640 19640 +9821 19642 19642 +9822 19644 19644 +9823 19646 19646 +9824 19648 19648 +9825 19650 19650 +9826 19652 19652 +9827 19654 19654 +9828 19656 19656 +9829 19658 19658 +9830 19660 19660 +9831 19662 19662 +9832 19664 19664 +9833 19666 19666 +9834 19668 19668 +9835 19670 19670 +9836 19672 19672 +9837 19674 19674 +9838 19676 19676 +9839 19678 19678 +9840 19680 19680 +9841 19682 19682 +9842 19684 19684 +9843 19686 19686 +9844 19688 19688 +9845 19690 19690 +9846 19692 19692 +9847 19694 19694 +9848 19696 19696 +9849 19698 19698 +9850 19700 19700 +9851 19702 19702 +9852 19704 19704 +9853 19706 19706 +9854 19708 19708 +9855 19710 19710 +9856 19712 19712 +9857 19714 19714 +9858 19716 19716 +9859 19718 19718 +9860 19720 19720 +9861 19722 19722 +9862 19724 19724 +9863 19726 19726 +9864 19728 19728 +9865 19730 19730 +9866 19732 19732 +9867 19734 19734 +9868 19736 19736 +9869 19738 19738 +9870 19740 19740 +9871 19742 19742 +9872 19744 19744 +9873 19746 19746 +9874 19748 19748 +9875 19750 19750 +9876 19752 19752 +9877 19754 19754 +9878 19756 19756 +9879 19758 19758 +9880 19760 19760 +9881 19762 19762 +9882 19764 19764 +9883 19766 19766 +9884 19768 19768 +9885 19770 19770 +9886 19772 19772 +9887 19774 19774 +9888 19776 19776 +9889 19778 19778 +9890 19780 19780 +9891 19782 19782 +9892 19784 19784 +9893 19786 19786 +9894 19788 19788 +9895 19790 19790 +9896 19792 19792 +9897 19794 19794 +9898 19796 19796 +9899 19798 19798 +9900 19800 19800 +9901 19802 19802 +9902 19804 19804 +9903 19806 19806 +9904 19808 19808 +9905 19810 19810 +9906 19812 19812 +9907 19814 19814 +9908 19816 19816 +9909 19818 19818 +9910 19820 19820 +9911 19822 19822 +9912 19824 19824 +9913 19826 19826 +9914 19828 19828 +9915 19830 19830 +9916 19832 19832 +9917 19834 19834 +9918 19836 19836 +9919 19838 19838 +9920 19840 19840 +9921 19842 19842 +9922 19844 19844 +9923 19846 19846 +9924 19848 19848 +9925 19850 19850 +9926 19852 19852 +9927 19854 19854 +9928 19856 19856 +9929 19858 19858 +9930 19860 19860 +9931 19862 19862 +9932 19864 19864 +9933 19866 19866 +9934 19868 19868 +9935 19870 19870 +9936 19872 19872 +9937 19874 19874 +9938 19876 19876 +9939 19878 19878 +9940 19880 19880 +9941 19882 19882 +9942 19884 19884 +9943 19886 19886 +9944 19888 19888 +9945 19890 19890 +9946 19892 19892 +9947 19894 19894 +9948 19896 19896 +9949 19898 19898 +9950 19900 19900 +9951 19902 19902 +9952 19904 19904 +9953 19906 19906 +9954 19908 19908 +9955 19910 19910 +9956 19912 19912 +9957 19914 19914 +9958 19916 19916 +9959 19918 19918 +9960 19920 19920 +9961 19922 19922 +9962 19924 19924 +9963 19926 19926 +9964 19928 19928 +9965 19930 19930 +9966 19932 19932 +9967 19934 19934 +9968 19936 19936 +9969 19938 19938 +9970 19940 19940 +9971 19942 19942 +9972 19944 19944 +9973 19946 19946 +9974 19948 19948 +9975 19950 19950 +9976 19952 19952 +9977 19954 19954 +9978 19956 19956 +9979 19958 19958 +9980 19960 19960 +9981 19962 19962 +9982 19964 19964 +9983 19966 19966 +9984 19968 19968 +9985 19970 19970 +9986 19972 19972 +9987 19974 19974 +9988 19976 19976 +9989 19978 19978 +9990 19980 19980 +9991 19982 19982 +9992 19984 19984 +9993 19986 19986 +9994 19988 19988 +9995 19990 19990 +9996 19992 19992 +9997 19994 19994 +9998 19996 19996 +9999 19998 19998 +10000 20000 20000 + diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.out new file mode 100644 index 0000000000..bb14012688 --- /dev/null +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.out @@ -0,0 +1,5 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_default -- +1 doris 200 123 1 +2 doris2 400 223 1 + diff --git a/regression-test/data/unique_with_mow_p0/partial_update/update.orc b/regression-test/data/unique_with_mow_p0/partial_update/update.orc new file mode 100644 index 0000000000..8a9f97ccb3 Binary files /dev/null and b/regression-test/data/unique_with_mow_p0/partial_update/update.orc differ diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update.groovy new file mode 100644 index 0000000000..908e18e312 --- /dev/null +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update.groovy @@ -0,0 +1,61 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_primary_key_partial_update", "p0") { + def tableName = "test_primary_key_partial_update" + + // create table + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE ${tableName} ( + `id` int(11) NOT NULL COMMENT "用户 ID", + `name` varchar(65533) NOT NULL COMMENT "用户姓名", + `score` int(11) NOT NULL COMMENT "用户得分", + `test` int(11) NULL COMMENT "null test", + `dft` int(11) DEFAULT "4321") + UNIQUE KEY(`id`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 + PROPERTIES("replication_num" = "1", "enable_unique_key_merge_on_write" = "true") + """ + // insert 2 lines + sql """ + insert into ${tableName} values(2, "doris2", 2000, 223, 1) + """ + + sql """ + insert into ${tableName} values(1, "doris", 1000, 123, 1) + """ + + // skip 3 lines and file have 4 lines + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'format', 'csv' + set 'partial_columns', 'true' + set 'columns', 'id,score' + + file 'basic.csv' + time 10000 // limit inflight 10s + } + qt_select_default """ + select * from ${tableName} + """ + + // drop drop + sql """ DROP TABLE IF EXISTS ${tableName} """ +} diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_default_value.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_default_value.groovy new file mode 100644 index 0000000000..61f4386642 --- /dev/null +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_default_value.groovy @@ -0,0 +1,61 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_primary_key_partial_update_default_value", "p0") { + def tableName = "test_primary_key_partial_update_default_value" + + // create table + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE ${tableName} ( + `id` int(11) NOT NULL COMMENT "用户 ID", + `name` varchar(65533) NOT NULL DEFAULT "yixiu" COMMENT "用户姓名", + `score` int(11) NOT NULL COMMENT "用户得分", + `test` int(11) NULL DEFAULT "4321" COMMENT "test", + `dft` int(11) DEFAULT "4321") + UNIQUE KEY(`id`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 + PROPERTIES("replication_num" = "1", "enable_unique_key_merge_on_write" = "true") + """ + // insert 2 lines + sql """ + insert into ${tableName} values(2, "doris2", 2000, 223, 1) + """ + + sql """ + insert into ${tableName} values(1, "doris", 1000, 123, 1) + """ + + // stream load with key not exit before + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'format', 'csv' + set 'partial_columns', 'true' + set 'columns', 'id,score' + + file 'default.csv' + time 10000 // limit inflight 10s + } + qt_select_default """ + select * from ${tableName} + """ + + // drop drop + sql """ DROP TABLE IF EXISTS ${tableName} """ +} diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_orc.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_orc.groovy new file mode 100644 index 0000000000..c76ae1395d --- /dev/null +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_orc.groovy @@ -0,0 +1,60 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_primary_key_partial_update_orc", "p0") { + def tableName = "test_primary_key_partial_update_orc" + + // create table + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE ${tableName} ( + `col_0` int(11) NOT NULL COMMENT "col_0", + `col_1` varchar(65533) NOT NULL COMMENT "col_1", + `col_2` varchar(65533) NOT NULL COMMENT "col_2", + `col_3` varchar(65533) NULL COMMENT "col_3", + `col_4` varchar(65533) DEFAULT "4321") + UNIQUE KEY(`col_0`) DISTRIBUTED BY HASH(`col_0`) BUCKETS 1 + PROPERTIES("replication_num" = "1", "enable_unique_key_merge_on_write" = "true") + """ + + streamLoad { + table "${tableName}" + + set 'format', 'orc' + + file 'basic.orc' + time 10000 // limit inflight 10s + } + + streamLoad { + table "${tableName}" + + set 'format', 'orc' + set 'partial_columns', 'true' + set 'columns', 'col_0,col_1' + + file 'update.orc' + time 10000 // limit inflight 10s + } + qt_select_0 """ + select * from ${tableName}; + """ + + // drop drop + sql """ DROP TABLE IF EXISTS ${tableName} """ +} diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_publish.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_publish.groovy new file mode 100644 index 0000000000..a3fee49b96 --- /dev/null +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_publish.groovy @@ -0,0 +1,70 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_primary_key_partial_update_publish", "p0") { + def tableName = "test_primary_key_partial_update_publish" + + // create table + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE ${tableName} ( + `id` int(11) NOT NULL COMMENT "用户 ID", + `name` varchar(65533) NOT NULL COMMENT "用户姓名", + `score` int(11) NOT NULL COMMENT "用户得分") + UNIQUE KEY(`id`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 + PROPERTIES("replication_num" = "1", "enable_unique_key_merge_on_write" = "true") + """ + + streamLoad { + table "${tableName}" + set 'column_separator', ',' + set 'format', 'csv' + + file '10000.csv' + time 10000 // limit inflight 10s + } + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'format', 'csv' + set 'partial_columns', 'true' + set 'columns', 'id,name' + + file '10000_update_1.csv' + time 10000 // limit inflight 10s + } + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'format', 'csv' + set 'partial_columns', 'true' + set 'columns', 'id,score' + + file '10000_update_1.csv' + time 10000 // limit inflight 10s + } + + qt_select_default """ + select * from ${tableName} + """ + + // drop drop + // sql """ DROP TABLE IF EXISTS ${tableName} """ +} diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.groovy new file mode 100644 index 0000000000..efca78f453 --- /dev/null +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_with_row_column.groovy @@ -0,0 +1,62 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_primary_key_partial_update_with_row_column", "p0") { + def tableName = "test_primary_key_partial_update_with_row_column" + + // create table + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE ${tableName} ( + `id` int(11) NOT NULL COMMENT "用户 ID", + `name` varchar(65533) NOT NULL COMMENT "用户姓名", + `score` int(11) NOT NULL COMMENT "用户得分", + `test` int(11) NULL COMMENT "null test", + `dft` int(11) DEFAULT "4321") + UNIQUE KEY(`id`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 + PROPERTIES("replication_num" = "1", "enable_unique_key_merge_on_write" = "true", + "store_row_column"="true") + """ + // insert 2 lines + sql """ + insert into ${tableName} values(2, "doris2", 2000, 223, 1) + """ + + sql """ + insert into ${tableName} values(1, "doris", 1000, 123, 1) + """ + + // skip 3 lines and file have 4 lines + streamLoad { + table "${tableName}" + + set 'column_separator', ',' + set 'format', 'csv' + set 'partial_columns', 'true' + set 'columns', 'id,score' + + file 'basic.csv' + time 10000 // limit inflight 10s + } + qt_select_default """ + select * from ${tableName} + """ + + // drop drop + sql """ DROP TABLE IF EXISTS ${tableName} """ +}