diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinTaskDispatcher.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinTaskDispatcher.java index 4938696..45947d4 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinTaskDispatcher.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinTaskDispatcher.java @@ -99,6 +99,8 @@ */ public class CommonJoinTaskDispatcher extends AbstractJoinTaskDispatcher implements Dispatcher { + HashMap aliasToSize = null; + public CommonJoinTaskDispatcher(PhysicalContext context) { super(context); } @@ -121,7 +123,7 @@ private int getPosition(MapredWork work, Operator joinOp * A task and its child task has been converted from join to mapjoin. * See if the two tasks can be merged. */ - private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task) { + private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task, Configuration conf) { MapRedTask childTask = (MapRedTask) task.getChildTasks().get(0); MapredWork work = task.getWork(); MapredLocalWork localWork = work.getMapLocalWork(); @@ -151,9 +153,6 @@ private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task) { String workDir = fop.getConf().getDirName(); Map> childPathToAliases = childWork.getPathToAliases(); - if (childPathToAliases.size() > 1) { - return; - } // The filesink writes to a different directory if (!childPathToAliases.keySet().iterator().next().equals(workDir)) { @@ -167,8 +166,19 @@ private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task) { } // Merge the trees - if (childWork.getAliasToWork().size() > 1) { - return; + long mapJoinSize = HiveConf.getLongVar(conf, + HiveConf.ConfVars.HIVECONVERTJOINNOCONDITIONALTASKTHRESHOLD); + long localTableTotalSize = 0; + for (String alias : localWork.getAliasToWork().keySet()) { + localTableTotalSize += aliasToSize.get(alias); + } + + for (String alias : childLocalWork.getAliasToWork().keySet()) { + long size = aliasToSize.get(alias); + localTableTotalSize += size; + if (localTableTotalSize > mapJoinSize) { + return; + } } Operator childAliasOp = @@ -259,13 +269,15 @@ private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task) { Byte[] order = joinDesc.getTagOrder(); int numAliases = order.length; - HashMap aliasToSize; + if (aliasToSize == null) { + aliasToSize = new HashMap(); + } try { ObjectPair, Long> aliasToSizePair = getAliasToSize(context, currWork, pathToAliases); long aliasTotalKnownInputSize = aliasToSizePair.getSecond(); - aliasToSize = aliasToSizePair.getFirst(); + aliasToSize.putAll(aliasToSizePair.getFirst()); HashSet bigTableCandidates = MapJoinProcessor.getBigTableCandidates(joinDesc .getConds()); @@ -339,7 +351,7 @@ private void mergeMapJoinTaskWithChildMapJoinTask(MapRedTask task) { // followed by a mapjoin can be performed in a single MR job. if ((newTask.getChildTasks() != null) && (newTask.getChildTasks().size() == 1) && (newTask.getChildTasks().get(0).getTaskTag() == Task.MAPJOIN_ONLY_NOBACKUP)) { - mergeMapJoinTaskWithChildMapJoinTask(newTask); + mergeMapJoinTaskWithChildMapJoinTask(newTask, conf); } return newTask; diff --git ql/src/test/queries/clientpositive/join32_lessSize.q ql/src/test/queries/clientpositive/join32_lessSize.q new file mode 100644 index 0000000..4d59cdf --- /dev/null +++ ql/src/test/queries/clientpositive/join32_lessSize.q @@ -0,0 +1,49 @@ +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; +CREATE TABLE dest_j2(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; + +set hive.auto.convert.join=true; +set hive.auto.convert.join.noconditionaltask=true; +set hive.auto.convert.join.noconditionaltask.size=6000; + +-- Since the inputs are small, it should be automatically converted to mapjoin + +EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); + +INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); + +select * from dest_j1 x order by x.key; + +EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); + +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); + +select * from dest_j2 x order by x.key; +select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key); + +EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); + +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); + +select * from dest_j2 x order by x.key; +select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key); diff --git ql/src/test/results/clientpositive/join32_lessSize.q.out ql/src/test/results/clientpositive/join32_lessSize.q.out new file mode 100644 index 0000000..2236c3f --- /dev/null +++ ql/src/test/results/clientpositive/join32_lessSize.q.out @@ -0,0 +1,3759 @@ +PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@dest_j1 +PREHOOK: query: CREATE TABLE dest_j2(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE dest_j2(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@dest_j2 +PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin + +EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +POSTHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin + +EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +ABSTRACT SYNTAX TREE: + (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_JOIN (TOK_TABREF (TOK_TABNAME src1) x) (TOK_TABREF (TOK_TABNAME src) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key))) (TOK_TABREF (TOK_TABNAME srcpart) z) (and (and (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL z) value)) (= (. (TOK_TABLE_OR_COL z) ds) '2008-04-08')) (= (. (TOK_TABLE_OR_COL z) hr) 11)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_j1))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL z) value)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL y) value))))) + +STAGE DEPENDENCIES: + Stage-8 is a root stage + Stage-6 depends on stages: Stage-8 + Stage-7 depends on stages: Stage-6 + Stage-5 depends on stages: Stage-7 + Stage-0 depends on stages: Stage-5 + Stage-2 depends on stages: Stage-0 + +STAGE PLANS: + Stage: Stage-8 + Map Reduce Local Work + Alias -> Map Local Tables: + x + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + x + TableScan + alias: x + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {key} {value} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + Position of Big Table: 1 + + Stage: Stage-6 + Map Reduce + Alias -> Map Operator Tree: + y + TableScan + alias: y + GatherStats: false + Map Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 {key} {value} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + outputColumnNames: _col0, _col1, _col5 + Position of Big Table: 1 + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1,_col5 + columns.types string,string,string + escape.delim \ + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: src + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src + name: default.src +#### A masked pattern was here #### + Partition + base file name: src1 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src1 + name: default.src1 + Truncated Path -> Alias: + /src [y] + + Stage: Stage-7 + Map Reduce Local Work + Alias -> Map Local Tables: + z + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + z + TableScan + alias: z + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {_col5} {_col0} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + Position of Big Table: 0 + + Stage: Stage-5 + Map Reduce + Alias -> Map Operator Tree: + $INTNAME + Map Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 {_col5} {_col0} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + outputColumnNames: _col1, _col4, _col9 + Position of Big Table: 0 + Select Operator + expressions: + expr: _col4 + type: string + expr: _col9 + type: string + expr: _col1 + type: string + outputColumnNames: _col0, _col1, _col2 + File Output Operator + compressed: false + GlobalTableId: 1 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j1 + serialization.ddl struct dest_j1 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j1 + TotalFiles: 1 + GatherStats: true + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: -mr-10002 + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1,_col5 + columns.types string,string,string + escape.delim \ + + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1,_col5 + columns.types string,string,string + escape.delim \ +#### A masked pattern was here #### + Partition + base file name: hr=11 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + partition values: + ds 2008-04-08 + hr 11 + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 1 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 4 + numPartitions 4 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 23248 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.srcpart + name: default.srcpart + Truncated Path -> Alias: +#### A masked pattern was here #### + + Stage: Stage-0 + Move Operator + tables: + replace: true +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j1 + serialization.ddl struct dest_j1 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j1 +#### A masked pattern was here #### + + Stage: Stage-2 + Stats-Aggr Operator +#### A masked pattern was here #### + + +PREHOOK: query: INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +PREHOOK: Input: default@srcpart +PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: Output: default@dest_j1 +POSTHOOK: query: INSERT OVERWRITE TABLE dest_j1 +SELECT x.key, z.value, y.value +FROM src1 x JOIN src y ON (x.key = y.key) +JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +POSTHOOK: Input: default@srcpart +POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +POSTHOOK: Output: default@dest_j1 +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: type: QUERY +PREHOOK: Input: default@dest_j1 +#### A masked pattern was here #### +POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dest_j1 +#### A masked pattern was here #### +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +150 val_150 val_150 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +PREHOOK: query: EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +ABSTRACT SYNTAX TREE: + (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src1) x) (TOK_TABREF (TOK_TABNAME src) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) value))))) res) (TOK_TABREF (TOK_TABNAME srcpart) z) (and (and (= (. (TOK_TABLE_OR_COL res) value) (. (TOK_TABLE_OR_COL z) value)) (= (. (TOK_TABLE_OR_COL z) ds) '2008-04-08')) (= (. (TOK_TABLE_OR_COL z) hr) 11)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_j2))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL res) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL z) value)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL res) value))))) + +STAGE DEPENDENCIES: + Stage-9 is a root stage + Stage-7 depends on stages: Stage-9 + Stage-8 depends on stages: Stage-7 + Stage-6 depends on stages: Stage-8 + Stage-0 depends on stages: Stage-6 + Stage-3 depends on stages: Stage-0 + +STAGE PLANS: + Stage: Stage-9 + Map Reduce Local Work + Alias -> Map Local Tables: + res:x + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + res:x + TableScan + alias: x + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {key} {value} + 1 + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + Position of Big Table: 1 + + Stage: Stage-7 + Map Reduce + Alias -> Map Operator Tree: + res:y + TableScan + alias: y + GatherStats: false + Map Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 {key} {value} + 1 + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + outputColumnNames: _col0, _col1 + Position of Big Table: 1 + Select Operator + expressions: + expr: _col0 + type: string + expr: _col1 + type: string + outputColumnNames: _col0, _col1 + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: src + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src + name: default.src +#### A masked pattern was here #### + Partition + base file name: src1 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src1 + name: default.src1 + Truncated Path -> Alias: + /src [res:y] + + Stage: Stage-8 + Map Reduce Local Work + Alias -> Map Local Tables: + z + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + z + TableScan + alias: z + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {_col0} {_col1} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + Position of Big Table: 0 + + Stage: Stage-6 + Map Reduce + Alias -> Map Operator Tree: + $INTNAME + Map Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 {_col0} {_col1} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + outputColumnNames: _col0, _col1, _col3 + Position of Big Table: 0 + Select Operator + expressions: + expr: _col0 + type: string + expr: _col3 + type: string + expr: _col1 + type: string + outputColumnNames: _col0, _col1, _col2 + File Output Operator + compressed: false + GlobalTableId: 1 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j2 + serialization.ddl struct dest_j2 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j2 + TotalFiles: 1 + GatherStats: true + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: -mr-10002 + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ + + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ +#### A masked pattern was here #### + Partition + base file name: hr=11 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + partition values: + ds 2008-04-08 + hr 11 + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 1 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 4 + numPartitions 4 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 23248 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.srcpart + name: default.srcpart + Truncated Path -> Alias: +#### A masked pattern was here #### + + Stage: Stage-0 + Move Operator + tables: + replace: true +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j2 + serialization.ddl struct dest_j2 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j2 +#### A masked pattern was here #### + + Stage: Stage-3 + Stats-Aggr Operator +#### A masked pattern was here #### + + +PREHOOK: query: INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +PREHOOK: Input: default@srcpart +PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: Output: default@dest_j2 +POSTHOOK: query: INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +POSTHOOK: Input: default@srcpart +POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +POSTHOOK: Output: default@dest_j2 +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: select * from dest_j2 x order by x.key +PREHOOK: type: QUERY +PREHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: query: select * from dest_j2 x order by x.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +150 val_150 val_150 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +PREHOOK: query: select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key) +PREHOOK: type: QUERY +PREHOOK: Input: default@dest_j1 +PREHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: query: select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dest_j1 +POSTHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +150 val_150 val_150 150 val_150 val_150 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +66 val_66 val_66 66 val_66 val_66 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +PREHOOK: query: EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN EXTENDED +INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +ABSTRACT SYNTAX TREE: + (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) x) (TOK_TABREF (TOK_TABNAME src) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) value))))) res) (TOK_TABREF (TOK_TABNAME srcpart) z) (and (and (= (. (TOK_TABLE_OR_COL res) value) (. (TOK_TABLE_OR_COL z) value)) (= (. (TOK_TABLE_OR_COL z) ds) '2008-04-08')) (= (. (TOK_TABLE_OR_COL z) hr) 11)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_j2))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL res) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL z) value)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL res) value))))) + +STAGE DEPENDENCIES: + Stage-9 is a root stage + Stage-7 depends on stages: Stage-9 + Stage-8 depends on stages: Stage-7 + Stage-6 depends on stages: Stage-8 + Stage-0 depends on stages: Stage-6 + Stage-3 depends on stages: Stage-0 + +STAGE PLANS: + Stage: Stage-9 + Map Reduce Local Work + Alias -> Map Local Tables: + res:x + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + res:x + TableScan + alias: x + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {key} {value} + 1 + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + Position of Big Table: 1 + + Stage: Stage-7 + Map Reduce + Alias -> Map Operator Tree: + res:y + TableScan + alias: y + GatherStats: false + Map Join Operator + condition map: + Left Outer Join0 to 1 + condition expressions: + 0 {key} {value} + 1 + handleSkewJoin: false + keys: + 0 [Column[key]] + 1 [Column[key]] + outputColumnNames: _col0, _col1 + Position of Big Table: 1 + Select Operator + expressions: + expr: _col0 + type: string + expr: _col1 + type: string + outputColumnNames: _col0, _col1 + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: src + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src + name: default.src +#### A masked pattern was here #### + Partition + base file name: src1 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.src1 + numFiles 1 + numPartitions 0 + numRows 0 + rawDataSize 0 + serialization.ddl struct src1 { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 216 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.src1 + name: default.src1 + Truncated Path -> Alias: + /src [res:y] + + Stage: Stage-8 + Map Reduce Local Work + Alias -> Map Local Tables: + z + Fetch Operator + limit: -1 + Alias -> Map Local Operator Tree: + z + TableScan + alias: z + GatherStats: false + HashTable Sink Operator + condition expressions: + 0 {_col0} {_col1} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + Position of Big Table: 0 + + Stage: Stage-6 + Map Reduce + Alias -> Map Operator Tree: + $INTNAME + Map Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 {_col0} {_col1} + 1 {value} + handleSkewJoin: false + keys: + 0 [Column[_col1]] + 1 [Column[value]] + outputColumnNames: _col0, _col1, _col3 + Position of Big Table: 0 + Select Operator + expressions: + expr: _col0 + type: string + expr: _col3 + type: string + expr: _col1 + type: string + outputColumnNames: _col0, _col1, _col2 + File Output Operator + compressed: false + GlobalTableId: 1 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j2 + numFiles 1 + numPartitions 0 + numRows 85 + rawDataSize 1600 + serialization.ddl struct dest_j2 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 1685 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j2 + TotalFiles: 1 + GatherStats: true + MultiFileSpray: false + Local Work: + Map Reduce Local Work + Needs Tagging: true + Path -> Alias: +#### A masked pattern was here #### + Path -> Partition: +#### A masked pattern was here #### + Partition + base file name: -mr-10002 + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ + + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1 + columns.types string,string + escape.delim \ +#### A masked pattern was here #### + Partition + base file name: hr=11 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + partition values: + ds 2008-04-08 + hr 11 + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 1 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 5812 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value + columns.types string:string +#### A masked pattern was here #### + name default.srcpart + numFiles 4 + numPartitions 4 + numRows 0 + partition_columns ds/hr + rawDataSize 0 + serialization.ddl struct srcpart { string key, string value} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 23248 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.srcpart + name: default.srcpart + Truncated Path -> Alias: +#### A masked pattern was here #### + + Stage: Stage-0 + Move Operator + tables: + replace: true +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + bucket_count -1 + columns key,value,val2 + columns.types string:string:string +#### A masked pattern was here #### + name default.dest_j2 + numFiles 1 + numPartitions 0 + numRows 85 + rawDataSize 1600 + serialization.ddl struct dest_j2 { string key, string value, string val2} + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + totalSize 1685 +#### A masked pattern was here #### + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.dest_j2 +#### A masked pattern was here #### + + Stage: Stage-3 + Stats-Aggr Operator +#### A masked pattern was here #### + + +PREHOOK: query: INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Input: default@src1 +PREHOOK: Input: default@srcpart +PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: Output: default@dest_j2 +POSTHOOK: query: INSERT OVERWRITE TABLE dest_j2 +SELECT res.key, z.value, res.value +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res +JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Input: default@src1 +POSTHOOK: Input: default@srcpart +POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +POSTHOOK: Output: default@dest_j2 +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: select * from dest_j2 x order by x.key +PREHOOK: type: QUERY +PREHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: query: select * from dest_j2 x order by x.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +150 val_150 val_150 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +213 val_213 val_213 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +238 val_238 val_238 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +255 val_255 val_255 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +273 val_273 val_273 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +278 val_278 val_278 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +311 val_311 val_311 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +401 val_401 val_401 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +98 val_98 val_98 +PREHOOK: query: select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key) +PREHOOK: type: QUERY +PREHOOK: Input: default@dest_j1 +PREHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: query: select * from dest_j1 JOIN dest_j2 ON (dest_j1.key = dest_j2.key) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dest_j1 +POSTHOOK: Input: default@dest_j2 +#### A masked pattern was here #### +POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +150 val_150 val_150 150 val_150 val_150 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +66 val_66 val_66 66 val_66 val_66 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +213 val_213 val_213 213 val_213 val_213 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +278 val_278 val_278 278 val_278 val_278 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +311 val_311 val_311 311 val_311 val_311 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +98 val_98 val_98 98 val_98 val_98 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +238 val_238 val_238 238 val_238 val_238 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +255 val_255 val_255 255 val_255 val_255 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +406 val_406 val_406 406 val_406 val_406 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +401 val_401 val_401 401 val_401 val_401 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +146 val_146 val_146 146 val_146 val_146 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273 +273 val_273 val_273 273 val_273 val_273