Skip to content

Instantly share code, notes, and snippets.

@amirziai
Created October 11, 2015 01:53
Show Gist options
  • Save amirziai/0e4d13ec974bd5049504 to your computer and use it in GitHub Desktop.
Save amirziai/0e4d13ec974bd5049504 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#DATSCI W261, October 2015<br>JRW, HW 5.3-5.4 Walkthrough\n",
"##Description\n",
"These exercises are relatively formidable tasks with some unexpected details.\n",
"So for those of you that would like to continue with this work, here is a walkthrough\n",
"on how to accomplish the task."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###Let's first take a look at mrjob.conf\n",
"We can use a pretty basic configuration for all of this,\n",
"but without multiple instances, we would have to wait a long time\n",
"for things to finish.\n",
"####cat ~/.mrjob.conf\n",
"runners:<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;emr:<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws_access_key_id: XXXX<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws_secret_access_key: XXXX<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num_ec2_core_instances: 4<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ec2_core_instance_type: m1.medium<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ec2_master_instance_type: m1.medium<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strict_protocols: true<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;hadoop:<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strict_protocols: true<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;inline:<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strict_protocols: true<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;local:<Br>\n",
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strict_protocols: true"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##HW 5.3: Do some EDA with the Google 5-grams dataset\n",
"###HW 5.3.1: MRJob class to count all words inside of the 5-Grams\n",
"This is a basic word count job, where we just total the counts \n",
"of all words inside of all 5-grams. The only real bit of finesse going on here\n",
"is with the specification:\n",
"\n",
" from mrjob.protocol import RawValueProtocol\n",
"...\n",
"\n",
" OUTPUT_PROTOCOL = RawValueProtocol\n",
" \n",
"that takes the output protocol to a raw, string value,\n",
"so that our output will look nice for the next job\n",
"(with no quotes or unnecessary keys or tab characters)."
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Writing count5gramWords.py\n"
]
}
],
"source": [
"%%writefile count5gramWords.py\n",
"#!/usr/bin/python\n",
"from mrjob.job import MRJob\n",
"from mrjob.protocol import RawValueProtocol\n",
"from mrjob.step import MRStep\n",
"import re\n",
"\n",
"class count5gramWords(MRJob):\n",
" \n",
" OUTPUT_PROTOCOL = RawValueProtocol\n",
"\n",
" def steps(self):\n",
" return [MRStep(mapper = self.mapper, combiner = self.combiner, reducer = self.reducer)]\n",
" \n",
" def mapper(self, _, line):\n",
" counts = {}\n",
" line.strip()\n",
" [ngram,count,pages,books] = re.split(\"\\t\",line)\n",
" count = int(count)\n",
" words = re.split(\" \",ngram)\n",
" for word in words:\n",
" counts.setdefault(word,0)\n",
" counts[word] += count\n",
" for word in counts.keys():\n",
" yield word,counts[word]\n",
"\n",
" def combiner(self, word, counts):\n",
" yield word,sum(counts)\n",
"\n",
" def reducer(self, word, counts):\n",
" yield None,word+\"\\t\"+str(sum(counts))\n",
"\n",
"if __name__ == '__main__':\n",
" count5gramWords.run()"
]
},
{
"cell_type": "code",
"execution_count": 186,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"!chmod +x count5gramWords.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Test the code locally"
]
},
{
"cell_type": "code",
"execution_count": 187,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/step-0-mapper_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/step-0-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/step-0-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/step-0-reducer_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"Moving /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/step-0-reducer_part-00000 -> /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/output/part-00000\n",
"Streaming final output from /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241/output\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224112.448241\n"
]
}
],
"source": [
"!./count5gramWords.py gbooks_filtered_sample.txt > count5GramWords_output.txt"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A\t74206\r\n",
"A's\t165\r\n",
"AAR\t99\r\n",
"AB\t43\r\n",
"ABBREVIATIONS\t106\r\n",
"ABC\t44\r\n",
"ABD\t177\r\n",
"ABM\t59\r\n",
"ABOUT\t88\r\n",
"ACKNOWLEDGEMENTS\t70\r\n",
"ACKNOWLEDGMENTS\t79\r\n",
"ACP\t110\r\n",
"ACS\t49\r\n",
"ACT\t73\r\n",
"ADRENAL\t43\r\n",
"ADVENTURES\t156\r\n",
"AG\t111\r\n",
"AH\t52\r\n",
"AI\t104\r\n",
"AJA\t106\r\n",
"AL\t97\r\n",
"ALEXANDER\t199\r\n",
"ALL\t68\r\n",
"ALSO\t88\r\n",
"ALWAYS\t46\r\n"
]
}
],
"source": [
"!head -25 count5GramWords_output.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Run the job on AWS over the full dataset\n",
"Note: With the jobconf as above (4 m1.medium instances) this word count job takes about 1 hour. Here, we don't perform any sorting, and since we have specified multiple instances while not restricted the number of reduce tasks,\n",
"there will be multiple output parts in our output directory: \n",
"\n",
" s3://ucb-mids-mls-jakewilliams/count5gramWords/output/"
]
},
{
"cell_type": "code",
"execution_count": 189,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"using existing scratch bucket mrjob-070799b65f5ef217\n",
"using s3://mrjob-070799b65f5ef217/tmp/ as our scratch dir on S3\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224737.259694\n",
"writing master bootstrap script to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224737.259694/b.py\n",
"Copying non-input files into s3://mrjob-070799b65f5ef217/tmp/count5gramWords.jakerylandwilliams.20151004.224737.259694/files/\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Creating Elastic MapReduce job flow\n",
"Job flow created with ID: j-3BVTJYDNIGURO\n",
"Created new job flow j-3BVTJYDNIGURO\n",
"Job launched 34.4s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 70.8s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 105.7s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 141.8s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 175.6s ago, status STARTING: Configuring cluster software\n",
"Job launched 218.5s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 251.8s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 284.3s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 322.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 360.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 427.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 459.5s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 494.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 530.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 563.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 597.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 630.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 663.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 697.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 729.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 764.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 797.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 832.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 866.5s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 899.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 932.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 967.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1002.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1035.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1068.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1101.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1136.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1169.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1203.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1236.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1270.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1303.5s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1335.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1370.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1402.9s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1434.9s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1472.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1505.9s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1537.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1573.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1606.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1647.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1687.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1721.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1753.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1785.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1818.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1869.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 1907.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2160.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2194.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2230.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2262.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2295.9s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2329.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2363.3s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2397.9s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2431.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2465.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2499.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2531.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2564.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2596.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2630.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2665.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2701.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2734.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2769.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2805.8s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2839.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2874.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2910.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2944.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 2981.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3017.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3049.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3084.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3119.1s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3152.7s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3186.4s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3219.6s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3256.0s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job launched 3291.2s ago, status RUNNING: Running step (count5gramWords.jakerylandwilliams.20151004.224737.259694: Step 1 of 1)\n",
"Job completed.\n",
"Running time was 2976.0s (not counting time spent waiting for the EC2 instances)\n",
"ec2_key_pair_file not specified, going to S3\n",
"Fetching counters from S3...\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Counters from step 1:\n",
" File Input Format Counters :\n",
" Bytes Read: 2156069116\n",
" File Output Format Counters :\n",
" Bytes Written: 4565214\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 292638761\n",
" FILE_BYTES_WRITTEN: 323420467\n",
" HDFS_BYTES_READ: 23640\n",
" S3_BYTES_READ: 2156069116\n",
" S3_BYTES_WRITTEN: 4565214\n",
" Job Counters :\n",
" Launched map tasks: 193\n",
" Launched reduce tasks: 8\n",
" Rack-local map tasks: 191\n",
" SLOTS_MILLIS_MAPS: 22327381\n",
" SLOTS_MILLIS_REDUCES: 10667887\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 7671350\n",
" Combine input records: 303033876\n",
" Combine output records: 22092304\n",
" Map input bytes: 2156069116\n",
" Map input records: 58682266\n",
" Map output bytes: 3097484290\n",
" Map output materialized bytes: 98214630\n",
" Map output records: 288863615\n",
" Physical memory (bytes) snapshot: 79887122432\n",
" Reduce input groups: 343019\n",
" Reduce input records: 7922043\n",
" Reduce output records: 343019\n",
" Reduce shuffle bytes: 98214630\n",
" SPLIT_RAW_BYTES: 23640\n",
" Spilled Records: 30014347\n",
" Total committed heap usage (bytes): 86748852224\n",
" Virtual memory (bytes) snapshot: 186824384512\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/count5gramWords.jakerylandwilliams.20151004.224737.259694\n",
"Removing all files in s3://mrjob-070799b65f5ef217/tmp/count5gramWords.jakerylandwilliams.20151004.224737.259694/\n",
"Removing all files in s3://mrjob-070799b65f5ef217/tmp/logs/j-3BVTJYDNIGURO/\n",
"Terminating job flow: j-3BVTJYDNIGURO\n"
]
}
],
"source": [
"!./count5gramWords.py s3://filtered-5grams/ -r emr \\\n",
" --output-dir=s3://ucb-mids-mls-jakewilliams/count5gramWords/output \\\n",
" --no-output "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###MRJob class to collect and sort all count output from the above\n",
"Here, we'll just pull in the output from the above and pass it through a mapper that is\n",
"*almost* the identity mapper, with the distinction that we pass the counts of words as the keys.\n",
"This coupled with a reverse numeric sort and single reduce task specification\n",
"(in the def jobconf(): method)\n",
"will ensure that the ouput appears sorted (frequent to infrequent) and in one file.\n",
"Once again, since we are storing our output on disk, and not streaming back to a runner,\n",
"we use the RawValueProtocol to ensure a nice clean output."
]
},
{
"cell_type": "code",
"execution_count": 195,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting collectAndSortWordCounts.py\n"
]
}
],
"source": [
"%%writefile collectAndSortWordCounts.py\n",
"#!/usr/bin/python\n",
"from mrjob.job import MRJob\n",
"from mrjob.protocol import RawValueProtocol\n",
"from mrjob.step import MRStep\n",
"import re\n",
"\n",
"class collectAndSortWordCounts(MRJob):\n",
" \n",
" OUTPUT_PROTOCOL = RawValueProtocol\n",
" \n",
" def jobconf(self):\n",
" orig_jobconf = super(collectAndSortWordCounts, self).jobconf() \n",
" custom_jobconf = {\n",
" 'mapred.output.key.comparator.class': 'org.apache.hadoop.mapred.lib.KeyFieldBasedComparator',\n",
" 'mapred.text.key.comparator.options': '-k1rn',\n",
" 'mapred.reduce.tasks': '1',\n",
" }\n",
" combined_jobconf = orig_jobconf\n",
" combined_jobconf.update(custom_jobconf)\n",
" self.jobconf = combined_jobconf\n",
" return combined_jobconf\n",
" \n",
" def steps(self):\n",
" return [MRStep(mapper = self.mapper, reducer = self.reducer)]\n",
" \n",
" def mapper(self, _, line):\n",
" line.strip()\n",
" [word,count] = re.split(\"\\t\",line)\n",
" count = int(count)\n",
" yield count,word\n",
"\n",
" def reducer(self, count, words):\n",
" for word in words:\n",
" yield None,word+\"\\t\"+str(count)\n",
"\n",
"if __name__ == '__main__':\n",
" collectAndSortWordCounts.run()"
]
},
{
"cell_type": "code",
"execution_count": 196,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"!chmod +x collectAndSortWordCounts.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Test the code locally on a sample of output"
]
},
{
"cell_type": "code",
"execution_count": 197,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/step-0-mapper_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/step-0-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/step-0-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/step-0-reducer_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"Moving /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/step-0-reducer_part-00000 -> /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/output/part-00000\n",
"Streaming final output from /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617/output\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012308.694617\n"
]
}
],
"source": [
"!./collectAndSortWordCounts.py count5GramWords_output.txt > collectAndSortWordCounts_output.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Examine the output\n",
"Note: Since we are running the job locally, our sort will not work!"
]
},
{
"cell_type": "code",
"execution_count": 198,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Afterwards\t100\r\n",
"Boke\t100\r\n",
"Copper\t100\r\n",
"Cry\t100\r\n",
"Devonian\t100\r\n",
"Diet\t100\r\n",
"Elyot's\t100\r\n",
"Everyone\t100\r\n",
"Hymn\t100\r\n",
"Kensington\t100\r\n",
"Portuguese\t100\r\n",
"Thy\t100\r\n",
"Traditional\t100\r\n",
"ascended\t100\r\n",
"awake\t100\r\n",
"background\t100\r\n",
"bestrode\t100\r\n",
"commencement\t100\r\n",
"dressing\t100\r\n",
"echocardiographic\t100\r\n",
"fish\t100\r\n",
"latest\t100\r\n",
"limitations\t100\r\n",
"observe\t100\r\n",
"pursuits\t100\r\n"
]
}
],
"source": [
"!head -25 collectAndSortWordCounts_output.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Run the job with AWS EMR\n",
"Note: With the above configuration in ~/.mrjob.conf, this job takes about 10 minutes (the input data is relatively small)."
]
},
{
"cell_type": "code",
"execution_count": 199,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"using existing scratch bucket mrjob-070799b65f5ef217\n",
"using s3://mrjob-070799b65f5ef217/tmp/ as our scratch dir on S3\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994\n",
"writing master bootstrap script to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994/b.py\n",
"Copying non-input files into s3://mrjob-070799b65f5ef217/tmp/collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994/files/\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Creating Elastic MapReduce job flow\n",
"Job flow created with ID: j-1Q4HNGNWNKQXH\n",
"Created new job flow j-1Q4HNGNWNKQXH\n",
"Job launched 30.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 61.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 92.8s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 124.4s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 155.3s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 186.3s ago, status STARTING: Configuring cluster software\n",
"Job launched 217.2s ago, status STARTING: Configuring cluster software\n",
"Job launched 248.3s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 279.2s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job launched 310.2s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job launched 341.1s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job launched 372.1s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job launched 403.2s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job launched 434.1s ago, status RUNNING: Running step (collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994: Step 1 of 1)\n",
"Job completed.\n",
"Running time was 131.0s (not counting time spent waiting for the EC2 instances)\n",
"ec2_key_pair_file not specified, going to S3\n",
"Fetching counters from S3...\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Counters from step 1:\n",
" File Input Format Counters :\n",
" Bytes Read: 4693524\n",
" File Output Format Counters :\n",
" Bytes Written: 4565214\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 3956185\n",
" FILE_BYTES_WRITTEN: 8912517\n",
" HDFS_BYTES_READ: 2457\n",
" S3_BYTES_READ: 4693524\n",
" S3_BYTES_WRITTEN: 4565214\n",
" Job Counters :\n",
" Launched map tasks: 21\n",
" Launched reduce tasks: 1\n",
" Rack-local map tasks: 21\n",
" SLOTS_MILLIS_MAPS: 223959\n",
" SLOTS_MILLIS_REDUCES: 40335\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 34140\n",
" Combine input records: 0\n",
" Combine output records: 0\n",
" Map input bytes: 4565214\n",
" Map input records: 343019\n",
" Map output bytes: 5251252\n",
" Map output materialized bytes: 4366242\n",
" Map output records: 343019\n",
" Physical memory (bytes) snapshot: 6939570176\n",
" Reduce input groups: 41362\n",
" Reduce input records: 343019\n",
" Reduce output records: 343019\n",
" Reduce shuffle bytes: 4366242\n",
" SPLIT_RAW_BYTES: 2457\n",
" Spilled Records: 686038\n",
" Total committed heap usage (bytes): 6610681856\n",
" Virtual memory (bytes) snapshot: 20835831808\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994\n",
"Removing all files in s3://mrjob-070799b65f5ef217/tmp/collectAndSortWordCounts.jakerylandwilliams.20151005.012342.262994/\n",
"Removing all files in s3://mrjob-070799b65f5ef217/tmp/logs/j-1Q4HNGNWNKQXH/\n",
"Terminating job flow: j-1Q4HNGNWNKQXH\n"
]
}
],
"source": [
"!./collectAndSortWordCounts.py s3://ucb-mids-mls-jakewilliams/count5gramWords/output/ -r emr \\\n",
" --output-dir=s3://ucb-mids-mls-jakewilliams/collectAndSortWordCounts/output \\\n",
" --no-output "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Download word count data and check on output\n",
"Here we can see the totalled word counts are quite large, and that the top of the list\n",
"is filled with stop words:\n",
"\n",
" http://www.ranks.nl/stopwords\n",
"\n",
"If we wanted to proceed with a more nuanced approach \n",
"we could perhaps convert all to lower-case and merge,\n",
"and then consult the (referenced) \n",
"list of stop words and take those top 10,000 off the list. "
]
},
{
"cell_type": "code",
"execution_count": 200,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"download: s3://ucb-mids-mls-jakewilliams/collectAndSortWordCounts/output/part-00000 to ./sortedWordCounts.txt\r\n"
]
}
],
"source": [
"!aws s3 cp s3://ucb-mids-mls-jakewilliams/collectAndSortWordCounts/output/part-00000 ./sortedWordCounts.txt"
]
},
{
"cell_type": "code",
"execution_count": 201,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"the\t5375699242\r\n",
"of\t3691308874\r\n",
"to\t2221164346\r\n",
"in\t1387638591\r\n",
"a\t1342195425\r\n",
"and\t1135779433\r\n",
"that\t798553959\r\n",
"is\t756296656\r\n",
"be\t688053106\r\n",
"as\t481373389\r\n",
"was\t469941121\r\n",
"for\t454742998\r\n",
"it\t426786974\r\n",
"not\t398897768\r\n",
"with\t372888370\r\n",
"on\t351850709\r\n",
"by\t344380381\r\n",
"have\t316710855\r\n",
"he\t288925226\r\n",
"which\t281528146\r\n",
"his\t263185718\r\n",
"at\t260409177\r\n",
"had\t256489364\r\n",
"I\t255205575\r\n",
"are\t247721045\r\n"
]
}
],
"source": [
"!head -25 sortedWordCounts.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###Plot our data"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x11af5e6d0>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nSlhES5JUABo3bszEiRPZaaedmDhxIr/97W/TXru5Az1kSJ7vIb017iutbbCIliSpQLRo0YIHHngA\ngKuvvprXXnst2UC5wq60tsKZaEmSCszll1/O7373O1q2bMkbb7xB48aNk46UO5yVLgjOREuSpP9w\n66230rZtW+bMmcMll1zifHQm7EqrlJ1oSZIK0MyZM+nYsSNr1qzh8ccfp3v37klHyj12pfOWnWhJ\nkrRVbdu25bbbbgPg5z//OfPmzcto/ZQpBXiT4ZbsShc0i2hJkgpU3759OfXUU1myZAnnnnsu69at\nSzpSbnIHj4LkOIckSQVsyZIldOjQgfnz5zNo0KCy7rS206JFcOml8MQT33794ovhV7+C73wnmVzK\nSDrjHBbRkiQVuGnTpnHEEUdQUlLCn//8Z0477bSkI+U2Z6VznjPRkiSpUp07d+bmm28G4Kc//Smf\nffZZwolynLPSBcFOtCRJoqSkhFNPPZW//e1vHH300Tz33HM0aNAg6Vi5z650TrITLUmS0lKnTh0e\neOAB9t57b/75z39y9dVXJx0pP9iVzlt2oiVJUpnp06dz5JFHsnHjRp555hlOPvnkpCPlD7vSOcNO\ntCRJykinTp248cYbAejduzdffvll2muHDEl9aRvsSucVi2hJkvQtV199NUcddRQLFiygd+/eGR0L\nPmeOh7BUyn2l84LjHJIk6T988sknfO9732PZsmWMHj2ayy67LK11mwvooqIaDJdP3Fc6K7lPtCRJ\n2m6PP/44PXr0oF69ekydOpWOHTsmHSk/OSuddZyJliRJ2+2ss87isssuY+PGjZx99tksXbo06Uj5\nyVnpnGQnWpIkbdPatWs56qijeP311ykqKuLJJ58khAobdKoKu9JZwU60JEmqkoYNG/L444/TpEkT\npkyZwn333Zf22ilTvMkwY3alc4ZFtCRJqlDz5s256667ABgwYACzZ89Oe+0tt0D37jWVLI+5g0fW\ns4iWJEmV6tmzJ+effz6rV6+me/furFmzptI1m3fo+PzzGg6Xr+xKZzVnoiVJUlpWrlzJ4Ycfzpw5\nc+jfvz+/+93vKl3jlnfVxFnpWuUWd5IkqVq9/vrr/OAHP2DDhg08//zzHH/88UlHKizuK10rvLFQ\nkiRVq8MOO4zrrrsOgAsvvJDly5envdYbDauBs9JZwyJakiRlZPDgwXTs2JFPP/2UgQMHpr1u2rTU\n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\nzvFxss0AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11af1a150>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib import pyplot as plot\n",
"import re,math\n",
"%matplotlib inline\n",
"\n",
"ranks = []\n",
"counts = []\n",
"stopWords = {}\n",
"stopRanks = []\n",
"stopCounts = []\n",
"\n",
"f = open(\"stopWords.txt\",\"r\")\n",
"for word in f:\n",
" word = word.strip()\n",
" stopWords[word] = 1\n",
"\n",
"rank = 1\n",
"f = open(\"sortedWordCounts.txt\",\"r\")\n",
"for line in f:\n",
" line.strip()\n",
" word,count = re.split(\"\\t\",line)\n",
" count = int(count)\n",
" if word in stopWords.keys():\n",
" stopRanks.append(math.log(rank,10))\n",
" stopCounts.append(math.log(count,10)+0.25)\n",
" ranks.append(math.log(rank,10))\n",
" counts.append(math.log(count,10))\n",
" rank += 1\n",
" \n",
"rnge = [min(ranks),max(ranks)]\n",
"b = max(counts)\n",
"m = -1\n",
"lin = [rnge[0]*m + b,rnge[1]*m + b]\n",
"\n",
"plot.figure(figsize=(12,12))\n",
"\n",
"plot.subplot(1,1,1)\n",
"plot.plot(rnge,lin,'red',lw=3)\n",
"plot.plot(ranks,counts,'black',lw=2)\n",
"plot.plot(stopRanks,stopCounts,'.',ms=1.25)\n",
"plot.xlabel('Log10 rank',fontsize=15)\n",
"plot.ylabel('Log10 count',fontsize=15)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looking above, in log-log space, we compare a plot of our word-frequency distribution to Zipf's law for frequencies (counts) and ranks:\n",
"\n",
"$$\\large f\\propto r^{-1}$$\n",
"\n",
"This 'law' of ranks is considered by some to be universal \n",
"for natural language, and in log-log space appears as a straight line\n",
"of slope -1. Comparing Zipf's law (red) to our empirical word\n",
"frequency distribution from the Google 5-grams,\n",
"we can see that the two diverge quite significantly\n",
"after about three orders of magnitude (1,000 words),\n",
"with the empirical word-frequency distribution dropping off\n",
"to what appears like another power-law of steeper slope.\n",
"Other important observations include the fact that we\n",
"do not see the the full tail of our word-frequency distribution,\n",
"which consists of the plateaux legomena, finite-size effects:\n",
"\n",
" https://en.wikipedia.org/wiki/Hapax_legomenon\n",
" \n",
"This is because the construction of the Google 5-grams corpus\n",
"was predicated on an Apriori-style threshold of minimum count,\n",
"set at 40 for 5-grams in the initial dataset.\n",
"\n",
"In addition to all of this, we present the counts of the stopwords \n",
"(blue, offset for clarity). Although these words appear across the\n",
"full range of ranks, we can visually inspect to see that their\n",
"density diminishes at the larger ranks toward the tail."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##HW 5.4: Synonym detection\n",
"####Making the top 10,000 words broadcast file\n",
"\n",
"Next up we will take this output and keep the top 10,000 words to broadcast to the mappers\n",
"of the next stripe-producing job. To accomplish this we can use the following \n",
"sequence of command line utilities:\n",
"\n",
" head -10000 sortedWordCounts.txt | perl -pe 's/^(.*?)\\t(.*?)\\n/$1\\n/' > top10kwords.txt\n",
" \n",
"which we have run outside of this notebook. In particular, head takes the top 10,000 lines,\n",
"and perl strips off the column of counts, leaving only the words so as to minimize the overhead of\n",
"beaming up and loading in the broadcast file."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###HW 5.4.1: MRJob class to produce a co-occurrence count matrix (stripes) for the top 10,000 most frequently appearing words\n",
"This is the first truly major task of this assignment, where we have to produce co-occurrence stripes\n",
"for our top 10,000 words. The design is relatively straightforward, but as our first major task,\n",
"this will take some time to run on AWS when applied to the full dataset.\n",
"Using the setup showing in ~/.mrjob.conf above (4 m1.medium instances),\n",
"this job takes about 4 hours to run."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%%writefile stripeCoOccurrences.py\n",
"#!/usr/bin/python\n",
"from mrjob.job import MRJob\n",
"from mrjob.protocol import RawValueProtocol\n",
"from mrjob.step import MRStep\n",
"import re\n",
"from itertools import combinations\n",
"\n",
"class stripeCoOccurrences(MRJob):\n",
" \n",
" OUTPUT_PROTOCOL = RawValueProtocol\n",
" topOcurringWordsDictionary = []\n",
"\n",
" def steps(self):\n",
" return [MRStep(\n",
" mapper_init = self.mapper_init,\n",
" mapper = self.mapper, \n",
" combiner = self.combiner, \n",
" reducer_init = self.reducer_init, \n",
" reducer = self.reducer\n",
" )]\n",
" \n",
" ## pull in the top occurring words dictionary here for the mapper\n",
" def mapper_init(self):\n",
" f = open(\"top10kWords.txt\",\"r\")\n",
" for word in f:\n",
" word = word.strip()\n",
" self.topOcurringWordsDictionary.append(word)\n",
" \n",
" ## the mapper here will take each 5-gram, turn it into a list of words,\n",
" ## and find all 2-set combinations for which each individual word appears\n",
" ## in the top occurring words dictionary. If such a pair makes the list,\n",
" ## we will take the count of the 5-gram and add it to stripes for both\n",
" ## (word1,word2) and (word2,word1) pairs.\n",
" def mapper(self, _, line):\n",
" counts = {}\n",
" line.strip()\n",
" [ngram,count,pages,books] = re.split(\"\\t\",line)\n",
" count = int(count)\n",
" words = re.split(\" \",ngram)\n",
" combs = list(combinations(words,2))\n",
" for combination in combs:\n",
" word1,word2 = combination\n",
" if word1 in self.topOcurringWordsDictionary and word2 in self.topOcurringWordsDictionary:\n",
" counts.setdefault(word1,{})\n",
" counts[word1].setdefault(word2,0)\n",
" counts[word1][word2] += count\n",
" counts.setdefault(word2,{})\n",
" counts[word2].setdefault(word1,0)\n",
" counts[word2][word1] += count\n",
" for word in counts.keys():\n",
" yield word,counts[word]\n",
" \n",
" ## The stripes output by the mapper are really only going on\n",
" ## at the record level (indiviual lines/5-grams), so we are \n",
" ## not really utilizing the full power of stripes there.\n",
" ## However, we are able to make full use of the pattern,\n",
" ## partially aggregating here in the combiner, and then totally\n",
" ## below in the reducer.\n",
" def combiner(self, word, values):\n",
" counts = {}\n",
" for stripe in values:\n",
" for coword in stripe.keys():\n",
" counts.setdefault(coword,0)\n",
" counts[coword] += stripe[coword]\n",
" yield word,counts\n",
" \n",
" def reducer_init(self):\n",
" f = open(\"top10kWords.txt\",\"r\")\n",
" for word in f:\n",
" word = word.strip()\n",
" self.topOcurringWordsDictionary.append(word)\n",
" \n",
" ## Like the combiner we're merging our intermediate stripe outputs,\n",
" ## and will here produce completely aggregated stripes, that we will output.\n",
" ## Abstractly, this looks like:\n",
" ## \n",
" ## stripeA = {coword1: cocountA1, coword2: cocountA2, ...}\n",
" ## stripeB = {coword1: cocountB1, coword2: cocountB2, ...}\n",
" ## ...\n",
" ## += mergeStripe = {coword1: cocountA1+cocountB1+..., coword2: cocountA2+cocountB2..., ...}\n",
" \n",
" def reducer(self, word, values):\n",
" counts = {}\n",
" for stripe in values:\n",
" for coword in stripe.keys():\n",
" counts.setdefault(coword,0)\n",
" counts[coword] += stripe[coword]\n",
" for coword in self.topOcurringWordsDictionary:\n",
" counts.setdefault(coword,0)\n",
" countList = list(str(counts[coword]) for coword in sorted(self.topOcurringWordsDictionary))\n",
" countStr = \",\".join(countList)\n",
" yield None,word+\",\"+countStr\n",
"\n",
"if __name__ == '__main__':\n",
" stripeCoOccurrences.run()"
]
},
{
"cell_type": "code",
"execution_count": 225,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"!chmod +x stripeCoOccurrences.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Test the code local on sample data."
]
},
{
"cell_type": "code",
"execution_count": 226,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/step-0-mapper_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/step-0-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/step-0-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/step-0-reducer_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"Moving /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/step-0-reducer_part-00000 -> /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/output/part-00000\n",
"Streaming final output from /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043/output\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.064611.512043\n"
]
}
],
"source": [
"!./stripeCoOccurrences.py gbooks_filtered_sample.txt \\\n",
"--file top10kWords.txt \\\n",
"> stripeCoOccurrences_output.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Check on output.\n",
"Note: This is just the output of our local test (200 words, from a small test file),\n",
"but we can see already that the dense representation (explicitly showing every number)\n",
"is wasting a lot of space with all of those zeros. While this representation \n",
"is convenient for what we will have to develop in the next part, it will not scale well\n",
"if we wanted to correlate arbitrary number of words!"
]
},
{
"cell_type": "code",
"execution_count": 227,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A,180,180,0,0,0,0,0,0,0,0,70,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,162,0,0,0,0,0,0,336,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,76,0,0,0,0,0,0,111,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1426,1426,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,249,249,0,0,0,0,0,0,0,0,0,0,0,0,500,500,0,0,0,0,0,0,0,0,0,0,0,0,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,62,62,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,59,59,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,742,742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,419,419,0,0,62,62,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,539,0,0,0,0,272,272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,84,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1337,1337,0,0,0,0,66,66,194,194,0,0,0,0,0,0,0,0,58,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,1041,1041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,191,0,0,0,0,0,0,0,0,0,0,607,607,0,0,6513,6513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,281,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,350,0,0,0,0,0,0,0,0,0,0,0,0,215,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,85,85,0,0,0,0,355,355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,99,131,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,887,887,0,0,0,0,223,223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,371,371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,131,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,134,0,0,0,0,0,0,0,0,0,0,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,82,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,84,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,111,111,0,0,194,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,452,452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,0,0,0,0,58,58,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,725,725,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,552,552,0,0,401,401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,176,0,0,178,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,131,0,0,277,277,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,452,452,0,0,0,0,0,0,281,281,41,41,0,0,0,0,0,0,0,0,0,0,222,222,0,0,172,172,0,0,0,0,82,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,0,0,0,0,0,0,0,0,0,4685,4685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,482,482,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,551,551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,772,772,0,0,0,0,0,0,0,0,0,0,50,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,0,0,580,580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,634,634,0,0,165,165,0,0,0,0,154,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3988,3988,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,0,0,0,0,0,0,404,404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,217,0,0,582,582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,320,320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,153,126,126,162,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2634,2634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,206,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,81,81,0,0,0,0,212,212,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,784,784,0,0,348,348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,194,194,0,0,57,57,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,556,556,0,0,0,0,0,0,0,0,403,403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,661,661,0,0,0,0,0,0,0,0,65,65,0,0,65,65,0,0,0,0,0,0,0,0,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,116,0,0,0,0,151,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,88,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,175,0,0,0,0,0,0,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,41,41,0,0,68,68,0,0,0,0,0,0,0,0,116,116,0,0,964,964,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,147,147,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,879,879,0,0,0,0,0,0,0,0,0,0,0,0,58,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,314,314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,282,282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,404,404,0,0,0,0,0,0,70,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,92,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,206,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,116,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,90,90,58,58,0,0,0,0,0,0,0,0,0,0,0,0,192,192,0,0,0,0,0,0,68,68,74,74,0,0,0,0,0,0,0,0,58,58,0,0,0,0,123,123,0,0,0,0,0,0,0,0,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,162,0,0,46,46,0,0,0,0,327,327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,219,0,0,210,210,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,123,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,1174,1174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,722,722,0,0,0,0,0,0,0,0,137,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,80,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,276,276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,588,588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,384,384,0,0,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,234,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,264,264,0,0,0,0,0,0,0,0,55,55,0,0,0,0,406,406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,111,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,483,483,0,0,0,0,140,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,355,355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,73,0,0,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,317,317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,90,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,169,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,379,379,0,0,0,0,0,0,3345,3345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,112,0,0,0,0,0,0,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,192,0,0,0,0,0,0,0,0,0,0,0,0,58,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1291,1291,0,0,0,0,0,0,0,0,0,0,69,69,0,0,0,0,169,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,488,488,50,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,74,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2407,2407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,117,117,0,0,4722,4722,76,76,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,72,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2735,2735,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,223,0,0,580,580,0,0,0,0,0,0,0,0,0,0,0,0,1530,1530,104,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,703,703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,70,0,0,0,0,0,0,0,0,0,0,196,196,0,0,0,0,0,0,0,0,408,408,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,59,0,0,6149,6149,169,169,0,0,0,0,0,0,0,0,593,593,0,0,0,0,0,0,0,0,57,57,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1035,1035,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,181,0,0,0,0,0,0,397,397,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,0,0,0,0,531,531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,0,0,71,71,0,0,0,0,0,0,0,0,0,0,822,822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,600,600,0,0,0,0,0,0,0,0,57,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,134,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1245,1245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,953,953,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,169,0,0,0,0,0,0,109,109,0,0,325,325,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,196,0,0,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3620,3620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,75,0,0,0,0,0,0,0,0,206,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,131,0,0,0,0,0,0,0,0,57,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,206,0,0,0,0,0,0,0,0,0,0,0,0,5518,5518,0,0,0,0,0,0,0,0,0,0,0,0,139,139,111,111,0,0,0,0,92,92,0,0,0,0,94,94,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,86,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,383,383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,339,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,130,130,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,1097,1097,0,0,0,0,0,0,87,87,0,0,0,0,0,0,50,50,0,0,0,0,2546,2546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,185,0,0,0,0,292,292,0,0,0,0,50,50,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,86,86,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,525,525,0,0,0,0,0,0,0,0,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,90,0,0,0,0,0,0,0,0,87,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,0,88,88,0,0,0,0,0,0,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,0,467,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,207,0,0,165,165,0,0,0,0,52,52,61,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,818,818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,320,320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,372,372,45,45,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,1467,1467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,56,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,404,404,0,0,0,0,75,75,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,0,0,0,0,0,0,0,0,0,0,0,0,764,764,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,76,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,1178,1178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,619,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,653,653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,514,514,0,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,166,166,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,125,125,0,0,0,0,657,657,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,184,0,0,6985,6985,0,0,0,0,0,0,0,0,269,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,508,508,0,0,380,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,62,0,0,0,0,0,0,0,0,0,0,3781,3781,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,0,0,0,0,0,0,0,0,0,0,0,0,31799,31799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,78,0,0,0,0,79,79,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1046,1046,0,0,249,249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,421,421,0,0,0,0,0,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,869,869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,171,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,231,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,69,51,51,0,0,0,0,0,0,0,0,101,101,791,791,148,148,0,0,0,0,0,0,0,0,0,0,49,49,0,0,0,0,0,0,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,435,435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,757,757,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,258,258,0,0,104,104,0,0,0,0,0,0,0,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,123,123,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,0,0,0,0,86,86,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,559,559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,137,137,0,0,0,0,0,0,0,0,0,0,0,0,87,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,0,167,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,217,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,99,83,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,142,0,0,632,632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,125,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,224,0,0,0,0,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,131,0,0,0,0,0,0,0,0,46,46,0,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,63,63,0,0,0,0,0,0,0,0,0,0,72,72,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,70,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,239,0,0,0,0,194,194,0,0,0,0,0,0,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,0,0,0,0,41,41,0,0,0,0,140,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,277,277,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,994,994,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,56,0,0,0,0,0,0,360,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,140,140,0,0,0,0,0,0,251,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,155,0,0,0,0,51,51,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,135,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,160,0,0,0,0,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,739,739,0,0,1878,1878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,0,0,0,0,82,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,0,0,0,0,0,0,0,0,0,0,213,213,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,669,669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,76,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,503,503,133,133,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,1295,1295,0,0,0,0,229,229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,121,0,0,63,63,0,0,0,0,0,0,0,0,45,45,0,0,0,0,252,252,0,0,0,0,0,0,0,0,175,175,0,0,0,0,140,140,0,0,0,0,0,0,71,71,0,0,0,0,61,61,0,0,0,0,0,0,0,0,78,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,129,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,123,123,0,0,0,0,0,0,0,0,223,223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,254,254,0,0,140,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,51,51,0,0,0,0,0,0,0,0,41,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,76,0,0,0,0,154,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,492,492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,0,0,0,0,0,0,0,0,1174,1174,64,64,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,61,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,111,0,0,0,0,0,0,0,0,0,0,154,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,142,0,0,76,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,0,0,0,0,0,0,323,323,1210,1210,0,0,19985,19985,0,0,0,0,0,0,264,264,0,0,0,0,0,0,0,0,0,0,258,258,0,0,0,0,0,0,0,0,0,0,0,0,231,231,0,0,0,0,0,0,60,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1324,1324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,872,872,0,0,0,0,0,0,70,70,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,324,324,0,0,54,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4817,4817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,380,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,182,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,45,0,0,0,0,0,0,0,0,0,0,131,131,284,284,0,0,146,146,86,86,0,0,0,0,0,0,626,626,0,0,45,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,0,0,0,0,0,0,72,72,0,0,188,188,0,0,0,0,0,0,0,0,0,0,59,59,0,0,265,265,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,132,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,148,0,0,0,0,201,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,165,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,90,0,0,398,398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,391,391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,40,598,598,0,0,0,0,0,0,0,0,668,668,84,84,56,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,157,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,251,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,161,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3653,3653,0,0,0,0,0,0,0,0,0,0,0,0,509,509,0,0,0,0,84,84,0,0,148,148,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,884,884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,734,734,143,143,0,0,0,0,0,0,274,274,0,0,514,514,820,820,0,0,0,0,70,70,0,0,0,0,0,0,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,601,601,0,0,0,0,0,0,0,0,0,0,196,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,323,323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,364,0,0,0,0,0,0,282,282,0,0,0,0,0,0,55,55,0,0,0,0,58,58,92,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,175,0,0,0,0,281,281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,235,0,0,0,0,0,0,0,0,55,55,49,49,0,0,0,0,206,206,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,265,265,0,0,0,0,0,0,50,50,0,0,0,0,0,0,0,0,175,175,120,120,0,0,0,0,62,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n",
"AB,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n"
]
}
],
"source": [
"!head -2 stripeCoOccurrences_output.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Run MRJob class for 10,000 words with the full dataset on AWS from the command line."
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"using existing scratch bucket mrjob-10df70dfe3ada1f0\n",
"using s3://mrjob-10df70dfe3ada1f0/tmp/ as our scratch dir on S3\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983\n",
"writing master bootstrap script to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983/b.py\n",
"Copying non-input files into s3://mrjob-10df70dfe3ada1f0/tmp/stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983/files/\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Creating Elastic MapReduce job flow\n",
"Job flow created with ID: j-1SEQJNR6IS92H\n",
"Created new job flow j-1SEQJNR6IS92H\n",
"Job launched 30.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 62.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 93.8s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 125.2s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 156.1s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 187.2s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 218.1s ago, status STARTING: Configuring cluster software\n",
"Job launched 249.1s ago, status STARTING: Configuring cluster software\n",
"Job launched 280.1s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 311.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 343.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 373.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 404.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 435.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 466.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 497.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 528.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 559.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 590.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 621.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 652.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 683.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 714.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 745.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 776.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 807.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 838.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 869.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 900.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 931.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 962.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 993.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1024.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1055.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1086.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1117.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1148.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1179.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1211.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1242.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1273.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1304.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1335.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1365.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1396.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1427.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1458.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1489.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1520.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1551.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1582.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1613.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1644.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1675.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1706.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1737.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1768.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1799.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1830.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1861.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1892.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1923.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1954.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 1985.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2016.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2047.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2077.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2109.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2140.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2171.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2202.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2233.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2264.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2295.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2325.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2356.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2387.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2418.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2449.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2481.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2512.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2543.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2574.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2605.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2637.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2668.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2699.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2730.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2761.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2792.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2823.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2854.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2885.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2917.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2948.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 2979.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3010.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3041.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3072.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3103.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3134.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3164.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3195.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3226.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3257.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3288.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3319.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3350.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3381.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3412.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3443.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3474.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3505.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3536.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3567.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3598.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3629.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3660.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3691.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3722.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3753.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3784.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3815.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3846.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3877.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3908.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3938.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 3969.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4004.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4035.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4066.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4097.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4128.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4159.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4190.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4221.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4252.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4283.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4315.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4346.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4377.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4408.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4439.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4470.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4501.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4532.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4563.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4594.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4625.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4656.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4687.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4718.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4749.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4780.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4811.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4842.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4873.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4905.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4936.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4968.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 4999.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5029.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5060.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5092.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5123.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5154.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5185.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5216.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5247.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5278.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5309.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5340.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5371.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5402.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5433.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5464.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5495.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5526.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5557.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5588.6s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5619.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5650.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5681.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5712.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5743.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5774.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5805.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5836.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5867.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5898.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5929.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5960.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 5991.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6022.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6052.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6084.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6115.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6146.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6177.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6208.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6239.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6270.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6301.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6332.7s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6364.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6395.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6426.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6457.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6487.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6518.9s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6549.8s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6581.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6612.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6643.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6674.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6705.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6736.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6767.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6798.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6830.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6861.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6892.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6923.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6954.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 6985.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7016.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7047.5s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7079.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7110.0s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7141.1s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7172.2s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7203.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7234.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7265.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7296.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7327.4s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job launched 7359.3s ago, status RUNNING: Running step (stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983: Step 1 of 1)\n",
"Job completed.\n",
"Running time was 7056.0s (not counting time spent waiting for the EC2 instances)\n",
"ec2_key_pair_file not specified, going to S3\n",
"Fetching counters from S3...\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Counters from step 1:\n",
" File Input Format Counters :\n",
" Bytes Read: 2156069116\n",
" File Output Format Counters :\n",
" Bytes Written: 237025582\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 4354801270\n",
" FILE_BYTES_WRITTEN: 5937519028\n",
" HDFS_BYTES_READ: 23640\n",
" S3_BYTES_READ: 2156069116\n",
" S3_BYTES_WRITTEN: 237025582\n",
" Job Counters :\n",
" Launched map tasks: 194\n",
" Launched reduce tasks: 16\n",
" Rack-local map tasks: 192\n",
" SLOTS_MILLIS_MAPS: 106906521\n",
" SLOTS_MILLIS_REDUCES: 51095030\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 47952570\n",
" Combine input records: 281520455\n",
" Combine output records: 7287881\n",
" Map input bytes: 2156069116\n",
" Map input records: 58682266\n",
" Map output bytes: 15418611115\n",
" Map output materialized bytes: 1881849538\n",
" Map output records: 275861626\n",
" Physical memory (bytes) snapshot: 89856086016\n",
" Reduce input groups: 10000\n",
" Reduce input records: 1629052\n",
" Reduce output records: 10000\n",
" Reduce shuffle bytes: 1881849538\n",
" SPLIT_RAW_BYTES: 23640\n",
" Spilled Records: 8915513\n",
" Total committed heap usage (bytes): 96686690304\n",
" Virtual memory (bytes) snapshot: 193379713024\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983\n",
"Removing all files in s3://mrjob-10df70dfe3ada1f0/tmp/stripeCoOccurrences.jakerylandwilliams.20151005.074932.953983/\n",
"Removing all files in s3://mrjob-10df70dfe3ada1f0/tmp/logs/j-1SEQJNR6IS92H/\n",
"Terminating job flow: j-1SEQJNR6IS92H\n"
]
}
],
"source": [
"!./stripeCoOccurrences.py s3://filtered-5grams/ -r emr \\\n",
" --output-dir=s3://ucb-mids-mls-jakewilliams/stripeCoOccurrences/output \\\n",
" --no-output \\\n",
" --file top10kWords.txt "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Download and inspect a sample of the output"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"download: s3://ucb-mids-mls-jakewilliams/stripeCoOccurrences/output/part-00000 to ./stripe-1.txt\n"
]
}
],
"source": [
"!aws s3 cp s3://ucb-mids-mls-jakewilliams/stripeCoOccurrences/output/part-00000 stripe-1.txt"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AIDS,482,0,0,5624,0,67,0,0,0,0,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,52,0,1937,322,0,0,755,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,644,90,0,58,0,0,0,291,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,47,0,0,64,0,0,0,0,0,1736,0,0,0,0,0,0,0,130,0,0,0,0,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,45,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,366,0,0,0,217,0,0,0,0,0,0,0,0,0,2131,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,1800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,659,0,0,62,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,4831,0,0,0,0,0,0,0,0,0,76,0,0,0,0,223,0,71,0,0,0,0,75,0,0,0,0,0,0,0,0,0,0,359,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,63,54,0,0,0,0,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,101,442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0,0,0,0,130,0,0,893,0,0,61,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,1152,0,0,0,0,0,0,0,342,0,0,0,63,0,0,809,0,0,0,48,0,0,67,0,2328,0,59,0,0,0,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,0,4057,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1400,0,0,77,0,0,0,0,11995,0,0,0,0,0,0,0,0,0,281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1015,0,165,0,95,0,124,0,0,0,0,0,520,0,1266,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,5311,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,108,0,0,366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,345,0,0,0,0,0,0,0,0,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0,0,47,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2577,150,372,0,0,0,0,0,0,0,0,0,0,457,0,0,487,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,57,45,0,0,0,0,632,0,0,0,0,0,0,59,147,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,495,0,130,610,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,1946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,544,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,83,0,0,0,0,0,0,0,0,0,0,436,0,0,0,0,0,0,2207,0,835,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,882,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,47,0,0,0,0,0,620,0,97,0,0,0,0,0,0,0,0,0,0,0,81,0,0,0,0,0,752,0,0,321,0,0,0,0,0,0,0,0,90,189,265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,69,126,0,0,0,0,0,0,0,0,0,0,0,0,0,1100,1339,0,0,0,0,0,0,0,0,0,0,0,74,0,0,59,0,0,457,0,0,509,0,111,81,0,0,0,0,1152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,702,0,0,0,0,153,0,0,0,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,0,472,0,0,0,0,3522,0,0,0,0,0,0,0,0,0,0,0,0,0,783,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,440,0,0,0,0,100,0,0,0,0,0,1014,0,0,0,0,0,0,501,0,0,0,1098,153,0,47,0,75,0,141,0,0,0,0,101,0,0,0,439,0,0,0,0,0,9330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1951,0,0,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,970,0,0,0,0,0,0,0,0,251,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2205,0,0,0,0,0,0,257,517,0,583,0,0,0,0,0,0,1426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,617,0,0,0,0,930,138,0,0,0,0,237,90,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1387,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,257,159,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5407,0,0,0,0,0,0,0,0,0,2336,0,0,0,0,51,0,0,0,0,0,0,0,0,0,49389,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,0,0,0,0,44,0,0,0,0,0,105,134,0,0,0,0,0,0,53,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,295,0,42,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1578,0,340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3593,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,63,0,0,135,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,3470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,536,161,0,0,0,0,0,3554,0,271,0,187,0,0,0,0,0,0,0,0,0,140,0,79,0,0,0,0,124,0,171,0,43,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,356,162,0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,0,0,0,0,4848,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,48,0,0,1114,0,683,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1105,0,0,0,0,0,0,0,581,0,0,0,99,245,0,103,0,0,0,2466,12976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1548,1399,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,0,291,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,507,0,0,1068,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,0,0,0,0,0,0,48,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1934,56,0,0,0,0,0,0,0,0,0,68,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,0,0,0,0,48,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,75,0,0,57,0,0,0,0,0,0,174,0,0,0,0,0,0,0,0,0,45,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,0,0,0,0,0,0,0,58,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,528,0,0,0,0,0,0,0,0,182,0,90,0,0,0,0,60,492,949,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,0,45,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,256,129,0,0,0,48,0,0,0,0,0,71,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,44,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1540,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,0,0,0,1626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,429,0,0,0,0,0,828,311,0,0,0,0,0,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,722,0,0,0,70,0,0,91,1958,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,734,108,823,2202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,787,1489,0,0,0,0,0,0,0,0,0,0,0,48,0,279,3159,0,0,0,0,172,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2177,1577,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,782,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,49,0,0,0,1142,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,376,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,330,0,519,0,0,0,0,549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14055,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,583,0,0,0,0,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,201,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,0,0,0,0,0,0,0,0,0,251,0,0,0,233,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,343,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,817,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1641,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,457,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,108,0,0,0,0,6219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,0,0,0,0,1247,0,0,0,0,0,208,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,48,0,189,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2564,0,0,0,162,0,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3135,0,0,0,0,0,0,0,0,0,0,0,4262,212,0,0,0,508,0,0,0,0,0,0,0,0,293,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1315,105,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,43,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,920,0,257,3653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,57083,0,0,0,0,0,0,0,0,0,0,1321,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,195,48,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,939,4943,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,62,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,380,399,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12459,0,0,0,163,0,0,574,0,98,0,285,0,0,0,375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,83,190,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,384,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,243,0,0,0,0,0,102,0,0,372,0,0,0,0,0,0,0,0,138,0,0,91,80,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,215,156,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,67,0,1800,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,342,0,53,0,0,0,0,0,0,100,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,0,0,160,0,0,0,0,0,0,0,0,0,192,0,0,800,0,0,0,0,0,160,0,0,0,489,0,0,0,796,0,0,0,0,0,0,0,555,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,985,0,0,0,0,0,113,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,560,0,0,0,0,68,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,88,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,708,0,0,0,230,0,520,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,247,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,194,0,0,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,1788,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0,0,952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2463,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,2542,0,303,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,107,60,122,0,0,0,0,98731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,192,180,0,0,0,0,0,11836,0,762,0,0,0,0,182,1703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7138,62,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,321,0,0,0,124,0,0,2880,0,0,0,0,0,0,0,0,0,249,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,413,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,49,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,935,0,0,0,880,0,33134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7142,0,0,0,400,0,0,925,56,293,0,0,0,0,0,0,0,0,0,0,0,293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,850,0,0,0,0,64,3385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,880,0,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,286,56,0,117,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,1555,0,279,1246,0,0,0,0,0,0,0,0,0,0,0,53,285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,367,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,0,0,210,0,0,50,1830,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,79,0,0,0,744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,124,316,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,115,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,60,0,0,0,369,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,111,0,0,0,980,0,0,0,0,0,0,0,0,50,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,521,0,0,57,0,0,176,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,58,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,688,52,0,0,0,248,0,0,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4125,0,83,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,1345,50,0,0,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,0,0,535,0,99,44,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,185,0,0,0,0,0,0,0,149,0,0,0,4882,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,561,63,123,0,0,0,0,0,0,0,0,0,0,52,314,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,228,0,235,1838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,67,0,0,0,0,0,0,0,107,0,0,0,0,68,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,376,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,101,0,0,0,0,0,104,0,0,54,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6773,0,0,0,0,0,0,0,0,69,0,123,201,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,244,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,174,0,0,0,0,0,0,240,0,0,0,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1877,0,0,0,48,0,695,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,58,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,975,0,1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,302,419,0,0,97,0,0,0,0,535,0,0,0,0,5223,0,97212,0,0,0,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,123,0,0,0,0,0,0,338,0,0,0,0,1444,0,0,56,0,0,48,0,0,1218,0,0,0,0,0,0,0,0,0,0,525,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1305,0,69,0,0,0,0,0,0,68,78,0,0,19694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,0,814,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,119,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,850,144,1176,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,679,0,59,0,1407,0,0,0,0,0,0,0,84,51,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,121,0,0,0,0,325,0,0,255,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,0,0,0,0,0,0,0,0,0,283,0,0,118,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,8483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,3207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,621,0,1358,0,0,0,0,0,0,0,0,0,0,0,164,0,0,59,0,0,0,0,0,0,562,0,0,0,0,0,0,4791,0,0,80,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,935,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53780,0,0,0,0,145,921,0,0,0,0,0,0,0,68,0,0,1237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,97,0,0,0,533,172,0,0,0,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,355,0,0,0,50,0,0,0,0,101,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0\t\r\n",
"Alabama,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,671,94,522,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,77,0,92,0,0,0,129,0,0,0,0,0,0,151,0,0,0,0,0,0,0,0,0,67,0,0,0,2213,0,0,0,0,0,0,0,0,0,0,80,0,0,0,0,0,832,0,0,0,80,400,0,0,0,0,229,0,0,0,0,0,0,0,0,0,0,0,0,0,176,0,558,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1262,0,0,0,0,231,0,0,122,1924,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,236,0,0,60,0,0,0,0,0,200,0,0,0,0,0,92,0,0,0,0,0,0,0,1904,0,0,0,0,0,0,59,0,0,0,284,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,0,0,0,0,1622,0,0,0,152,0,122,0,476,132,0,0,0,96,0,0,0,0,0,1899,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,72,0,493,0,50,0,0,0,0,0,0,0,1181,0,0,0,0,1190,0,488,66,75,0,71,285,0,0,54,233,0,0,0,0,0,0,865,0,0,0,0,0,919,0,0,0,0,2457,0,0,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,252,0,0,5830,0,0,0,0,0,0,1262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,213,0,0,0,0,1973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,90,0,0,0,1229,0,0,0,390,213,0,0,0,0,0,57,0,0,0,0,67,0,0,0,0,0,0,66,0,0,44,0,0,0,0,0,0,0,0,0,0,1107,0,0,0,0,0,1584,3277,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,1974,0,0,0,70,0,832,0,0,0,0,0,0,211,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,48,0,0,0,0,0,634,447,0,0,0,0,0,0,0,272,0,296,49,0,0,0,0,970,0,131,0,0,0,0,0,0,0,0,0,0,0,778,0,0,0,0,0,0,299,0,147,0,0,0,0,0,3173,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1005,0,57,0,0,0,0,51,0,0,0,0,0,0,0,0,58,0,0,282,44,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,47,0,0,0,0,0,0,0,0,384,0,0,117,0,0,0,0,0,0,0,0,879,0,0,0,84,0,0,0,0,295,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,634,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,542,785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,4663,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1855,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,506,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,1449,0,0,0,0,61,50,0,0,0,0,1009,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,0,61,0,0,210,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,464,0,0,0,0,0,0,0,0,0,1514,0,0,0,0,0,90,0,0,0,0,24276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,49,0,0,0,0,0,0,0,0,146,506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,732,80,0,0,0,66,0,0,0,0,102,0,0,59,0,0,709,0,0,0,62,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,132,46,0,0,261,0,0,1130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,416,0,0,0,0,0,0,0,0,0,1515,77,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,1445,0,110,0,0,0,129,44,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,214,0,0,0,0,0,0,0,0,0,0,2531,0,1118,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,18438,1915,59,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,47,0,2014,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,0,155,0,0,0,0,1232,0,0,0,182,0,0,0,3957,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,66,0,43,0,0,40,0,0,0,0,0,0,0,0,0,0,0,634,0,0,0,0,0,45,0,0,0,0,0,80,0,0,0,0,0,473,0,0,0,0,0,0,0,0,107,374,514,0,0,135,54391,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,227,0,0,0,0,110,0,0,0,0,0,111,0,0,0,0,0,0,65,0,0,172,0,0,0,55,0,0,0,0,0,0,0,0,0,0,404,0,1374,0,0,0,0,0,5503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,41,0,0,0,110,0,0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,103,0,281,0,0,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,0,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,452,0,0,0,0,58,0,0,0,0,0,0,0,0,0,29491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,878,0,0,0,0,0,0,412,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,296,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,70,0,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,285,0,0,0,0,0,0,0,476,0,275,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,268,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0,0,2304,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,325,0,0,0,0,382,81,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,866,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,256,0,96,0,198,0,0,0,0,0,0,1463,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,278,0,0,108,112,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,67,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,148,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,164,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,99,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,141,0,520,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,193,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,1254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,4055,0,0,51,0,106,0,0,0,0,0,63,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,5802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,481,332,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,711,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,905,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,0,355,0,51,0,0,0,0,0,0,0,0,0,0,0,46,0,319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,0,0,0,0,0,0,0,0,597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,81,0,0,0,0,0,0,0,0,515,0,0,0,0,0,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,88,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24870,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,60,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,775,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,0,0,0,0,0,340,0,0,0,0,0,0,1063,0,0,0,0,0,0,0,0,0,0,370,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,325,0,0,0,268,0,89,0,0,0,99,0,0,96,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,788,0,880,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,664,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,273,0,0,0,0,0,0,2545,214,282,0,0,0,0,0,0,0,62,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,0,0,324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,797,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1423,0,0,299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157922,150,0,0,0,0,0,0,0,48,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2641,0,538,0,0,0,0,42,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,400,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1699,0,0,0,0,0,65,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1097,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,717,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1773,0,0,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,426,0,0,0,0,0,0,0,0,0,0,68,646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,480,0,0,0,0,0,47,0,0,0,74,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,117,205,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,362,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,343,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,0,0,140,0,0,0,0,0,0,95,853,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2903,0,0,0,0,3543,0,0,0,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,2051,0,123882,0,0,0,159,0,0,0,0,0,129,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,10322,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,347,244,0,84,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3222,0,0,0,0,0,0,0,0,0,0,223,0,0,0,0,262,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,139,237,183,0,0,0,151,0,0,0,0,0,0,156,0,0,46,0,0,0,0,0,144,159,0,0,0,0,123,0,492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1671,0,0,0,0,94,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0\t\r\n"
]
}
],
"source": [
"!head -2 stripe-1.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###HW 5.4.2: MRJob class to run spearman correlations, pairwise on the rows of output of the above.\n",
"\n",
"This task (or any, for pairwise comparisons) is deceptively difficult to parallelize.\n",
"What we would like to do is take each of the 10,000 choose 2 (~50,000,000) pairs of rows in our\n",
"matrix of stripes, and run our association measure. If we would like to go through these *pairs*\n",
"one at a time, however, we would have to replicate (or read) each our stripe-rows 9,999 times,\n",
"and more or less (less, really) square the number of copies of our data. This is not a scalable approach.\n",
"\n",
"To think about how we might scale pairwise comparisons, let's take a look at one association metric in specific,\n",
"the Spearman correlation coefficient:\n",
"\n",
" https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient\n",
"\n",
"This association measure is non-parametric and since it is entirely based on data ranks,\n",
"is capable of identifying monotonic associations of any variety, i.e., linear and non-linear. \n",
"Supposing we have two vectors of data that we would like to compare\n",
"(for brevity we will use $N=10,000$):\n",
"\n",
"$$\\large x = (x_1,x_2,\\cdots,x_N)\\hspace{15pt}\\text{ and }\\hspace{15pt}y = (y_1,y_2,\\cdots,y_N)$$\n",
"\n",
"We must first compute ranks (low to high):\n",
"\n",
"$$\\large r_x = (r_{x,1},r_{x,2},\\cdots,r_{x,N})\\hspace{15pt}\\text{ and }\\hspace{15pt}r_y = (r_{y,1},r_{y,2},\\cdots,r_{y,N})$$\n",
"\n",
"so that we can then compute their differences: \n",
"\n",
"$$\\large d_i = r_{x,i} - r_{y,i}$$\n",
"\n",
"The spearman correlation is then computed as:\n",
"\n",
"$$\\large \\rho = 1 - \\frac{6\\sum_{i=1}^Nd_i^2}{N(N^2-1)}$$\n",
"\n",
"So, to proceed we have to determine which operations are associative---we can distribute the summation, \n",
"but to do so we'll have to compute the differences ahead of time. However, to distribute the computation\n",
"of the differences, a task will have to have knowledge of all ranks for a particular *column*.\n",
"So for our first mapper we will have to:\n",
"\n",
"1. Read a stripe of data:\n",
" word,cocount_1,cocount_2, ...\n",
" \n",
"2. Compute ranks of the co-occurrence counts:\n",
" rank_1,rank_2, ...\n",
" \n",
"3. Output each i-rank in the format:\n",
" yield i, [word,rank_i]\n",
" \n",
"With this first mapper's output (we're transposing the data), we can now design our first reducer:\n",
"\n",
"1. Read in a column (here, column m) of ranks:\n",
" m [rank_{1,m},rank_{2,m}, ..., rank_{N,m}]\n",
"2. In some fixed ordering, take the differences of ranks between the 10,000 choose 2 pairs of rows:\n",
" for i in range(N-1):\n",
" diffs = []\n",
" for j in range(N):\n",
" if j > i:\n",
" pair = words[i]+\",\"+words[j]\n",
" diff = ranks[i] - ranks[j]\n",
" diffs.append(diff)\n",
" yield i, diffs\n",
"Question: Why do we yield only the partial list of differences, for each row with i as a key?\n",
"\n",
"The output of this first MRStep are our differences of ranks, \n",
"organized such that each holds $\\leq N-1$ differences, \n",
"that need to be aggregated across all records having the key i.\n",
"So for this (second) step we will just have a reducer:\n",
"\n",
"1. Component-wise sum up the squares of differences across all records of the same key.\n",
"2. Complete the mathematical expression to produce the correlation and \n",
"\n",
" yield correlation, pair\n",
"\n",
"Note that we have used the correlation as a key so that we can rank (sort) our correlations\n",
"with another reduce-only MRStep:\n",
"\n",
"1. Switch to a reverse numeric sort on the keys\n",
"2. Use the identity mapper (none) to pass (k,v) pairs through the shuffle and from the reducer\n",
"\n",
" yield pair, correlation\n"
]
},
{
"cell_type": "code",
"execution_count": 159,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting correlateCoOccurrences.py\n"
]
}
],
"source": [
"%%writefile correlateCoOccurrences.py\n",
"#!/usr/bin/python\n",
"from mrjob.job import MRJob\n",
"from mrjob.step import MRStep\n",
"from mrjob.protocol import RawValueProtocol,JSONProtocol\n",
"import re\n",
"from itertools import combinations\n",
"\n",
"class correlateCoOccurrences(MRJob):\n",
"\n",
" OUTPUT_PROTOCOL = RawValueProtocol \n",
" N = 10000\n",
" \n",
" ## a custom jobconf for the final reduce, numeric sort step\n",
" sortconf = {\n",
" 'mapred.output.key.comparator.class': 'org.apache.hadoop.mapred.lib.KeyFieldBasedComparator',\n",
" 'mapred.text.key.comparator.options': '-k1rn',\n",
" 'mapred.reduce.tasks': '1',\n",
" }\n",
" \n",
" ## three steps here\n",
" def steps(self):\n",
" return [MRStep(\n",
" mapper = self.mapper, \n",
" reducer = self.reducer_differences\n",
" ),\n",
" MRStep(\n",
" mapper_init = self.mapper_init_aggregation,\n",
" reducer_init = self.reducer_init_aggregation,\n",
" reducer = self.reducer_aggregation\n",
" ),\n",
" MRStep(\n",
" mapper_init = self.mapper_init_sort,\n",
" reducer = self.reducer_sort,\n",
" jobconf = self.sortconf\n",
" )]\n",
" \n",
" ## Step 1 mapper: ranks the data, and transposes by using the column (i) as key\n",
" def mapper(self, _, line):\n",
" data = re.split(\",\",line)\n",
" word = data[0]\n",
" counts = [int(data[i+1]) for i in range(len(data)-1)]\n",
" ranks = sorted(range(len(counts)), key=lambda k: counts[k])\n",
" for i in range(len(ranks)):\n",
" rank = ranks[i]\n",
" yield str(i).zfill(5),[word,rank]\n",
" \n",
" ## Step 1 reducer: collects the ranks for a column, \n",
" ## and computed N choose 2 differences, \n",
" ## yielding the differences in lists for those pairs having\n",
" ## the same common first word\n",
" def reducer_differences(self,colNum,values):\n",
" corNum = 0\n",
" ranks = []\n",
" words = []\n",
" for value in values:\n",
" word,rank = value\n",
" ranks.append(rank)\n",
" words.append(word)\n",
" sortIDX = sorted(range(self.N), key=lambda k: words[k])\n",
" for i in range(self.N-1):\n",
" diffs = []\n",
" for j in range(self.N):\n",
" if j > i:\n",
" diff = (float(ranks[sortIDX[i]]) - float(ranks[sortIDX[j]]))**2\n",
" diffs.append(diff)\n",
" corNum += 1\n",
" yield i,diffs\n",
" \n",
" ## Step 2 mapper init: we have set the input protocol to JSON \n",
" ## for the (default, unspecified) identity mapper!\n",
" def mapper_init_aggregation(self):\n",
" self.INPUT_PROTOCOL = JSONProtocol\n",
" \n",
" ## Step 2 reducer init: It will help in our reducer to have the \n",
" ## alphabetically sorted list of 10,000 words\n",
" def reducer_init_aggregation(self):\n",
" self.words = []\n",
" f = open(\"top10kWords.txt\",\"r\")\n",
" for word in f:\n",
" word = word.strip()\n",
" self.words.append(word)\n",
" \n",
" ## Step 2 reducer: This reducer is responsible for aggregating \n",
" ## the differences for each correlation, computing the final\n",
" ## correlation values, and yielding them (as keys) with the word,word pairs.\n",
" def reducer_aggregation(self,i,values):\n",
" correlations = []\n",
" for j in range(self.N):\n",
" if j > i:\n",
" correlations.append(0)\n",
" for diffs in values:\n",
" correlations = [correlations[j] + diffs[j] for j in range(len(correlations))]\n",
" for j in range(len(correlations)):\n",
" correlation = 1-(6*correlations[j]/float(self.N*(self.N**2 - 1)))\n",
" pair = self.words[i]+\",\"+self.words[j+i+1]\n",
" yield correlation,pair\n",
" \n",
" ## Step 3 mapper init: we have set the input protocol to JSON \n",
" ## for the (default, unspecified) identity mapper!\n",
" def mapper_init_sort(self):\n",
" self.INPUT_PROTOCOL = JSONProtocol\n",
"\n",
" ## Step 3 reducer: all we're doing is yielding our 10,000 choose 2\n",
" ## sorted correlations, with None as key, since we are using the RawValueProtocol\n",
" def reducer_sort(self,correlation,pairs):\n",
" for pair in pairs:\n",
" yield None,pair+\"\\t\"+str(correlation)\n",
"\n",
"if __name__ == '__main__':\n",
" correlateCoOccurrences.run()"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"!chmod +x correlateCoOccurrences.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Run the the class with N=200 on a test (since modified) locally."
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-0-mapper_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-0-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-0-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-0-reducer_part-00000\n",
"Counters from step 1:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-1-mapper_part-00000\n",
"Counters from step 2:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-1-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-1-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-1-reducer_part-00000\n",
"Counters from step 2:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-2-mapper_part-00000\n",
"Counters from step 3:\n",
" (no counters found)\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-2-mapper-sorted\n",
"> sort /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-2-mapper_part-00000\n",
"writing to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-2-reducer_part-00000\n",
"Counters from step 3:\n",
" (no counters found)\n",
"Moving /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/step-2-reducer_part-00000 -> /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/output/part-00000\n",
"Streaming final output from /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908/output\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.005225.462908\n"
]
}
],
"source": [
"!correlateCoOccurrences.py coocurrence_output.txt --file top2hWords.txt > correlations_output-2.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Check on the output.\n",
"Note: This was run local, producing a string sort on the numbers,\n",
"resulting in a forward numeric sort that we can leverage with the command line\n",
"\"tail\" to see the \"top\" 25 correlations."
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Press,liberty\t0.951631290782\r\n",
"Medical,Negro\t0.951673291832\r\n",
"Negro,results\t0.952672316808\r\n",
"liberty,meeting\t0.953930848271\r\n",
"Negro,meeting\t0.953993849846\r\n",
"ought,results\t0.955583889597\r\n",
"meeting,reading\t0.957530938273\r\n",
"dream,struck\t0.957566939173\r\n",
"reading,results\t0.957722943074\r\n",
"liberty,struck\t0.958138453461\r\n",
"University,de\t0.960310507763\r\n",
"Negro,ought\t0.961587039676\r\n",
"Medical,fine\t0.963351083777\r\n",
"ought,reading\t0.963934598365\r\n",
"meeting,results\t0.96444761119\r\n",
"Cairo,struck\t0.967018675467\r\n",
"commandment,struck\t0.969538738468\r\n",
"liberty,results\t0.974766369159\r\n",
"Negro,liberty\t0.974860871522\r\n",
"Press,struck\t0.97666241656\r\n",
"Medical,ought\t0.980229505738\r\n",
"fine,ought\t0.981974049351\r\n",
"Press,commandment\t0.993695342384\r\n",
"Cairo,Press\t0.99560039001\r\n",
"Cairo,commandment\t0.997973449336\r\n"
]
}
],
"source": [
"!tail -25 correlations_output-2.txt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Run the the class with a N=200 test (since modified) on AWS, then check the output."
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"using existing scratch bucket mrjob-03e94e1f06830625\n",
"using s3://mrjob-03e94e1f06830625/tmp/ as our scratch dir on S3\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051\n",
"writing master bootstrap script to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051/b.py\n",
"Copying non-input files into s3://mrjob-03e94e1f06830625/tmp/correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051/files/\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Creating Elastic MapReduce job flow\n",
"Job flow created with ID: j-3U06D7F1V0NIW\n",
"Created new job flow j-3U06D7F1V0NIW\n",
"Job launched 31.0s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 62.0s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 93.8s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 124.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 155.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 186.8s ago, status STARTING: Configuring cluster software\n",
"Job launched 217.8s ago, status STARTING: Configuring cluster software\n",
"Job launched 248.7s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 279.6s ago, status BOOTSTRAPPING: Running bootstrap actions\n",
"Job launched 310.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 342.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 373.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 404.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 435.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 466.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 499.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 1 of 3)\n",
"Job launched 530.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 2 of 3)\n",
"Job launched 561.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 2 of 3)\n",
"Job launched 593.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 2 of 3)\n",
"Job launched 624.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 3 of 3)\n",
"Job launched 655.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 3 of 3)\n",
"Job launched 686.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 3 of 3)\n",
"Job launched 717.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051: Step 3 of 3)\n",
"Job completed.\n",
"Running time was 427.0s (not counting time spent waiting for the EC2 instances)\n",
"ec2_key_pair_file not specified, going to S3\n",
"Fetching counters from S3...\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Counters from step 1:\n",
" File Input Format Counters :\n",
" Bytes Read: 128976\n",
" File Output Format Counters :\n",
" Bytes Written: 28293894\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 333403\n",
" FILE_BYTES_WRITTEN: 953001\n",
" HDFS_BYTES_READ: 848\n",
" HDFS_BYTES_WRITTEN: 28293894\n",
" S3_BYTES_READ: 128976\n",
" Job Counters :\n",
" Launched map tasks: 8\n",
" Launched reduce tasks: 4\n",
" Rack-local map tasks: 8\n",
" SLOTS_MILLIS_MAPS: 195596\n",
" SLOTS_MILLIS_REDUCES: 134142\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 65200\n",
" Combine input records: 0\n",
" Combine output records: 0\n",
" Map input bytes: 104659\n",
" Map input records: 200\n",
" Map output bytes: 867600\n",
" Map output materialized bytes: 320972\n",
" Map output records: 40000\n",
" Physical memory (bytes) snapshot: 1826660352\n",
" Reduce input groups: 200\n",
" Reduce input records: 40000\n",
" Reduce output records: 39800\n",
" Reduce shuffle bytes: 320972\n",
" SPLIT_RAW_BYTES: 848\n",
" Spilled Records: 80000\n",
" Total committed heap usage (bytes): 1288278016\n",
" Virtual memory (bytes) snapshot: 7106416640\n",
"Counters from step 2:\n",
" File Input Format Counters :\n",
" Bytes Read: 28307145\n",
" File Output Format Counters :\n",
" Bytes Written: 645911\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 9216027\n",
" FILE_BYTES_WRITTEN: 18729493\n",
" HDFS_BYTES_READ: 28308738\n",
" HDFS_BYTES_WRITTEN: 645911\n",
" Job Counters :\n",
" Data-local map tasks: 9\n",
" Launched map tasks: 10\n",
" Launched reduce tasks: 4\n",
" Rack-local map tasks: 1\n",
" SLOTS_MILLIS_MAPS: 212075\n",
" SLOTS_MILLIS_REDUCES: 115640\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 52230\n",
" Combine input records: 0\n",
" Combine output records: 0\n",
" Map input bytes: 28293894\n",
" Map input records: 39800\n",
" Map output bytes: 28362954\n",
" Map output materialized bytes: 9187191\n",
" Map output records: 39800\n",
" Physical memory (bytes) snapshot: 1999912960\n",
" Reduce input groups: 199\n",
" Reduce input records: 39800\n",
" Reduce output records: 19900\n",
" Reduce shuffle bytes: 9187191\n",
" SPLIT_RAW_BYTES: 1593\n",
" Spilled Records: 79600\n",
" Total committed heap usage (bytes): 1409265664\n",
" Virtual memory (bytes) snapshot: 7595810816\n",
"Counters from step 3:\n",
" File Input Format Counters :\n",
" Bytes Read: 947918\n",
" File Output Format Counters :\n",
" Bytes Written: 506563\n",
" FileSystemCounters:\n",
" FILE_BYTES_READ: 432299\n",
" FILE_BYTES_WRITTEN: 1134007\n",
" HDFS_BYTES_READ: 949511\n",
" S3_BYTES_WRITTEN: 506563\n",
" Job Counters :\n",
" Data-local map tasks: 9\n",
" Launched map tasks: 10\n",
" Launched reduce tasks: 1\n",
" Rack-local map tasks: 1\n",
" SLOTS_MILLIS_MAPS: 180897\n",
" SLOTS_MILLIS_REDUCES: 46232\n",
" Total time spent by all maps waiting after reserving slots (ms): 0\n",
" Total time spent by all reduces waiting after reserving slots (ms): 0\n",
" Map-Reduce Framework:\n",
" CPU time spent (ms): 21000\n",
" Combine input records: 0\n",
" Combine output records: 0\n",
" Map input bytes: 645911\n",
" Map input records: 19900\n",
" Map output bytes: 645911\n",
" Map output materialized bytes: 428142\n",
" Map output records: 19900\n",
" Physical memory (bytes) snapshot: 1856380928\n",
" Reduce input groups: 19499\n",
" Reduce input records: 19900\n",
" Reduce output records: 19900\n",
" Reduce shuffle bytes: 428142\n",
" SPLIT_RAW_BYTES: 1593\n",
" Spilled Records: 39800\n",
" Total committed heap usage (bytes): 1406758912\n",
" Virtual memory (bytes) snapshot: 6402703360\n",
"removing tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051\n",
"Removing all files in s3://mrjob-03e94e1f06830625/tmp/correlateCoOccurrences.jakerylandwilliams.20151006.233825.612051/\n",
"Removing all files in s3://mrjob-03e94e1f06830625/tmp/logs/j-3U06D7F1V0NIW/\n",
"Terminating job flow: j-3U06D7F1V0NIW\n"
]
}
],
"source": [
"!correlateCoOccurrences.py s3://ucb-mids-mls-jakewilliams/coocurrence_output.txt -r emr \\\n",
" --output-dir=s3://ucb-mids-mls-jakewilliams/correlateCoOccurrences-test/output \\\n",
" --no-output \\\n",
" --file top2hWords.txt "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"####Check on the output.\n",
"Note: The top 25 correlations are actually the \"top\" 25 (the sort worked on AWS)."
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"download: s3://ucb-mids-mls-jakewilliams/correlateCoOccurrences-test/output/part-00000 to ./correlations_output-1.txt\r\n"
]
}
],
"source": [
"!aws s3 cp s3://ucb-mids-mls-jakewilliams/correlateCoOccurrences-test/output/part-00000 \\\n",
" ./correlations_output-1.txt"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cairo,commandment\t0.997973449336\r\n",
"Cairo,Press\t0.99560039001\r\n",
"Press,commandment\t0.993695342384\r\n",
"fine,ought\t0.981974049351\r\n",
"Medical,ought\t0.980229505738\r\n",
"Press,struck\t0.97666241656\r\n",
"Negro,liberty\t0.974860871522\r\n",
"liberty,results\t0.974766369159\r\n",
"commandment,struck\t0.969538738468\r\n",
"Cairo,struck\t0.967018675467\r\n",
"meeting,results\t0.96444761119\r\n",
"ought,reading\t0.963934598365\r\n",
"Medical,fine\t0.963351083777\r\n",
"Negro,ought\t0.961587039676\r\n",
"University,de\t0.960310507763\r\n",
"liberty,struck\t0.958138453461\r\n",
"reading,results\t0.957722943074\r\n",
"dream,struck\t0.957566939173\r\n",
"meeting,reading\t0.957530938273\r\n",
"ought,results\t0.955583889597\r\n",
"Negro,meeting\t0.953993849846\r\n",
"liberty,meeting\t0.953930848271\r\n",
"Negro,results\t0.952672316808\r\n",
"Medical,Negro\t0.951673291832\r\n",
"Press,liberty\t0.951631290782\r\n"
]
}
],
"source": [
"!head -25 correlations_output-1.txt"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"####Run the class with full dataset on AWS and check the output.\n",
"Note: This is still running---17 hours on 8 c1.xlarge instances..."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"using configs in /Users/jakerylandwilliams/.mrjob.conf\n",
"using existing scratch bucket mrjob-03e94e1f06830625\n",
"using s3://mrjob-03e94e1f06830625/tmp/ as our scratch dir on S3\n",
"creating tmp directory /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686\n",
"writing master bootstrap script to /var/folders/3y/665tnx6s0jjcysf043nfcwm80000gn/T/correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686/b.py\n",
"Copying non-input files into s3://mrjob-03e94e1f06830625/tmp/correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686/files/\n",
"Waiting 5.0s for S3 eventual consistency\n",
"Creating Elastic MapReduce job flow\n",
"Job flow created with ID: j-1AMBWSPI4XY1U\n",
"Created new job flow j-1AMBWSPI4XY1U\n",
"Job launched 31.0s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 62.0s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 92.9s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 124.3s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 155.3s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 186.2s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 217.2s ago, status STARTING: Provisioning Amazon EC2 capacity\n",
"Job launched 249.3s ago, status STARTING: Configuring cluster software\n",
"Job launched 280.9s ago, status STARTING: Configuring cluster software\n",
"Job launched 311.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 342.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 374.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 405.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 435.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 467.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 498.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 529.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 560.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 591.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 622.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 653.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 686.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 718.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 749.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 781.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 812.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 843.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 874.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 905.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 936.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 968.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1001.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1032.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1063.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1094.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1126.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1157.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1188.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1219.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1250.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1281.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1312.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1343.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1375.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1406.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1437.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1468.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1499.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1530.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1561.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1592.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1624.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1655.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1686.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1717.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1749.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1780.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1810.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1841.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1872.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1904.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1935.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1965.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 1997.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2028.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2059.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2090.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2121.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2152.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2183.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2214.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2245.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2276.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2307.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2338.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2369.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2400.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2431.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2462.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2494.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2525.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2556.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2587.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2618.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2649.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2680.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2711.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2742.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2773.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2804.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2835.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2866.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2898.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2929.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2960.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 2991.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3022.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3053.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3084.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3115.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3146.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3177.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3208.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3239.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3270.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3301.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3333.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3364.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3395.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3426.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3457.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3488.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3519.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3550.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3581.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3612.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3643.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3674.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3705.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3736.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3767.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3798.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3829.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3860.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3891.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3922.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3953.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 3984.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4015.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4047.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4078.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4110.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4141.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4172.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4204.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4236.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4267.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4298.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4329.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4360.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4391.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4422.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4453.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4484.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4516.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4547.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4578.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4609.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4640.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4672.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4706.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4737.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4768.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4799.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4830.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4861.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4892.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4924.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4954.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 4986.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5017.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5048.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5079.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5110.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5141.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5172.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5203.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5234.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5265.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5296.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5327.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5358.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5389.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5420.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5452.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5484.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5515.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5546.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5577.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5608.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5639.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5670.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5701.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5732.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5763.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5794.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5825.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5857.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5888.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5919.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5950.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 5981.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6013.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6044.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6075.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6106.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6137.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6168.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6199.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6230.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6261.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6292.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6323.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6354.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6385.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6417.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6448.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6479.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6511.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6542.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6573.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6604.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6635.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6666.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6697.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6728.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6759.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6791.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6822.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6853.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6884.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6915.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6948.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 6983.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7014.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7045.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7079.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7111.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7143.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7175.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7206.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7237.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7268.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7299.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7330.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7362.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7394.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7425.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7456.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7487.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7518.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7550.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7581.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7613.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7645.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7676.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7707.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7738.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7770.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7801.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7832.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7864.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7896.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7927.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7958.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 7989.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8020.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8052.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8082.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8114.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8145.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8176.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8207.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8238.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8269.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8300.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8331.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8363.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8394.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8425.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8456.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8487.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8518.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8549.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8580.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8611.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8643.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8674.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8706.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8737.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8768.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8799.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8831.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8862.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8893.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8924.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8956.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 8988.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9019.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9050.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9081.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9112.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9143.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9174.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9205.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9236.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9267.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9298.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9329.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9361.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9392.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9423.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9454.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9485.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9517.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9548.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9579.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9610.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9642.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9674.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9705.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9737.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9768.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9799.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9830.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9862.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9893.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9924.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9955.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 9986.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10017.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10049.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10080.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10112.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10143.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10174.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10206.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10237.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10269.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10300.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10331.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10362.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10393.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10425.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10456.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10487.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10518.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10549.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10580.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10612.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10643.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10673.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10705.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10736.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10767.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10798.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10829.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10860.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10891.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10922.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10953.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 10984.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11016.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11047.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11078.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11109.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11140.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11171.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11202.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11235.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11266.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11297.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11328.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11359.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11390.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11421.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11452.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11483.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11514.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11545.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11576.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11607.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11639.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11670.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11701.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11732.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11763.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11794.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11826.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11857.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11888.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11919.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11950.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 11981.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12012.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12043.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12074.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12105.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12136.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12167.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12199.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12230.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12262.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12293.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12324.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12355.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12386.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12417.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12448.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12480.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12511.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12542.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12573.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12604.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12636.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12668.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12699.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12730.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12761.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12792.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12823.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12854.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12886.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12917.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12948.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 12980.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13011.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13043.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13074.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13105.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13136.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13167.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13198.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13230.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13261.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13292.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13324.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13355.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13386.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13417.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13448.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13479.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13510.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13542.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13573.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13605.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13636.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13667.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13698.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13729.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13760.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13795.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13826.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13858.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13889.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13921.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13952.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 13983.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14014.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14045.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14076.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14107.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14138.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14169.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14200.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14231.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14262.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14293.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14324.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14356.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14387.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14417.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14449.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14480.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14511.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14542.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14573.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14604.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14635.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14666.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14697.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14728.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14762.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14793.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14824.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14857.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14890.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14922.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14954.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 14986.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15017.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15048.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15078.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15109.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15141.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15172.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15203.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15235.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15266.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15298.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15329.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15360.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15391.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15422.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15454.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15485.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15518.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15549.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15580.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15612.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15645.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15676.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15707.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15738.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15774.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15805.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15837.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15870.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15904.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15935.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15968.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 15999.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16030.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16061.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16092.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16124.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16156.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16187.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16218.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16249.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16280.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16311.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16342.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16374.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16406.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16437.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16468.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16500.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16531.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16562.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16593.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16624.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16655.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16686.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16718.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16750.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16781.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16812.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16843.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16874.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16905.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16937.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16968.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 16999.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17030.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17063.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17095.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17126.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17158.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17191.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17223.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17254.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17286.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17317.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17350.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17382.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17413.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17446.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17477.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17508.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17540.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17571.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17602.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17634.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17666.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17697.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17728.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17760.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17792.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17823.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17854.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17886.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17917.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17949.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 17981.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18013.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18044.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18075.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18106.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18137.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18169.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18201.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18232.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18263.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18296.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18327.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18358.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18389.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18423.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18453.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18484.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18515.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18546.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18577.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18609.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18640.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18671.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18702.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18733.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18764.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18795.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18826.7s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18857.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18888.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18919.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18950.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 18981.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19013.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19043.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19074.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19105.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19136.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19167.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19199.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19230.2s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19261.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19293.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19324.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19355.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19386.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19416.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19448.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19479.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19510.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19542.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19574.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19605.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19636.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19667.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19698.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19729.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19760.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19791.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19822.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19853.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19884.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19915.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19946.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 19977.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20008.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20039.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20070.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20101.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20132.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20163.8s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20195.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20226.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20257.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20288.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20319.4s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20350.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20381.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20413.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20444.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20475.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20507.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20538.0s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20569.1s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20600.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20631.6s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20662.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20693.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20724.5s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20755.9s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n",
"Job launched 20788.3s ago, status RUNNING: Running step (correlateCoOccurrences.jakerylandwilliams.20151007.011339.624686: Step 1 of 3)\n"
]
}
],
"source": [
"!correlateCoOccurrences.py s3://ucb-mids-mls-jakewilliams/stripeCoOccurrences/output/ -r emr \\\n",
" --output-dir=s3://ucb-mids-mls-jakewilliams/correlateCoOccurrences/output \\\n",
" --no-output \\\n",
" --file top10kWords.txt "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment