Merge pull request #6 from ahassany/partition_ctrls
Add a controller command to block traffic to other machines
diff --git a/TestON/drivers/common/cli/emulator/mininetclidriver.py b/TestON/drivers/common/cli/emulator/mininetclidriver.py
index 178d4c5..47cb129 100644
--- a/TestON/drivers/common/cli/emulator/mininetclidriver.py
+++ b/TestON/drivers/common/cli/emulator/mininetclidriver.py
@@ -676,8 +676,11 @@
else:
main.log.error("Connection failed to the Mininet host")
- def check_flows(self, sw):
- command = "sh ovs-ofctl dump-flows "+str(sw)
+ def check_flows(self, sw, dump_format=None):
+ if dump_format:
+ command = "sh ovs-ofctl -F " + dump_format + " dump-flows " + str(sw)
+ else:
+ command = "sh ovs-ofctl dump-flows "+str(sw)
try:
response=self.execute(cmd=command,prompt="mininet>",timeout=10)
return response
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index d61c5cf..7878378 100644
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -1195,7 +1195,7 @@
self.handle.sendline("git pull " + comp1)
uptodate = 0
- i=self.handle.expect(['fatal','Username\sfor\s(.*):\s','\sfile(s*) changed,\s',pexpect.TIMEOUT,'Already up-to-date','Aborting','You\sare\snot\scurrently\son\sa\sbranch'],timeout=1700)
+ i=self.handle.expect(['fatal','Username\sfor\s(.*):\s','\sfile(s*) changed,\s',pexpect.TIMEOUT,'Already up-to-date','Aborting','You\sare\snot\scurrently\son\sa\sbranch', 'You\sasked\sme\sto\spull\swithout\stelling\sme\swhich\sbranch\syou'],timeout=1700)
#debug
#main.log.report(self.name +": \n"+"git pull response: " + str(self.handle.before) + str(self.handle.after))
if i==0:
@@ -1221,6 +1221,9 @@
elif i==6:
main.log.info(self.name + ": Git Pull - You are not currently on a branch so git pull failed!")
return main.ERROR
+ elif i==7:
+ main.log.info(self.name + ": Git Pull - You have not configured an upstream branch to pull from. Git pull failed!")
+ return main.ERROR
else:
main.log.error(self.name + ": Git Pull - Unexpected response, check for pull errors")
return main.ERROR
@@ -1471,14 +1474,11 @@
return (retcode, "Rest API has an error", retport)
else:
for host in enumerate(parsedResult):
- print host
if (host[1] != []):
try:
foundHost = host[1]['mac']
except:
print "Error in detecting MAC address."
- print foundHost
- print hostMAC
if foundHost == hostMAC:
for switch in enumerate(host[1]['attachmentPoints']):
retswitch.append(switch[1]['dpid'])
@@ -1649,4 +1649,4 @@
main.log.info(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::")
main.cleanup()
main.exit()
- return main.ERROR
\ No newline at end of file
+ return main.ERROR
diff --git a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.params b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.params
index 4d83c41..4ac9aea 100644
--- a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.params
+++ b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.params
@@ -1,5 +1,5 @@
<PARAMS>
- <testcases>1,2,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,9,8,9,21,9,61,9,71,9,3,9,4,9,5,9,6,9,7,3,4,5,6,7</testcases>
+ <testcases>1,2,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,9,8,9,3,9,4,9,5,9,6,9,7,3,4,5,6,7</testcases>
<pingSleep>1</pingSleep>
<pingAttempts>60</pingAttempts>
<CASE1>
@@ -18,14 +18,23 @@
<CTRL>
<ip1>10.128.5.1</ip1>
<port1>6633</port1>
+ <restPort1>8080</restPort1>
<ip2>10.128.5.2</ip2>
<port2>6633</port2>
+ <restPort2>8080</restPort2>
<ip3>10.128.5.3</ip3>
<port3>6633</port3>
+ <restPort3>8080</restPort3>
<ip4>10.128.5.4</ip4>
<port4>6633</port4>
+ <restPort4>8080</restPort4>
</CTRL>
<RestIP> 10.128.5.1 </RestIP>
+ <INTENTS>
+ <intentPort>8080</intentPort>
+ <intentURL>wm/onos/intent</intentURL>
+ </INTENTS>
+ <TopoRest>/wm/onos/topology</TopoRest>
<NR_Switches>25</NR_Switches>
<NR_Links>50</NR_Links>
<YANK>
diff --git a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.py b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.py
index 3543b65..fdc5f57 100644
--- a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.py
+++ b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.py
@@ -9,10 +9,10 @@
#Tests the startup of Zookeeper1, RamCloud1, and ONOS1 to be certain that all started up successfully
def CASE1(self,main) : #Check to be sure ZK, Cass, and ONOS are up, then get ONOS version
import time
- main.ONOS1.handle.sendline("cp ~/onos.properties.reactive ~/ONOS/conf/onos.properties")
- main.ONOS2.handle.sendline("cp ~/onos.properties.reactive ~/ONOS/conf/onos.properties")
- main.ONOS3.handle.sendline("cp ~/onos.properties.reactive ~/ONOS/conf/onos.properties")
- main.ONOS4.handle.sendline("cp ~/onos.properties.reactive ~/ONOS/conf/onos.properties")
+ main.ONOS1.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
+ main.ONOS2.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
+ main.ONOS3.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
+ main.ONOS4.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
main.ONOS1.stop_all()
main.ONOS2.stop_all()
@@ -187,21 +187,68 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
- utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Topology check pass",onfail="Topology check FAIL")
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Topology check pass",onfail="Topology check FAIL")
+
main.case("Taking care of these flows!")
main.step("Cleaning out any leftover flows...")
+ intentIP = main.params['CTRL']['ip1']
+ intentPort=main.params['INTENTS']['intentPort']
+ intentURL=main.params['INTENTS']['intentURL']
#main.ONOS1.delete_flow("all")
- main.ONOS1.rm_intents()
+ main.ONOS1.del_intent(intentIP=intentIP)
time.sleep(5)
- main.ONOS1.purge_intents()
strtTime = time.time()
- main.ONOS1.add_intents()
- main.case("Checking flows with pings")
+ main.step("Adding Intents")
+ count=1
+ for i in range(6,16):
+ srcMac = '00:00:00:00:00:' + str(hex(i)[2:]).zfill(2)
+ dstMac = '00:00:00:00:00:'+str(hex(i+10)[2:])
+ srcDPID = '00:00:00:00:00:00:10:'+str(i).zfill(2)
+ dstDPID= '00:00:00:00:00:00:20:' +str(i+25)
+ main.ONOS1.add_intent(intent_id=str(count),src_dpid=srcDPID,dst_dpid=dstDPID,
+ src_mac=srcMac,dst_mac=dstMac,intentIP=intentIP,intentPort=intentPort,
+ intentURL=intentURL)
+ count=count +1
+ dstDPID = '00:00:00:00:00:00:10:'+str(i).zfill(2)
+ srcDPID= '00:00:00:00:00:00:20:' +str(i+25)
+ dstMac = '00:00:00:00:00:' + str(hex(i)[2:]).zfill(2)
+ srcMac = '00:00:00:00:00:'+str(hex(i+10)[2:])
+ main.ONOS1.add_intent(intent_id=str(count),src_dpid=srcDPID,dst_dpid=dstDPID,
+ src_mac=srcMac,dst_mac=dstMac,intentIP=intentIP,intentPort=intentPort,
+ intentURL=intentURL)
+ count=count +1
+ main.step("Checking flows with pings")
pingAttempts = main.params['pingAttempts']
pingSleep = main.params['pingSleep']
+
count = 1
i = 6
while i < 16 :
@@ -277,6 +324,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -338,6 +410,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -395,6 +492,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result1,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -452,6 +574,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result1,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -509,6 +656,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -573,6 +745,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],str(int(main.params['NR_Links'])-2))
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result1,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -632,6 +829,31 @@
main.ONOS3.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
main.ONOS4.check_status_report(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
break
+ ####New Topo Check
+ ctrls = []
+ count = 1
+ while True:
+ temp = ()
+ if ('ip' + str(count)) in main.params['CTRL']:
+ temp = temp + (getattr(main,('ONOS' + str(count))),)
+ temp = temp + ("ONOS"+str(count),)
+ temp = temp + (main.params['CTRL']['ip'+str(count)],)
+ temp = temp + (eval(main.params['CTRL']['port'+str(count)]),)
+ ctrls.append(temp)
+ count = count + 1
+ else:
+ break
+ from sts.topology.teston_topology import TestONTopology # assumes that sts is already in you PYTHONPATH
+ global MNTopo
+ MNTopo = TestONTopology(main.Mininet1, ctrls) # can also add Intent API info for intent operations
+
+
+ topo_result = main.TRUE
+ for n in range(1,5):
+ temp_result = main.Mininet1.compare_topo(MNTopo, main.ONOS1.get_json(main.params['CTRL']['ip'+str(n)]+":"+main.params['CTRL']['restPort'+str(n)]+main.params['TopoRest']))
+ topo_result = topo_result and temp_result
+ print "Topoology check results: " + str(topo_result)
+ ###End New Topo Check
utilities.assert_equals(expect=main.TRUE,actual=result1,onpass="Topology check pass",onfail="Topology check FAIL")
pingAttempts = main.params['pingAttempts']
@@ -753,7 +975,7 @@
url = main.params['RESTCALL']['restURL']
t_topowait = 5
- t_restwait = 0
+ t_restwait = 5
main.log.report( "Wait time from topo change to ping set to " + str(t_topowait))
main.log.report( "Wait time from ping to rest call set to " + str(t_restwait))
#print "host=" + host + "; RestIP=" + RestIP1 + "; RestPort=" + str(RestPort)
diff --git a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.topo b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.topo
index a9c85ed..d97e541 100644
--- a/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.topo
+++ b/TestON/tests/RCOnosCHO4nodes/RCOnosCHO4nodes.topo
@@ -130,7 +130,7 @@
<COMPONENTS>
# Specify the Option for mininet
<arg1> --custom ~/mininet/custom/topo-onos4node.py </arg1>
- <arg2> --topo mytopo </arg2>
+ <arg2> --topo mytopo --arp</arg2>
<controller> remote </controller>
</COMPONENTS>
</Mininet1>
diff --git a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
index 988e8af..bf88550 100644
--- a/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
+++ b/TestON/tests/RRCOnosSanity4nodesJ/RRCOnosSanity4nodesJ.topo
@@ -129,8 +129,9 @@
<connect_order>13</connect_order>
<COMPONENTS>
# Specify the Option for mininet
- <arg1> --custom ~/mininet/custom/topo-onos4nodeNEW.py </arg1>
+ <arg1> --custom ~/mininet/custom/topo-onos4node.py </arg1>
<arg2> --topo mytopo --arp --mac</arg2>
+ <arg3> --switch ovs,protocols=OpenFlow10 </arg3>
<controller> remote </controller>
</COMPONENTS>
</Mininet1>
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale3nodesrate1
deleted file mode 100644
index 42d9d69..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale3nodesrate1
+++ /dev/null
@@ -1,198 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-161000 96.4908175736 65.0469257215 51.9396635352 45.4098127968
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 3.04663050085e-23 0.000461302741633 0.317651364815 3.666630778
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-160000 67.3279263741 59.0598640609 49.750128813 45.1556501986
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 3.28763985927e-23 0.000468398936314 0.319272325678 3.6688966423
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-158000 52.7521376137 56.0834585802 48.6554886146 44.6379764807
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 3.36788777325e-23 0.000470778323589 0.319816390255 3.67274494019
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-179000 293.429893828 115.900706028 69.9011138879 50.0618556402
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.84787480758e-23 0.000417403981672 0.307237514389 3.63577719789
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-178000 276.918055773 110.537124085 67.7894652998 49.8116720135
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.99405437274e-23 0.000423824884145 0.308805333834 3.63784565164
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-175000 268.077393001 107.843961035 66.7307116756 49.0220935946
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.04272719294e-23 0.000425977842783 0.309331561853 3.64164127766
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-191000 326.11541004 142.508176408 80.6742724965 52.9701484171
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.12079272611e-23 0.000377682741054 0.297165070589 3.60529803839
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-189000 329.896869982 140.854962677 79.7277399789 52.4423758106
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.2094551142e-23 0.000383492613869 0.298681490799 3.60714760406
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-187000 312.965451765 139.377843323 79.369423566 51.9411692741
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.13991356688e-23 0.000379069917138 0.297532906348 3.61088346403
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-191000 197.798994794 128.94673039 78.0294552533 52.5271468102
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 6.79795151567e-24 0.000341741476252 0.287422840775 3.57514603882
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-189000 200.092566187 127.450840746 77.1139537626 52.0084099557
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 7.3357160831e-24 0.00034699846657 0.288889546816 3.5772980998
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-187000 189.823141926 126.114287884 76.767384359 51.5109606637
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 6.91392527737e-24 0.000342996645078 0.287778617443 3.58097591293
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-191000 119.971154803 116.67582659 75.4713454328 52.0963701561
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 4.12316601749e-24 0.000309220475008 0.277999999244 3.54582628418
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-189000 121.362276173 115.322289667 74.5858576511 51.5816556129
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 4.44933671535e-24 0.000313977196553 0.279418620942 3.5479423324
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-187000 115.133555501 114.112926626 74.2506501439 51.0877734087
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 4.19350765969e-24 0.000310356198727 0.278344112166 3.55155647747
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-191000 72.766183669 105.572653679 72.9971004277 51.6726063511
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 2.50082660469e-24 0.00027979425621 0.268886075202 3.51698363743
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-189000 73.6099414316 104.347922825 72.1406423884 51.1616716523
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.69865913324e-24 0.000284098315851 0.270258188949 3.51905683888
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-187000 69.8320313731 103.253645893 71.8164242904 50.671313918
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.54349096734e-24 0.000280821901528 0.269218906761 3.52260474756
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale4nodesrate1
deleted file mode 100644
index f8acbe7..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale4nodesrate1
+++ /dev/null
@@ -1,264 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-132000 31.8471951564 34.1454995712 34.962492733 40.6862608528
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 4.91454597255e-21 0.00127502517244 0.44578792444 4.00698029065
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-131000 47.8051344606 37.2621926149 35.7889081886 40.4055102227
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 4.87929017506e-21 0.00127324031705 0.445580424702 4.00970719738
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-129000 31.8574375092 34.1557682245 34.6337619121 39.834449261
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 4.9983886393e-21 0.00127970816224 0.446339727986 4.01432439178
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-113000 46.4493510207 36.062934932 34.3142765545 38.2304358979
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-151000 249.128161936 89.255229112 54.1005849568 45.9745469359
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 2.52321203458e-21 0.00111586801203 0.426408961272 3.9580733881
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-149000 243.255309258 88.7802836834 53.7950860037 45.3959979432
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.50511110461e-21 0.00111430595421 0.426210481809 3.96072472696
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-147000 233.142303461 85.9585067278 52.6781140801 44.837589825
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.566258295e-21 0.00111996643976 0.426936777222 3.96522907863
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-132000 241.716335521 87.6804554475 52.378587981 44.0610969628
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-155000 186.236067638 96.0622333384 58.1790595188 46.6232067794
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.2954602535e-21 0.000976577911701 0.407872426068 3.91033338341
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-154000 181.602455786 95.5468648416 57.8749330975 46.353043334
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.28616692618e-21 0.000975210840379 0.407682574757 3.91291931489
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-152000 186.952259582 96.1187202565 57.8841926787 45.8024604202
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.31756094051e-21 0.000980164746299 0.408377297193 3.91731573921
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-136000 170.270326226 91.5429251954 55.4423367031 44.7967905516
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-155000 95.6167853067 84.0711035855 55.6499424437 46.0676331876
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 6.65111471175e-22 0.000854674932288 0.390141697422 3.8637370283
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-154000 93.2378096588 83.6200668276 55.3590367815 45.8002956679
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 6.60340117836e-22 0.000853478507941 0.389960099187 3.86625879591
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-152000 95.9844905113 84.120539429 55.367893837 45.255660838
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 6.76458342227e-22 0.000857814034228 0.390624621162 3.87054998439
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-136000 87.4197003477 80.1159256782 53.0321884195 44.212807476
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-155000 49.0912944433 73.5767867605 53.2307692768 45.5251659689
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 3.41479615366e-22 0.000747988697193 0.373181745906 3.8182397765
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-154000 47.8698876199 73.1820514241 52.9525096505 45.2606821352
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 3.39029920881e-22 0.000746941618527 0.373008041976 3.82070700253
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-152000 49.2800805901 73.6200516918 52.9609816787 44.7218795272
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 3.47305293212e-22 0.000750735955457 0.373643676343 3.8248976344
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-136000 44.8827706992 70.115320584 50.7268123208 43.6440746632
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-155000 25.2043109627 64.3924406737 50.9167606178 44.995325276
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.7532148033e-22 0.000654619750729 0.356959064868 3.77380152367
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-154000 24.5772197902 64.0469788392 50.6505972884 44.7335774388
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.74063765245e-22 0.000653703375417 0.356792912066 3.77621114994
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-152000 25.3012370023 64.4303049872 50.6587010268 44.2003477974
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.78312483066e-22 0.000657024077862 0.357400914606 3.78029294598
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-136000 23.0435828266 61.3630578312 48.5216538279 43.0893579236
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale5nodesrate1
deleted file mode 100644
index 495b099..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale5nodesrate1
+++ /dev/null
@@ -1,330 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-110000 45.674156828 25.685682983 27.6886391673 38.3067413226
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 2.34224708458e-18 0.0043767185532 0.67246794459 4.52716025176
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-109000 30.9765362282 22.5227516157 26.3460496024 37.9876222834
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.52753488596e-18 0.00444404537378 0.675899518763 4.53063394739
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-107000 45.6741566535 25.5969969817 27.1799501291 37.3391236855
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.38220606407e-18 0.00439279363062 0.673300336353 4.53652910675
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-92000 30.9765362397 22.4985050289 25.2963524832 35.6176672879
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-68000 32.2365935425 21.6978383992 22.9979949595 31.137327991
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-128000 219.477512158 76.8026627258 45.6228371128 43.8103005946
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.01793638684e-18 0.00370481227028 0.636127419721 4.4494836233
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-127000 215.211423011 74.2302076032 44.364910943 43.5009015015
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.09846213338e-18 0.00376180319349 0.639373549804 4.45284827897
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-125000 221.598982518 76.8325001234 45.1537470424 42.8705925191
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.03530248774e-18 0.00371841952954 0.636914828591 4.45854168076
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-110000 215.211423016 74.2096833105 43.3719400136 41.7756662637
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-86000 220.502433066 73.7885511142 41.227841541 38.4932314461
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-128000 102.938202438 67.8573007272 44.2113458841 43.0688966228
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 4.42393330094e-19 0.00313605588094 0.601750756117 4.37418476999
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-127000 108.637836585 68.5250147847 44.0753898313 42.7638850684
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 4.77389675279e-19 0.00318429765592 0.604821463605 4.3774056488
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-125000 103.860189656 67.882557539 43.7676056901 42.1432367873
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 4.49940606435e-19 0.00314757417723 0.602495612993 4.38289668268
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-110000 101.08416774 65.6623910392 42.0820884595 40.9922845697
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-86000 103.383631229 65.3059103312 40.0538582071 37.6481080065
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-128000 44.7367583666 57.439964966 41.8221412722 42.3542294337
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.92263348714e-19 0.00265461399145 0.56923182567 4.30160149041
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-127000 47.2138091558 58.0051727131 41.6935323567 42.0539872264
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.07472697636e-19 0.00269544977235 0.572136590496 4.30473893759
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-125000 45.1374523597 57.4613443956 41.402381034 41.4428891954
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.95543381491e-19 0.00266436401876 0.569936430085 4.31006053125
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-110000 43.9309982082 55.5820140273 39.8079500496 40.240622012
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-86000 44.930340921 55.2802596227 37.8893264372 36.8394505965
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-128000 19.4425150405 48.6218806221 39.5620505464 41.6629466357
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 8.35573069128e-20 0.0022470822304 0.538470235496 4.23139307918
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-127000 18.8784252712 48.2887617666 39.2218859601 41.3671126199
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 8.29578864357e-20 0.00224393663225 0.538219595165 4.23442893565
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-125000 19.6166559321 48.6399779185 39.1649743744 40.7651723582
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 8.49828032816e-20 0.00225533545034 0.539136762714 4.2395779784
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-110000 19.0923331192 47.0491591067 37.6567072872 39.5157559044
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-86000 19.5266456719 46.7937295179 35.8417671138 36.0650219346
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-128000 8.44968220549 41.1575333764 37.4240963237 40.9941289027
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 3.6313855892e-20 0.00190211404236 0.509371017992 4.16346627622
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-127000 8.20452980231 40.875554353 37.1023144123 40.7026276796
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 3.60533488265e-20 0.00189945135101 0.509133922397 4.16641078946
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-125000 8.52536352498 41.1728524071 37.0484783589 40.1095218074
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 3.69333740601e-20 0.00190910024221 0.510001525725 4.17139031942
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-110000 8.29749376984 39.8262533553 35.6217188262 38.816810517
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-86000 8.48624522715 39.6100368763 33.9048589836 35.3225408144
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale6nodesrate1
deleted file mode 100644
index 15a1dfd..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_dwn20140819-121923/NBscale6nodesrate1
+++ /dev/null
@@ -1,396 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-91000 30.7064074019 12.6293872596 21.8585429789 37.5298238005
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 4.23488207405e-15 0.0196150917038 1.10871220411 5.36140349879
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-90000 30.7059791899 12.2014083018 21.2792153329 37.1516341422
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 4.20450202559e-15 0.0195876333423 1.10819613474 5.36634708353
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-88000 30.7060918895 12.2319241772 21.0198565415 36.3819923826
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 4.30712960382e-15 0.0196871352026 1.11008458611 5.3746037899
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-74000 30.7059983091 12.094538724 19.5581454728 34.6418746862
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-51000 30.7060918031 12.0507464152 16.9320828904 29.3603037046
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-31000 30.7060594843 11.7443235516 13.2788632486 23.9079525431
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-106000 171.582502005 58.2604775564 37.5985780122 42.6578965681
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.55792605083e-15 0.0160594788024 1.03720801133 5.23162788879
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-105000 166.992340568 57.6155803203 37.0210829779 42.2931885818
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.54674985558e-15 0.0160369977974 1.03672522484 5.23629945671
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-103000 171.582385934 57.9350623076 36.8139809917 41.5499674556
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.58450443171e-15 0.0161184630304 1.03849188429 5.24417073105
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-89000 166.992347602 57.5280829104 35.4110101021 40.5226742022
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-65000 155.657735345 54.4415870684 31.8762697234 36.1674857069
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-45000 155.657723456 54.1907092465 28.4586572307 33.1662815728
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-106000 58.0747444819 46.9112388849 34.9788645341 41.6493533308
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 5.27304103079e-16 0.0129310654163 0.96493964507 5.10793945597
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-105000 61.4330489282 47.1716474647 34.6334817192 41.2923529838
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 5.69017472502e-16 0.0131299832838 0.969863689393 5.11238668351
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-103000 63.1216322523 47.4332171927 34.4397363645 40.5653148165
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 5.8290660487e-16 0.0131966813753 0.971516411648 5.11989418055
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-89000 61.4330515157 47.1000106444 33.1272472975 39.4420994283
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-65000 57.2632806929 44.5730015792 29.820472983 34.9957839907
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-45000 57.263276319 44.3676001912 26.6232726239 31.7584790921
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-106000 21.3645045462 38.4076739401 32.7229721002 40.6877572119
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.93984338768e-16 0.0105870609264 0.902707778097 4.99000804548
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-105000 22.5999557092 38.6208784527 32.3998640643 40.3382003173
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.09329829801e-16 0.0107499211018 0.907314255956 4.99425349059
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-103000 23.2211507988 38.8350336331 32.2186139317 39.6266168292
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.14439356055e-16 0.0108045288805 0.90886038917 5.00141773201
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-89000 22.599956661 38.5622271848 30.9907712417 38.4179772489
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-65000 21.0659837009 36.4932871499 27.8972607726 33.8980580249
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-45000 21.0659820919 36.3251187168 24.9062575041 30.4651890403
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-106000 7.85956199335 31.4455438089 30.6125689707 39.7695130302
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 7.1362850142e-17 0.00866795236513 0.844489431852 4.87739318918
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-105000 8.31405907678 31.6201009001 30.3102991462 39.4268508995
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 7.70081408077e-17 0.00880129099921 0.848798824065 4.88141974788
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-103000 8.54258397923 31.7954363322 30.1407383811 38.7300543528
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 7.88878304705e-17 0.00884600006702 0.850245242487 4.8882593579
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-89000 8.31405942696 31.5720813034 28.9920829681 37.4453084116
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-65000 7.74974231163 29.8781764705 26.098082316 32.8666278742
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-45000 7.74974171969 29.7404918027 23.2999778661 29.2726389519
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-106000 2.89137127397 25.7454337636 28.6382721018 38.8915386943
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 2.62529254306e-17 0.00709671916755 0.790025762283 4.76971694525
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-105000 3.05857140703 25.8883490223 28.3554965697 38.5558845303
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.8329711806e-17 0.00720588760785 0.7940572288 4.77358581152
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-103000 3.14264102044 26.0319015327 28.1968712895 37.873331065
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.90212109887e-17 0.0072424922966 0.795410363336 4.78012923111
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-89000 3.05857153586 25.8490339018 27.1222961273 36.5209149116
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-65000 2.85097087082 24.4621819223 24.4149383025 31.896361664
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-45000 2.85097065306 24.3494552505 21.7972920448 28.1701482503
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-111523/NBscale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-111523/NBscale3nodesrate1
deleted file mode 100644
index 9132cfd..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-111523/NBscale3nodesrate1
+++ /dev/null
@@ -1,198 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-0 0.0 0.0 0.0 0.0
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-0 0.0 0.0 0.0 0.0
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-0 0.0 0.0 0.0 0.0
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-3050 34.525029435 8.14476336136 2.79312404882 5.56178474882
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 3000 33.8253953734 7.98467600279 2.73832625756 5.47060730791
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-3050 39.4746705531 9.39802144135 3.22843212717 5.59047878652
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 3000 38.9159047844 9.24352897505 3.17425324664 5.49883105682
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-3000 35.7249577357 8.45665713453 2.90179549754 5.52979257064
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 3000 35.7249577357 8.45665713453 2.90179549754 5.52979189996
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-8300 89.9444536093 23.7761291291 8.33750752258 14.3475873314
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 3250 28.422634944 9.50588310722 3.45680973983 5.61803053717
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8300 94.8556884483 25.3843084236 8.92230044094 14.4177110832
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 3200 26.7662876315 9.27631068692 3.39349144522 5.55863538198
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8300 90.6133666924 24.0556554875 8.44231106495 14.4944606205
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 3200 27.4663789373 9.32466943209 3.3993847553 5.58822507942
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-8300 60.8792652437 23.3383708833 8.71077670985 13.6384005578
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 3250 17.2391995234 8.60127872689 3.34348203667 5.34033787174
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8300 58.0599829969 23.1207420586 8.68367640616 13.7017838292
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 3200 16.2345740952 8.39355301086 3.28223956266 5.28261532776
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8300 60.2307821275 23.2871568598 8.70437685073 13.7663192057
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 3200 16.6592009367 8.43730981297 3.28793966706 5.3074960044
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-8300 36.9251409111 21.1174312512 8.42520348147 12.9918761562
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 3250 10.4561030598 7.78275883505 3.23386965754 5.08717997384
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8300 35.21515979 20.9205125473 8.39899163141 13.0493395463
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 4750 26.4158932816 12.3217484689 4.84653264399 7.4679960847
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8300 36.5318160188 21.0710908864 8.41901343469 13.1122524557
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 6050 42.8077738159 16.4485741866 6.26865361148 9.55772618761
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-8300 22.3962300768 19.1078419689 8.14899245711 12.406421304
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 3250 6.3419470869 7.0421314095 3.12785079963 4.85793519668
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8300 21.3590740993 18.9296625573 8.12363993372 12.4588045389
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 4750 16.022049179 11.1491790703 4.68764440478 7.13003925368
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8300 22.1576664704 19.0659114729 8.14300534421 12.5160646879
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 6050 25.9642272934 14.8832853974 6.06314270137 9.12315558579
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale3nodesrate1
deleted file mode 100644
index 16053e1..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale3nodesrate1
+++ /dev/null
@@ -1,198 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-1000 14.7125379477 3.25107066792 1.10189174219 11.8934030799
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 1000 0.0 0.0 0.0 11.8933926698
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-1000 15.9911170741 3.30570923568 1.10803039902 12.1560015194
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 1000 0.0 0.0 0.0 12.1559992401
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-1000 0.0 0.0 0.0 12.6737941107
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-8000 86.3388942786 21.9195682141 7.61640868081 69.5667071387
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 7911 77.4152889311 18.9778778251 6.55064124677 68.7923770202
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8000 88.392970846 22.0236458024 7.62848474536 70.92472062
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 7000 76.2389393472 18.9241423534 6.54453659904 62.0591643699
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8000 92.2300564213 22.2298515891 7.65256699806 73.3661824695
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 7000 79.6896264823 19.0844902062 6.56281709735 64.1953815287
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-13000 116.411447376 38.0140893991 13.8221383246 89.5911857451
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 124.119617007 38.5469627336 13.8873304087 89.591213314
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-13000 125.681442418 38.6422898077 13.8987134517 90.9805646891
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 133.9383296 39.1399285394 13.9581968415 90.9806038371
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-13000 131.097002449 38.9856965661 13.9401517825 93.4417422033
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 137.207626728 39.3387527482 13.9819826815 93.4417680199
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-13000 70.6071119751 34.3965705009 13.3689947307 74.2030973704
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 75.2823531868 34.878734233 13.432049564 74.2030896263
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-13000 76.2296481835 34.9649897366 13.4430594265 75.1515987756
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 81.237703413 35.4152718817 13.5005927188 75.1516254864
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-13000 79.514351382 35.2757170212 13.4831392472 76.8235362889
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 83.2206323571 35.5951754654 13.5235987662 76.8235537393
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-13000 42.8253782067 31.1233040413 12.9307069508 63.3299006592
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 45.6610553431 31.5595838278 12.9916946008 63.3299144347
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-13000 46.2356188024 31.6376310349 13.002343517 64.0205740324
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 49.2731578446 32.0450631685 13.0579906436 64.0205934167
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-13000 48.2278920003 31.9187887089 13.041109365 65.2299249426
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 50.4758650453 32.2078466627 13.0802424631 65.2299375235
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-13000 25.9749048961 28.1615300695 12.5067879534 55.2368127571
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 27.6948300204 28.556292345 12.5657761904 55.2368232368
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-13000 28.0433203745 28.6269123784 12.5760759937 55.7596125154
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 29.8856809336 28.9955722182 12.6298987905 55.7596272199
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-13000 29.2516951515 28.8813143622 12.6135709459 56.6757480952
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 30.6151597255 29.1428648148 12.6514211086 56.6757575928
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale4nodesrate1
deleted file mode 100644
index a542571..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale4nodesrate1
+++ /dev/null
@@ -1,264 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-16000 33.9379065758 25.122004734 13.0948889378 43.8705052117
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 3.44840712173 18.8254681617 10.9363057178 35.644783111
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-16000 33.9162653857 25.1168765445 13.0945535736 44.1377448404
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 3.42366905969 18.7991151618 10.9312152242 35.8619165693
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-16000 35.3332745297 25.3364551987 13.1331442239 44.5961985114
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 3.5072373068 18.8946114832 10.949842855 36.2344151725
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-2000 30.7036550219 6.5567799036 2.20992214122 26.1302113409
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-33000 233.586935529 77.6975214327 32.0065026897 81.4358885567
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.62891218454 16.2032306067 10.4029357941 32.0808010113
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-33000 214.8876708 72.0665245656 29.9318662366 81.8840065121
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.75777030515 16.4524840112 10.4560215153 32.2573355895
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-32000 203.850255054 69.1627715829 28.8849668097 80.1500775401
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.80067567382 16.5360598438 10.4738393795 32.5609721355
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-19000 212.235584226 55.7712349357 19.5143660769 162.887197015
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-37000 157.172947755 79.8644373108 34.8900842124 83.0844012941
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.836311400943 14.1806351093 9.95070705814 29.1918195978
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-37000 167.813522016 80.9688678214 35.0550149906 83.5003850467
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.90246936599 14.3987750386 10.0014850761 29.3379771953
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-36000 161.371226381 78.3781416653 34.047688194 81.9401562168
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.924497716766 14.4719183774 10.0185283752 29.5894975018
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-23000 155.134403829 63.6168267721 24.0067639636 146.740029607
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-37000 80.6952820263 69.8952246748 33.3733682589 76.2218937989
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.429376590086 12.4105134947 9.51813727551 26.7806678522
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-37000 86.1583350081 70.8617927904 33.5311292882 76.5721091254
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.463343221902 12.6014237407 9.56670790897 26.9037140314
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-36000 82.8507501434 68.5944583816 32.5675922576 75.0875980244
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.474652954294 12.6654368393 9.58301031439 27.1149633559
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-23000 79.6486586767 55.6757494331 22.963159664 116.843942408
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-37000 41.4303392175 61.1704357639 31.9225858603 70.4056119052
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.220449291862 10.8613502862 9.10437184675 24.7371089874
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-37000 44.2351641405 62.0163503897 32.0734888187 70.7041005342
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.237888342112 11.0284298398 9.15083105353 24.8419841874
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-36000 42.5369934483 60.0320398098 31.1518379578 69.2916655165
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.243694952334 11.0844523957 9.16642477284 25.0219921766
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-23000 40.8929848726 48.7259304215 21.9649221592 97.0727184123
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-37000 21.2710454016 53.5347332948 30.5348708019 65.4146735427
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.113182440321 9.50556397928 8.7085933229 22.9835357618
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-37000 22.711090533 54.2750552055 30.6792138184 65.6718084509
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.122135947259 9.65178754672 8.75303288938 23.0738811629
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-36000 21.8392206285 52.5384395293 29.7976282825 64.3267254055
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.12511716035 9.70081699295 8.76794873005 23.2290968808
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-23000 20.9951584819 42.6436342505 21.0100792975 83.0205673603
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale5nodesrate1
deleted file mode 100644
index 6cdbdcf..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale5nodesrate1
+++ /dev/null
@@ -1,330 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-40000 15.4106889322 30.2824213932 25.4168458813 51.6284742789
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.00371483538478 4.79965469055 6.93466327847 16.7792551077
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-40000 31.3894705306 33.5089746811 26.5044714674 51.7766853346
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.00368818602902 4.79293585102 6.9314354189 16.8274218147
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-39000 16.6506043931 29.39552619 24.7044613375 50.7296044694
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.0037782108638 4.81728315347 6.9432471175 16.9098672961
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-25000 31.3376538726 27.7329819726 18.8475847248 51.4212913063
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-2000 31.9822341483 6.61141847135 2.21606079804 22.8820430362
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-58000 222.58595361 86.0208254354 45.454959418 70.2840383225
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.00148537564455 3.99566747366 6.5235674913 15.7532966568
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-58000 219.138516498 83.7344883137 44.5387890024 70.4715076369
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.00160287904085 4.05713260646 6.55685696763 15.7953390986
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-56000 207.706819574 79.9932471119 42.805896323 68.354344066
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.00164200367277 4.07774215304 6.56803035576 15.8679542381
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-43000 218.033703207 78.7923687405 37.2896136588 80.1260571138
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-20000 221.964475318 61.1171053298 21.5808496872 145.391171038
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-58000 96.7354566776 72.8150566911 42.9985492702 66.2570698422
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.000645541594083 3.3822594952 6.17103043945 14.8507233083
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-58000 102.790875532 73.7249644075 43.1858803092 66.4251147234
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.000696608359608 3.43428860682 6.20252093479 14.8883888312
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-56000 97.8226805285 70.5580721018 41.5466340706 64.410770325
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.000713611854548 3.45173421136 6.2130905071 14.9524985769
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-43000 94.7570568079 66.6963001997 35.2744631324 73.2743359186
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-20000 96.4653633253 51.7345127399 20.4146091087 106.538253954
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-58000 42.0410561712 61.6366147859 40.6748848314 62.6659626563
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.000280551220305 2.86302085152 5.83754467711 14.0458198937
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-58000 44.6727303569 62.4068350392 40.8520924016 62.8162684956
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.000302744745117 2.90706254368 5.86733340936 14.0795093934
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-56000 42.513561709 59.7261185777 39.3014319003 60.8984912055
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.000310134433556 2.9218299291 5.87733179636 14.1371503351
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-43000 41.1812471321 56.4571992368 33.3682124107 67.5081892317
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-20000 41.9236740842 43.7923195804 19.3113927904 84.0852082645
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-58000 18.2709676957 52.1742680004 38.4767924529 59.4463095958
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 0.000121927057739 2.42349482879 5.52208066248 13.3241734502
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-58000 19.4146885822 52.8262453689 38.6444236319 59.5815515683
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 0.000131572323863 2.46077531634 5.55025959582 13.3544865398
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-56000 18.476317756 50.5570678746 37.1775616476 57.750593181
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 0.00013478386922 2.47327563822 5.55971766468 13.4063882341
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-43000 17.8972962277 47.7899873925 31.5649764904 62.5833456104
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-20000 18.219953651 37.0693982154 18.2677948678 69.4507047095
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-58000 7.94052982826 44.1645643719 36.397486154 56.5413318917
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 5.29892808619e-05 2.05144408294 5.22366449074 12.6730576998
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-58000 8.43758887657 44.7164512994 36.5560584551 56.6512504001
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 5.71810962398e-05 2.08300133434 5.25032061956 12.6976948177
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-56000 7.3877492683 42.0882844068 34.9736278218 54.8998604883
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 5.38932835188e-05 2.05897875122 5.23013042763 12.7446109507
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-43000 7.77813287768 40.4533509605 29.8591883969 58.3106309512
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-20000 7.91835921581 31.378568142 17.2805935313 59.1149070382
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale6nodesrate1
deleted file mode 100644
index 66ef3cb..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale6nodesrate1
+++ /dev/null
@@ -1,396 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-61000 30.9869254301 29.2316233067 31.3547506769 49.7501779282
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.89033925294e-06 1.05324651092 4.18278353802 10.6024973216
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-60000 31.0046575113 29.5149715031 31.4817254494 49.0233054329
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.03987804685e-06 1.06944854402 4.20412809738 10.6217167107
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-58000 30.9672055401 28.1656256288 30.2146140538 47.5352558707
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.92258863771e-06 1.0571149386 4.18796105554 10.6544542377
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-45000 30.9811320824 27.3262228089 26.1192911114 47.9983131079
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-22000 16.2735965681 19.4160032905 14.9452479841 40.8595416036
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-2000 15.9911170741 3.30570923568 1.10803039902 20.2922744401
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-75000 155.761048263 68.5080993443 45.3687761805 58.2823813821
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 6.95416947998e-07 0.862325309062 3.9130232167 10.1022797901
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-75000 164.086066844 69.2391839877 45.5471087821 58.383454804
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 7.50429195932e-07 0.875590411822 3.93299120107 10.1197979893
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-73000 156.410238133 67.6831524794 44.3080422074 56.9936297897
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 7.07280833644e-07 0.86549250977 3.9178668205 10.1495498467
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-59000 149.364874375 64.1961174531 39.4286222599 59.1039096401
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-36000 154.575428991 60.7217973364 30.0473628394 60.0865485112
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-16000 154.471510592 47.5318041526 17.1025491351 100.80860056
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-75000 57.3012873913 56.0896877681 42.4428070192 55.6801576484
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 2.55829598211e-07 0.706012249686 3.66066055181 9.65122677541
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-75000 60.3638905747 56.6882492488 42.6096384136 55.7719818781
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 2.76067473238e-07 0.716872797259 3.67934074067 9.66713759776
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-73000 57.5401109977 55.4142784001 41.4504829781 54.43702764
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 2.60194077832e-07 0.708605334307 3.665191777 9.69426547404
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-59000 54.9482665157 52.5593355871 36.8857515343 55.7436905069
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-36000 56.865122436 49.7148028615 28.109517818 54.602542488
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-16000 56.8268929936 38.915749809 15.9995541777 73.0937639193
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-75000 21.0799655839 45.9223523063 39.7055424308 53.2987575206
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 9.41144496248e-08 0.578033940868 3.42457351605 9.23845159673
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-75000 22.2066343316 46.4124129981 39.8616143656 53.3829223004
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.0155954778e-07 0.586925805161 3.44204896321 9.25304027032
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-73000 21.1678238788 45.3693738858 38.7772163589 52.0989820993
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 9.5720051949e-08 0.580156978992 3.42881250886 9.27790117632
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-59000 20.2143375791 43.0319444065 34.5068782085 52.7456419327
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-36000 20.9195094639 40.7030379859 26.2966502646 50.0365579614
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-16000 20.905445638 31.8615211477 14.9676946907 57.3361683634
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-75000 7.75488595893 37.5980420869 37.1448122885 51.1135885076
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 3.46227711341e-08 0.473254163712 3.20371244502 8.85968843132
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-75000 7.51617792922 37.3711971597 37.0842218702 51.1907774992
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 3.43743955132e-08 0.472591674639 3.20222122137 8.87306847222
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-73000 7.78720721934 37.1453016482 36.2763567639 49.953912983
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 3.52134392199e-08 0.474992360314 3.2076780524 8.89590254603
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-59000 7.43643921226 35.2315762503 32.2814255957 50.0532316732
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-36000 7.69585745115 33.3248289428 24.6007000055 46.1752788487
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-16000 7.69068365875 26.0860072035 14.0023829329 47.1676303307
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-75000 2.85286311292 30.782673312 34.7492313536 49.1005349238
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.27370056966e-08 0.387467737853 2.99709537035 8.51075962389
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-75000 2.76504733635 30.596948394 34.692548594 49.171826202
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.2645633412e-08 0.386925337675 2.99570032021 8.52311688525
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-73000 2.86475344014 30.4120007917 33.9367851441 47.9788733002
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.29543003419e-08 0.388890852866 3.00080522376 8.54418313232
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-59000 2.73571310171 28.8451749556 30.1994991315 47.6228995546
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-36000 2.83114773847 27.2840622965 23.0141266918 42.8676593793
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-16000 2.82924440661 21.3574163225 13.0993270408 40.0629180063
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale7nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale7nodesrate1
deleted file mode 100644
index 2c3e5e1..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBONOSscale_up20140819-121923/NBscale7nodesrate1
+++ /dev/null
@@ -1,462 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-77000 14.8327685643 19.5911124022 29.2377917516 44.8100046056
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 5.36786374856e-10 0.205675411718 2.42670045851 7.56532564947
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-77000 30.8201847441 22.798235239 30.2999270216 44.8680601657
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 5.32935595591e-10 0.205387495153 2.4255709086 7.57512370554
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-75000 14.8332696684 19.3943522187 28.5799669761 43.7984077544
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 5.45944006383e-10 0.206430828847 2.42970426782 7.59172418118
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-61000 16.106410539 18.617289157 25.5600845827 42.6637925218
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-37000 14.8223134586 17.4946001627 19.6328279832 35.8987003926
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-18000 30.8133567325 17.7063288973 12.7574783203 30.4952333438
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-1000 15.9911170741 3.30570923568 1.10803039902 9.11942733572
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-88000 108.640477879 50.4233684557 39.7878943924 49.1836326872
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.67157007683e-10 0.162872212591 2.245110456 7.26576369284
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-87000 91.7383196589 46.8696823014 38.6147725032 48.6850607409
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.65957862606e-10 0.162644214468 2.24406543032 7.27477899497
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-85000 96.1867394253 47.1230682255 38.0895783795 47.6659658143
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.70008723665e-10 0.163470419534 2.24788949025 7.2900074224
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-71000 92.4929849236 45.9823000317 35.1296553339 47.31259285
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-48000 96.1833276263 45.6186743937 29.8119538239 43.5754716818
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-28000 94.9076585081 43.0743187242 22.41428869 42.3324126195
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-12000 94.8358888947 34.2443678142 12.6559743554 66.6030231611
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-88000 33.8309950593 39.9297393796 36.8105661371 47.3185881972
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 5.20532310925e-11 0.128976805797 2.07710883392 6.99024615151
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-87000 28.5676084983 37.115612392 35.7252289622 46.8367817876
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 5.16798134494e-11 0.128796256462 2.07614200751 6.99859918819
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-85000 29.9528607549 37.3162660615 35.2393351164 45.8525798327
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 5.29412646428e-11 0.129450519634 2.07967991303 7.01274764924
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-71000 28.8026136947 36.4129036313 32.5009031211 45.1896031517
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-48000 29.9517983097 36.1249522825 27.5811252308 40.9538039677
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-28000 29.5545508336 34.1101035747 20.7370274008 38.2704117591
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-12000 29.5322015446 27.1177575778 11.7089277568 47.9194935516
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-88000 10.5350809297 31.6199440013 34.0560313639 45.5964629008
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.62095439774e-11 0.10213538681 1.92167877372 6.73582733903
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-87000 8.8960453859 29.3914662014 33.051909973 45.1301955638
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.60932605195e-11 0.101992411676 1.92078429493 6.74359209451
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-85000 9.32741740454 29.5503617488 32.6023755651 44.1785420797
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.64860804879e-11 0.102510515855 1.92405745897 6.7567183354
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-71000 8.9692267617 28.8349984657 30.0688604442 43.2560621421
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-48000 9.32708655567 28.6069727969 25.517229548 38.6385206318
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-28000 9.20338241093 27.0114351275 19.1852755789 34.9184785094
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-12000 9.19642277029 21.4742692883 10.832748658 37.4293499393
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-88000 3.01835122167 24.6256371489 31.3330614408 43.99643065
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 4.64411210444e-12 0.0795431192271 1.76802982247 6.49947285475
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-87000 2.77025721326 23.2747954243 30.5786354517 43.544878964
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 5.01149320905e-12 0.0807667266515 1.77705200044 6.50670590455
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-85000 2.90458785057 23.4006231503 30.1627397049 42.6236303213
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 5.13381861364e-12 0.0811770079453 1.78008023361 6.51890829244
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-71000 2.79304612961 22.8341344303 27.8188075279 41.4822386523
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-48000 2.90448482316 22.6535632824 23.6077751853 36.5723716234
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-28000 2.86596295368 21.3900736493 17.7496413505 32.1081358742
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-12000 2.86379569915 17.0052497941 10.0221340438 30.704985234
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-88000 0.939924301334 19.5007851226 28.9884083602 42.5043101736
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 13000 1.44619148154e-12 0.0629893661898 1.63572814561 6.27904595652
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-87000 0.862667027281 18.4310676551 28.2904360702 42.0665827293
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 13000 1.56059514193e-12 0.0639583281425 1.64407519398 6.28581115974
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-85000 0.904498020811 18.5307093185 27.9056618033 41.1740441345
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 13000 1.59868766728e-12 0.0642832256183 1.64687682445 6.29720686724
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS4 INCOMING RATE****************************
-71000 0.869763569304 18.0821128117 25.7371260781 39.8477086253
-
----------------------------------------------------------------------------------
-***************** ONOS4 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS5 INCOMING RATE****************************
-48000 0.904465937745 17.9391204037 21.8412052981 34.7153406695
-
----------------------------------------------------------------------------------
-***************** ONOS5 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS6 INCOMING RATE****************************
-28000 0.892470103396 16.938576146 16.4214356356 29.7157996026
-
----------------------------------------------------------------------------------
-***************** ONOS6 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS7 INCOMING RATE****************************
-12000 0.891795213348 13.4662798849 9.27217772361 26.030368432
-
----------------------------------------------------------------------------------
-***************** ONOS7 PROCESSING RATE************************
- 0 0.0 0.0 0.0 0.0
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1
deleted file mode 100644
index 6ef5072..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1
+++ /dev/null
@@ -1,198 +0,0 @@
-*****************ONOS1 INCOMING RATE****************************
-2000 14.7125379477 3.25107066792 1.10189174219 23.5888787074
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 1000 0.0 0.0 0.0 11.7944441706
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-1000 15.9911170741 3.30570923568 1.10803039902 12.2181262605
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 1000 9.19489231763 1.90078281051 0.637117479437 12.2181128624
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-1000 0.0 0.0 0.0 12.5821823657
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 1000 0.0 0.0 0.0 12.5821709136
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-9000 94.148155394 24.8083402866 8.67610436126 77.8725729911
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 8000 85.145803027 21.8765875376 7.61179759539 69.2200468096
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-8000 101.92915921 25.2209809987 8.72427183982 71.2393060251
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 7000 89.6673416294 22.0961252755 7.63702594831 62.3344161709
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-8000 108.221173495 25.5355608247 8.76059739708 72.9714038147
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 7000 93.4064060052 22.2835870607 7.65867164579 63.8500025745
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-12000 102.099761571 34.7673151823 12.7204138225 82.334780132
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 12000 111.352096799 35.3656262625 12.7928909249 82.3347534063
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-12000 109.813373215 35.2966238164 12.7851139508 84.2496631731
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 12000 117.371563558 35.7228728544 12.8355054247 84.2496500601
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-12000 114.545814768 35.6323821758 12.8262523615 85.8676281535
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 12000 124.006249853 36.1039579067 12.8807257369 85.8676024184
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-12000 61.9266357423 31.4587677016 12.3033890539 68.2477331143
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 12000 67.5384607318 32.0001419546 12.3734900742 68.247721364
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-12000 66.6051777014 31.9377059594 12.3659680597 69.5581376842
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 12000 71.1894518764 32.3233920384 12.4147075046 69.5581546805
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-12000 69.4755485984 32.2415126864 12.4057577929 70.6575992026
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 12000 75.2135925317 32.6682120532 12.4584453186 70.6575805656
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-12000 37.5604032305 28.4650701417 11.9000359834 58.2784573466
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 12000 40.9641471436 28.954925823 11.967838819 58.2784488879
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-12000 40.3980823715 28.8984313983 11.9605634054 59.2318912496
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 12000 43.1785852112 29.2474145942 12.0077049812 59.2319035741
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-12000 42.1390503253 29.1733270927 11.9990486759 60.0276182915
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 12000 45.6193498976 29.559420646 12.0500088991 60.0276250915
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS1 INCOMING RATE****************************
-12000 22.7815361505 25.7562605712 11.5099063995 50.8511825338
-
----------------------------------------------------------------------------------
-***************** ONOS1 PROCESSING RATE************************
- 12000 24.8460111916 26.1995003211 11.5754863937 50.8511695
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS2 INCOMING RATE****************************
-12000 24.5026755519 26.1483820517 11.5684494966 51.5752888823
-
----------------------------------------------------------------------------------
-***************** ONOS2 PROCESSING RATE************************
- 12000 26.1891357736 26.4641551057 11.6140455876 51.5752982264
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
-*****************ONOS3 INCOMING RATE****************************
-12000 25.5586259935 26.3971179621 11.6056730698 52.1774951
-
----------------------------------------------------------------------------------
-***************** ONOS3 PROCESSING RATE************************
- 12000 27.6695343891 26.746469856 11.6549626182 52.1774842112
-
-
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1
deleted file mode 100644
index eac3f27..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-847463 1.00421948691e-09 0.00473311631549 5.17485257651 102.776724405
-ONOS2
-882388 1.09149022693e-09 0.00512541642753 5.56228900078 107.025396153
-ONOS3
-838455 1.09149022693e-09 0.00456489018844 5.06932251859 101.73573642
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 6.0908990789e-10 0.00428270074617 5.00520072962 102.40320992
-ONOS2
-882388 6.62022287408e-10 0.00463766856665 5.37993547709 106.636341874
-ONOS3
-838455 6.62022287408e-10 0.00413048345172 4.90313035852 101.36576056
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 3.69431703657e-10 0.00387514788538 4.84111073183 102.032400217
-ONOS2
-882388 4.01536814726e-10 0.00419633605155 5.20356021299 106.250156872
-ONOS3
-838455 4.01536814726e-10 0.0037374159817 4.74238662552 100.998572339
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 2.24071654938e-10 0.00350637880712 4.68240024404 101.664280506
-ONOS2
-882388 2.43544389135e-10 0.0037970018781 5.03296721784 105.866860502
-ONOS3
-838455 2.43544389135e-10 0.00338175382701 4.58691269892 100.634034393
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 1.35906328692e-10 0.00317270274649 4.52889290494 101.298913203
-ONOS2
-882388 1.47717139011e-10 0.00343566937566 4.86796692629 105.486241575
-ONOS3
-838455 1.47717139011e-10 0.00305993740126 4.4365358139 100.272022623
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 8.24313552008e-11 0.00287078016133 4.38041813502 100.936199508
-ONOS2
-882388 8.24313552008e-11 0.00305733954854 4.6822908691 105.108655151
-ONOS3
-838455 8.95949737753e-11 0.00276874585751 4.29108886957 99.9129489399
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2
deleted file mode 100644
index 40a3407..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-847463 2.22083736264e-13 0.000879194169698 2.9526401612 96.8449626337
-ONOS2
-882388 2.41383712278e-13 0.000952065392017 3.17370159808 100.847432091
-ONOS3
-838455 2.41383712278e-13 0.000847945533444 2.89242737589 95.860833096
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 1.34700595068e-13 0.000795527782462 2.85584110284 96.5128091306
-ONOS2
-882388 1.46406622252e-13 0.000861464391114 3.06965528379 100.501924621
-ONOS3
-838455 1.46406622252e-13 0.000767252847117 2.79760232743 95.5322244135
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 8.170004079e-14 0.000719823304659 2.76221549509 96.1834175286
-ONOS2
-882388 8.88001051807e-14 0.000779485215385 2.96902001341 100.158723529
-ONOS3
-838455 8.88001051807e-14 0.000694239085166 2.70588601384 95.2060147919
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 4.95535796389e-14 0.00065132306043 2.67165929985 95.8562254241
-ONOS2
-882388 5.38599863778e-14 0.000705307389686 2.87168395963 99.818002296
-ONOS3
-838455 5.38599863778e-14 0.000628173501321 2.61717651866 94.8819824115
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 3.00557653495e-14 0.000589341476306 2.58407188982 95.5312497498
-ONOS2
-882388 3.00557653495e-14 0.000627640189025 2.76215097323 99.4795068946
-ONOS3
-838455 3.26677330698e-14 0.000568394889014 2.53137526665 94.5601609267
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 1.82297431856e-14 0.000533258219763 2.49935593663 95.2084684807
-ONOS2
-882388 1.82297431856e-14 0.000567912328093 2.67159689327 99.1433381741
-ONOS3
-838455 1.98139816902e-14 0.0005143049638 2.44838691426 94.2404051737
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1
deleted file mode 100644
index 298d74e..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-847462 1.20548688617e-14 0.129315675061 15.7186999124 116.939684223
-ONOS2
-882387 1.25875098788e-14 0.137937766424 16.802017331 121.7758056
-ONOS3
-838454 1.1850193398e-14 0.124543532822 15.3981216947 115.763729412
-ONOS4
-721963 1.2348104351e-14 0.133619810575 16.3748175019 116.513525616
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 0.0105419940976 0.120051060852 15.2044573092 116.456136846
-ONOS2
-882388 0.0105419940976 0.12785265174 16.2522593584 121.272176716
-ONOS3
-838455 0.0114581360747 0.115784162752 14.8943948994 115.284779118
-ONOS4
-721963 7.4895038782e-15 0.120904204399 15.8379871303 115.950426488
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 0.00639404263469 0.108626691934 14.7059959086 115.976548751
-ONOS2
-882388 0.00639404263469 0.115685863289 15.7194469207 120.772693149
-ONOS3
-838455 0.00694971083245 0.104765842874 14.4060985536 114.809742105
-ONOS4
-721963 4.54261372816e-15 0.109398648139 15.3187561516 115.392669644
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 0.00387818289745 0.0982894954593 14.2238760164 115.500730879
-ONOS2
-882388 0.00387818289745 0.104676897842 15.2041021523 120.277110584
-ONOS3
-838455 0.00421521269602 0.0947960547643 13.9338104662 114.338319476
-ONOS4
-721963 2.75523450136e-15 0.0989879903183 14.8165475892 114.840034853
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 0.00235223683127 0.0889360132914 13.7575618943 115.028787138
-ONOS2
-882388 0.00235223683127 0.0947155739711 14.7056523951 119.785643243
-ONOS3
-838455 0.00255665573735 0.0857750174329 13.477005824 113.870975582
-ONOS4
-721963 1.67113419977e-15 0.0895680375762 14.3308033819 114.292957463
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 0.00142670375707 0.080472632637 13.3065353676 114.56060173
-ONOS2
-882388 0.00142670375707 0.0857021953998 14.2235437646 119.29798248
-ONOS3
-838455 0.00155069009103 0.077612445306 13.0351770192 113.407173101
-ONOS4
-721963 1.01359412866e-15 0.081044511859 13.8609837638 113.750705794
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2
deleted file mode 100644
index 8a11c18..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-847463 9.61305429856e-06 0.0296042271241 9.53454922611 110.115061084
-ONOS2
-882388 9.61305429856e-06 0.0315280757509 10.1916144547 114.668040903
-ONOS3
-838455 1.04484676454e-05 0.0285520230071 9.34011247315 109.003891494
-ONOS4
-721963 6.82954351748e-18 0.0298146097327 9.9318288621 108.638596544
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 5.83061216556e-06 0.0267870124339 9.22196952233 109.68607983
-ONOS2
-882388 5.83061216556e-06 0.028527782658 9.85749359047 114.221317514
-ONOS3
-838455 6.33731597393e-06 0.0258349387775 9.03390716435 108.579164644
-ONOS4
-721963 4.14232753519e-18 0.0269773744903 9.60622478266 108.149012696
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 3.5364450433e-06 0.0242378911676 8.91963740015 109.260678936
-ONOS2
-882388 3.5364450433e-06 0.0258130052026 9.5343265111 113.77806128
-ONOS3
-838455 3.84377643848e-06 0.0233764192985 8.73774045962 108.157649859
-ONOS4
-721963 2.51244865267e-18 0.0244101378792 9.29129527463 107.663628878
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 2.14496234515e-06 0.0219313508627 8.62721690389 108.838410455
-ONOS2
-882388 2.14496234515e-06 0.0233565729793 9.22175410879 113.33817375
-ONOS3
-838455 2.33136825902e-06 0.021151858881 8.45128325437 107.739353376
-ONOS4
-721963 1.5238771388e-18 0.0220872061325 8.98669038396 107.182582366
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 1.30098542626e-06 0.0198443068887 8.34438309179 108.419552668
-ONOS2
-882388 1.30098542626e-06 0.0211339011887 8.91942904871 112.902078944
-ONOS3
-838455 1.41404632817e-06 0.0191389933765 8.17421723336 107.324416982
-ONOS4
-721963 9.24278206315e-19 0.0199853305686 8.69207162941 106.705878307
-
-
----------------------------------------------------------------------------------
-ONOS1
-847463 7.89087548868e-07 0.0179558714079 8.07082167497 108.003618095
-ONOS2
-882388 7.89087548868e-07 0.0191227445846 8.62701538302 112.468868542
-ONOS3
-838455 8.57662452292e-07 0.0173176773506 7.90623451695 106.912624706
-ONOS4
-721963 5.60603070234e-19 0.0180834749102 8.40711162651 106.23345851
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1
deleted file mode 100644
index 441f8dc..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-847462 1.62491345509e-07 3.44813864737 46.9599694633 135.303430215
-ONOS2
-882387 1.69670980272e-07 3.67804245786 50.1964046125 140.902128061
-ONOS3
-838454 1.59732460956e-07 3.32089183002 46.0022348291 133.95508364
-ONOS4
-721963 1.66443958328e-07 3.56290629642 48.9201355165 138.498334109
-ONOS5
-567904 1.84038661934e-07 3.9432994012 51.3609925765 136.570828049
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 9.85559829892e-08 3.12000487072 45.4204385431 134.655287699
-ONOS2
-882387 1.02910651598e-07 3.328030441 48.5507707275 140.226904265
-ONOS3
-838454 9.68826349213e-08 3.00486718905 44.4941021848 133.312234333
-ONOS4
-721963 1.0095336385e-07 3.22385093396 47.3163427094 137.700889244
-ONOS5
-567904 1.11625091036e-07 3.56804484872 49.6771789568 135.586642919
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 5.97772253811e-08 2.82309715148 43.9313794498 134.013508367
-ONOS2
-882387 6.24184654053e-08 3.01132647138 46.9590871385 139.558371492
-ONOS3
-838454 5.87622884735e-08 2.71891626888 43.0354120097 132.676128504
-ONOS4
-721963 6.12313103762e-08 2.91706095522 45.7651284844 136.911744918
-ONOS5
-567904 6.77040401063e-08 3.22850048835 48.0485673135 134.615010414
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 3.62567199462e-08 2.55444393741 42.4911375203 133.376011084
-ONOS2
-882387 3.78587130005e-08 2.72476086922 45.4195851443 138.894765341
-ONOS3
-838454 3.56411295941e-08 2.46017717659 41.6245433866 132.045532965
-ONOS4
-721963 3.71386670776e-08 2.63946590297 44.2647691108 136.127384754
-ONOS5
-567904 4.10645761109e-08 2.92126804601 46.4733479107 133.652547022
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 2.1990812268e-08 2.31135645685 41.0981123374 132.741019443
-ONOS2
-882387 2.29624701721e-08 2.46546558967 43.9305540288 138.233474737
-ONOS3
-838454 1.98890029484e-08 2.18926682285 40.0368824154 131.416551651
-ONOS4
-721963 2.25257402434e-08 2.38828751264 42.813597368 135.358799446
-ONOS5
-567904 2.49069244394e-08 2.64327263614 44.9497703425 132.711936992
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 1.33381018725e-08 2.09140180857 39.7507559521 132.117855679
-ONOS2
-882387 1.39274421821e-08 2.23084551842 42.4903391597 137.58373906
-ONOS3
-838454 1.20632900793e-08 1.98093053938 38.7243172852 130.79827849
-ONOS4
-721963 1.36625520903e-08 2.16101190646 41.4100006939 134.597742483
-ONOS5
-567904 1.51068133116e-08 2.39173198725 43.4761415883 131.783407499
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2
deleted file mode 100644
index 94b69e9..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-847462 8.26857012125e-11 0.756666934116 28.3248629861 126.144722387
-ONOS2
-882387 8.63391458494e-11 0.80711751897 30.2769848297 131.363075247
-ONOS3
-838454 8.12818091892e-11 0.728743619827 27.7471858155 124.881661441
-ONOS4
-721963 8.46970364105e-11 0.781851792969 29.5071771043 127.385098867
-ONOS5
-567904 9.36503157419e-11 0.86532607106 30.9794298034 123.107345043
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 5.01514129052e-11 0.684660554978 27.3962635241 125.581979863
-ONOS2
-882387 5.2367339091e-11 0.730310131917 29.2843872013 130.776956742
-ONOS3
-838454 4.92999093502e-11 0.659394495374 26.8375248638 124.324416773
-ONOS4
-721963 5.13713493698e-11 0.707448757637 28.539816775 126.712230222
-ONOS5
-567904 5.68017877892e-11 0.782979407897 29.9638032896 122.309028636
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 3.04183695549e-11 0.619506488798 26.4981071735 125.024149395
-ONOS2
-882387 3.17623967263e-11 0.660811934129 28.3243307939 130.195984043
-ONOS3
-838454 2.99019065419e-11 0.596644812661 25.9576861453 123.771845932
-ONOS4
-721963 3.11582984236e-11 0.640126107253 27.6041702896 126.045876251
-ONOS5
-567904 3.44520258207e-11 0.708469065817 28.9814729734 121.521081683
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 1.84496737535e-11 0.56055265178 25.6293958906 124.471190556
-ONOS2
-882387 1.92648674405e-11 0.597927364285 27.3957487792 129.620072017
-ONOS3
-838454 1.81364231015e-11 0.539866551773 25.106691971 123.223945922
-ONOS4
-721963 1.88984632984e-11 0.579210054104 26.6991979446 125.386849288
-ONOS5
-567904 2.08962099494e-11 0.641049320272 28.0313472755 120.743292878
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 1.11902927932e-11 0.50720901411 24.789164351 123.922990534
-ONOS2
-882387 1.16847327579e-11 0.541027052472 26.497609304 129.048911624
-ONOS3
-838454 1.10002966686e-11 0.48849145679 24.2835967042 122.680716997
-ONOS4
-721963 1.14624974119e-11 0.524090929856 25.8238941219 124.732734412
-ONOS5
-567904 1.26741920061e-11 0.580045411789 27.1123704031 119.972857182
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 6.78725567025e-12 0.458941694732 23.9764788778 123.378414608
-ONOS2
-882387 7.08714866823e-12 0.489541521247 25.6289143431 128.481903343
-ONOS3
-838454 6.67201719544e-12 0.442005348495 23.4874857099 122.141458884
-ONOS4
-721963 6.9523561172e-12 0.474217083787 24.9772861719 124.087232674
-ONOS5
-567904 7.6872860388e-12 0.524846792747 26.2235211761 119.214138441
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1
deleted file mode 100644
index 04237e2..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1
+++ /dev/null
@@ -1,90 +0,0 @@
-ONOS1
-847462 1.56939820715 86.0132392881 137.210706433 159.99030466
-ONOS2
-882387 1.63874162904 91.7481512179 146.667134072 166.615447169
-ONOS3
-838454 1.54275193589 82.839088806 134.412334815 158.415161744
-ONOS4
-721963 1.60757392324 88.8760990132 142.938047655 170.020068127
-ONOS5
-567904 1.77750972017 98.3649411075 150.069903261 177.922812924
-ONOS6
-354393 1.63526518851 90.8269123933 130.534802825 163.623243252
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.951888129936 77.8279973543 132.71240442 159.085204206
-ONOS2
-882387 0.993947041359 83.0171602575 141.858813486 165.67121857
-ONOS3
-838454 0.935726349446 74.9559072277 130.005774336 157.515513285
-ONOS4
-721963 0.975042872198 80.4184199562 138.251981063 168.818316164
-ONOS5
-567904 1.07811414322 89.004279337 145.150026632 176.253237434
-ONOS6
-354393 0.991838473595 82.1835888982 126.255362966 161.37091103
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.577349335423 70.421684177 128.361574289 158.188336271
-ONOS2
-882387 0.602859354715 75.1170329401 137.208128398 164.737679416
-ONOS3
-838454 0.56754672004 67.8229095625 125.743678093 156.628206068
-ONOS4
-721963 0.591393396522 72.7655954757 133.719542008 167.636376199
-ONOS5
-567904 0.653909282534 80.5344023094 140.391442744 174.61956196
-ONOS6
-354393 0.601580443718 74.3627863836 122.116219833 159.183652837
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.350180073299 63.7201748845 124.153381336 157.30218901
-ONOS2
-882387 0.365652682129 67.968702136 132.709910904 163.81550064
-ONOS3
-838454 0.344234486523 61.3687063722 121.621309986 155.746959199
-ONOS4
-721963 0.358698226942 65.8410335321 129.335693979 166.465200242
-ONOS5
-567904 0.396616028528 72.8705406487 135.788863792 173.007469557
-ONOS6
-354393 0.364876983398 67.2862316293 118.112773952 157.048210589
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.212394950876 57.6563985193 120.083149357 156.422881961
-ONOS2
-882387 0.221779562517 61.500624948 128.35916252 162.899734734
-ONOS3
-838454 0.208788770207 55.528701822 117.63408918 154.880250517
-ONOS4
-721963 0.217561472225 59.575430782 125.095565584 165.316791964
-ONOS5
-567904 0.240559781435 65.9359918515 131.337175326 171.434184052
-ONOS6
-354393 0.221309077455 60.8831000968 114.240576639 154.979337447
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.128824049674 52.1696667694 116.146355455 155.557343468
-ONOS2
-882387 0.134516104364 55.6480666856 124.151048634 161.997934084
-ONOS3
-838454 0.126636790534 50.2444471835 113.77758502 154.022229121
-ONOS4
-721963 0.131957703277 53.9060789672 120.994445131 164.18349001
-ONOS5
-567904 0.145906882934 59.6613526225 127.031430567 169.888124954
-ONOS6
-354393 0.134230740749 55.0893070936 110.495325054 152.962677603
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2
deleted file mode 100644
index a4a2201..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2
+++ /dev/null
@@ -1,90 +0,0 @@
-ONOS1
-847462 0.000798607401727 18.8749295551 82.7614349913 147.379860674
-ONOS2
-882387 0.000906362381731 20.4717796746 88.9581135865 153.479962958
-ONOS3
-838454 0.000785048121892 18.1783871712 81.0735400975 145.919199363
-ONOS4
-721963 0.000889124010799 19.8309382062 86.6963083421 153.622350418
-ONOS5
-567904 0.000904507481085 21.585413472 90.5177217275 155.797447153
-ONOS6
-354393 0.000904439616814 20.2662235081 79.1733600731 135.305854332
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.000484379874221 17.0787425243 80.0481924226 146.609924186
-ONOS2
-882387 0.00054973657333 18.5236322633 86.0417197294 152.678023561
-ONOS3
-838454 0.000476155755277 16.448484912 78.4156333054 145.156042842
-ONOS4
-721963 0.000539280972836 17.9437749237 83.8540652808 152.641333911
-ONOS5
-567904 0.000548611519218 19.5312897932 87.5501978338 154.517005318
-ONOS6
-354393 0.000548570357457 18.3376373524 76.5777485919 133.763528802
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.000293791244663 15.4534852889 77.4239005256 145.848084148
-ONOS2
-882387 0.00033343208649 16.7608755898 83.2209366355 151.885106112
-ONOS3
-838454 0.000288803064374 14.8832046184 75.8448630625 144.402164077
-ONOS4
-721963 0.000327090444225 16.2361989718 81.1050020305 151.674396734
-ONOS5
-567904 0.000332749706677 17.6726418274 84.6799609452 153.260715621
-ONOS6
-354393 0.000332724740807 16.5925804348 74.0672313768 132.259717669
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.000178193397443 13.9828917285 74.8856431505 145.09573196
-ONOS2
-882387 0.000202236783388 15.1658673927 80.492629811 151.101190959
-ONOS3
-838454 0.000175167913162 13.466880439 73.3583726929 143.65639038
-ONOS4
-721963 0.000182527963723 14.4482974951 78.0114606766 150.719897691
-ONOS5
-567904 0.00020182289911 15.990867601 81.9038216144 152.024272143
-ONOS6
-354393 0.000201807756544 15.0135876392 71.6390187058 130.788902222
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 0.000108079758908 12.6522436483 72.4305997501 144.350929495
-ONOS2
-882387 0.000122662809647 13.7226442939 77.8537675233 150.325719838
-ONOS3
-838454 0.000106244709931 12.1853373254 70.9533991737 142.918768666
-ONOS4
-721963 0.000110708806253 13.0733602005 75.4539407886 149.777784543
-ONOS5
-567904 0.000122411776142 14.4691353522 79.2186949564 150.807805383
-ONOS6
-354393 0.000122402591712 13.5848558749 69.2904123149 129.350412683
-
-
----------------------------------------------------------------------------------
-ONOS1
-847462 6.55536874718e-05 11.4482234751 70.0560422459 143.609451911
-ONOS2
-882387 6.84501588617e-05 12.2115310069 74.8842361337 149.551953238
-ONOS3
-838454 6.44406740052e-05 11.0257491634 68.6272700647 142.181862885
-ONOS4
-721963 6.71482852926e-05 11.8292654889 72.9802663755 148.838777109
-ONOS5
-567904 7.42464953402e-05 13.0922150733 76.621597221 149.597520164
-ONOS6
-354393 6.83049481086e-05 12.0889156046 66.6475080482 127.927837628
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1
deleted file mode 100644
index a59bc0d..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-20805 219.124237492 62.7194383367 22.2881841137 133.849655918
-ONOS2
-21868 229.319605783 65.6241488277 23.3286063879 140.622689217
-ONOS3
-21609 216.325388406 61.9157006823 22.0069392306 140.436871361
-
-
----------------------------------------------------------------------------------
-ONOS1
-30969 249.243162962 86.4642910382 31.8821118507 164.554952799
-ONOS2
-30814 247.370983508 87.0423498158 32.1765083478 164.565686823
-ONOS3
-30778 252.095434536 86.5889893645 31.8886426074 167.145845368
-
-
----------------------------------------------------------------------------------
-ONOS1
-36676 235.847855045 98.611903827 37.8509621868 167.882982343
-ONOS2
-35361 213.360487048 94.0868556917 36.4034573229 162.568186501
-ONOS3
-34999 216.101321017 93.5894513204 36.0910301903 163.12739404
-
-
----------------------------------------------------------------------------------
-ONOS1
-47868 274.156392817 119.643014661 47.0109172601 192.361286414
-ONOS2
-46066 256.830483702 114.747281068 45.3403399001 185.855398627
-ONOS3
-45505 250.154938407 112.117433985 44.2764999975 185.95427261
-
-
----------------------------------------------------------------------------------
-ONOS1
-57572 302.860192812 141.426347242 56.9062439306 206.346052027
-ONOS2
-55461 287.637766312 135.960876343 54.9377814383 199.500363535
-ONOS3
-55502 291.465311195 135.32904464 54.5021781396 201.919587657
-
-
----------------------------------------------------------------------------------
-ONOS1
-62110 248.601289185 145.154181569 61.0453288194 200.566342335
-ONOS2
-59575 230.746536954 138.000918364 58.3742056208 192.963696888
-ONOS3
-59407 218.75817083 136.271674693 58.0197943298 194.423464673
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2
deleted file mode 100644
index d14323f..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-118141 367.918381463 187.427497533 96.586700531 178.009213385
-ONOS2
-114680 361.107725049 183.344169628 94.2088567927 173.053680767
-ONOS3
-118154 386.393697097 191.83731201 97.1678534925 179.156730436
-
-
----------------------------------------------------------------------------------
-ONOS1
-130575 388.808414633 209.901883941 107.321284123 188.206175923
-ONOS2
-126789 377.318436347 204.448153663 104.416532089 183.015200076
-ONOS3
-131151 403.078496462 214.73263041 108.178115009 190.184823512
-
-
----------------------------------------------------------------------------------
-ONOS1
-142448 381.648168753 225.62052178 116.12392361 196.77037678
-ONOS2
-138420 377.012333151 221.148542302 113.468752371 191.472301158
-ONOS3
-142991 414.425251818 235.563024443 118.85785271 198.669770435
-
-
----------------------------------------------------------------------------------
-ONOS1
-154527 395.431583906 244.083026135 126.09151283 204.932497103
-ONOS2
-149939 384.802931711 237.99270293 122.809378452 199.114565865
-ONOS3
-155462 404.862942682 249.584432004 127.474208878 207.325562206
-
-
----------------------------------------------------------------------------------
-ONOS1
-164163 370.729465648 251.917134656 132.625600048 209.360323074
-ONOS2
-159295 361.579328609 245.384141157 129.07726269 203.415239134
-ONOS3
-165156 378.470568155 257.339562693 134.114485692 211.760521821
-
-
----------------------------------------------------------------------------------
-ONOS1
-164343 242.097164036 232.738539058 129.967458869 201.846370805
-ONOS2
-159475 231.866680002 225.476860791 126.056962001 196.111622973
-ONOS3
-165336 251.438579194 238.962773326 131.87353076 204.119094577
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1
deleted file mode 100644
index 6aa974e..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-183665 204.849590871 119.709121054 104.094141742 151.787988457
-ONOS2
-179110 200.847804682 116.145538612 100.996434824 148.147613524
-ONOS3
-184233 198.038854617 119.000171582 104.455155917 152.787384046
-ONOS4
-19047 201.831707939 57.2026260172 20.3096947367 118.721314025
-
-
----------------------------------------------------------------------------------
-ONOS1
-193375 246.787809378 137.914738037 110.876055082 155.791336494
-ONOS2
-189284 257.48549736 139.542470791 109.676504644 152.620048076
-ONOS3
-194140 249.263585001 138.841368199 111.764423562 156.938394547
-ONOS4
-28834 253.497703762 83.3364071922 30.5152722903 151.190014463
-
-
----------------------------------------------------------------------------------
-ONOS1
-202841 271.388625792 154.357256778 117.434344062 159.537756818
-ONOS2
-198958 283.024030853 156.930660813 116.645268377 156.60812731
-ONOS3
-203648 275.317034657 155.459653581 118.366139207 160.702534748
-ONOS4
-38806 283.933347098 106.757607851 40.3079185843 175.713479682
-
-
----------------------------------------------------------------------------------
-ONOS1
-212594 294.903659878 171.10810037 124.412267331 163.334850684
-ONOS2
-209019 302.362435684 173.564183129 123.694340695 160.710215519
-ONOS3
-213517 291.092779303 170.71700094 124.840151147 164.569862928
-ONOS4
-49248 303.773016302 128.465717635 49.9676990473 196.206702754
-
-
----------------------------------------------------------------------------------
-ONOS1
-220821 287.78535674 181.787784757 129.656668716 165.816572039
-ONOS2
-217589 293.590185574 184.440879685 129.118077597 163.48453201
-ONOS3
-221313 285.388451241 181.590368677 130.135083884 166.681373357
-ONOS4
-57877 299.921385297 145.01801871 58.2886855639 205.719803264
-
-
----------------------------------------------------------------------------------
-ONOS1
-226258 238.133292202 179.644951353 130.61639386 166.114933794
-ONOS2
-223753 254.592744054 185.038536884 131.119540085 164.398192627
-ONOS3
-226694 237.295535221 179.411046929 131.048707647 166.934493095
-ONOS4
-63999 257.523709507 149.149153216 62.5369170649 205.41542321
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2
deleted file mode 100644
index 2dc5ddc..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-261680 277.856307991 157.232430906 129.421237733 157.526420419
-ONOS2
-260555 293.206579942 163.746732677 131.415041316 156.944851565
-ONOS3
-261702 270.435481958 154.951446341 128.936669748 157.938837859
-ONOS4
-102338 304.916266556 154.14300608 83.6041737114 167.614448791
-
-
----------------------------------------------------------------------------------
-ONOS1
-273779 327.131345509 180.168150081 138.207201083 161.877950126
-ONOS2
-273328 346.029238368 188.411434752 140.945991834 161.706992319
-ONOS3
-273725 323.664894843 178.56145631 137.908975733 162.24620562
-ONOS4
-115656 361.783324016 181.687642422 95.3727092398 180.516037018
-
-
----------------------------------------------------------------------------------
-ONOS1
-285802 355.795968832 200.904455902 146.717616632 166.027450158
-ONOS2
-286355 381.197996327 211.389114875 150.388053667 166.446451967
-ONOS3
-286589 361.292204397 201.235118457 147.039940718 166.891535987
-ONOS4
-129997 410.369669315 210.058814072 107.946809557 193.759934222
-
-
----------------------------------------------------------------------------------
-ONOS1
-297620 374.64384432 219.978791656 155.053299291 169.911925898
-ONOS2
-298609 393.84996441 230.242113322 158.862338735 170.57529671
-ONOS3
-297229 364.861592056 217.164126183 154.297058743 170.096563667
-ONOS4
-142316 408.996082424 228.614086048 117.677080363 203.02086857
-
-
----------------------------------------------------------------------------------
-ONOS1
-310086 388.029406303 237.738964671 163.289817083 174.038433772
-ONOS2
-311004 403.091451703 247.678683019 167.18886412 174.652788714
-ONOS3
-309112 373.535529321 233.194474897 161.874363193 173.901626056
-ONOS4
-154295 409.065000557 245.211585977 126.999232296 211.048849997
-
-
----------------------------------------------------------------------------------
-ONOS1
-323668 415.018741042 258.63123752 172.932714102 178.644021937
-ONOS2
-324513 418.718336325 266.368534581 176.274079037 179.210240256
-ONOS3
-321751 393.281278297 251.351291238 170.470587976 177.998389029
-ONOS4
-167948 423.962265429 264.426698455 137.496552216 220.640812914
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1
deleted file mode 100644
index 5d49b30..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-354062 206.292444865 123.868636 132.704118233 156.397776606
-ONOS2
-354962 208.171296794 126.292477483 135.001535724 156.865028229
-ONOS3
-350559 200.974665355 119.766793488 130.016262182 155.137750572
-ONOS4
-198542 208.104812051 125.994290789 111.528798145 163.645260729
-ONOS5
-20742 215.20075479 61.5778059303 21.8984475209 129.129506853
-
-
----------------------------------------------------------------------------------
-ONOS1
-364499 262.262165724 146.736981236 140.279532773 158.762639655
-ONOS2
-365479 255.419230208 145.506888639 141.335365141 159.259204471
-ONOS3
-360969 253.209779046 141.779460851 137.253372454 157.507200142
-ONOS4
-209336 264.733587808 149.291897271 120.159194934 168.095832002
-ONOS5
-30876 265.457020796 88.1746734403 32.3518264392 161.674970954
-
-
----------------------------------------------------------------------------------
-ONOS1
-374751 288.962427426 164.189535103 146.503018007 161.100472597
-ONOS2
-375939 294.853869376 167.47019611 149.103849389 161.680544042
-ONOS3
-370944 286.24211455 160.400898507 143.81852808 159.750996823
-ONOS4
-219738 297.815618746 168.312568826 127.66913306 172.264094509
-ONOS5
-41382 297.489031842 112.811255942 42.6701271193 187.158430402
-
-
----------------------------------------------------------------------------------
-ONOS1
-384896 308.812743497 180.684016744 152.754669628 163.346120625
-ONOS2
-386256 311.411294143 183.533247197 155.236125493 163.993752936
-ONOS3
-380773 298.546414139 175.245931918 149.469861822 161.881950295
-ONOS4
-230150 313.32089684 184.333989885 134.517339252 176.26032273
-ONOS5
-52195 320.930845861 135.943150177 52.932337467 207.726743569
-
-
----------------------------------------------------------------------------------
-ONOS1
-394749 316.706389222 194.768800372 158.521313473 165.411165061
-ONOS2
-396239 321.764057061 198.17772571 161.206973944 166.105373384
-ONOS3
-390358 311.278677591 189.984436797 155.388221309 163.858815146
-ONOS4
-240377 328.293659495 200.24307799 141.632436273 179.942016698
-ONOS5
-62695 332.729725921 156.433605993 62.7143502157 222.797918764
-
-
----------------------------------------------------------------------------------
-ONOS1
-404710 322.298243796 207.836964032 164.21768949 167.470977968
-ONOS2
-406217 322.850343691 210.357903012 166.623812829 168.163500048
-ONOS3
-400025 311.15814486 201.719558318 160.576928081 165.818647496
-ONOS4
-250334 325.52205416 211.827995184 147.548344909 183.260559972
-ONOS5
-73079 337.296095548 174.387131968 71.9763519851 234.584446533
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2
deleted file mode 100644
index 3f68e7d..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-440053 278.443856414 167.824719734 153.516969427 162.052777856
-ONOS2
-442583 278.051349959 167.849418421 154.876433868 163.044938827
-ONOS3
-434310 269.872294146 162.821048108 149.927896655 160.185157484
-ONOS4
-287658 281.056512648 169.905789578 141.808213267 172.778077365
-ONOS5
-113348 326.860589621 169.487428093 92.5245955044 185.684020534
-
-
----------------------------------------------------------------------------------
-ONOS1
-453394 340.282787325 193.440023461 162.81862359 165.131490906
-ONOS2
-456799 348.023293339 195.432572296 164.814385093 166.432957466
-ONOS3
-446336 320.234041043 185.073678797 158.011660447 162.809799553
-ONOS4
-301402 361.34261049 202.119631401 154.039604508 177.809697866
-ONOS5
-128676 395.276864475 201.117341808 105.950937107 200.865289479
-
-
----------------------------------------------------------------------------------
-ONOS1
-464807 352.087850194 210.819099946 169.84242058 167.447812403
-ONOS2
-469447 383.127346319 219.110354907 174.014956327 169.180937659
-ONOS3
-457570 339.593882023 202.944053926 165.075675157 165.090093273
-ONOS4
-313846 380.252516998 222.25975338 162.579087345 181.917391683
-ONOS5
-141422 403.596180098 222.245210559 116.387260924 210.836680407
-
-
----------------------------------------------------------------------------------
-ONOS1
-476514 367.863207133 227.805754949 177.022707238 169.821044467
-ONOS2
-482266 391.034693999 236.630264577 181.528725223 171.93237007
-ONOS3
-468635 346.933392368 217.357187673 171.262727243 167.257646146
-ONOS4
-326919 402.076093608 242.098143808 171.34386599 186.230577744
-ONOS5
-153212 400.505815145 238.502963553 125.446296434 218.571506948
-
-
----------------------------------------------------------------------------------
-ONOS1
-489734 393.24321426 247.349613098 185.425318619 172.673292329
-ONOS2
-496451 427.300687943 262.781593695 192.696546514 175.104094338
-ONOS3
-481233 374.436457681 236.341850245 179.315117889 169.927435783
-ONOS4
-341308 428.731400885 263.923938562 181.191624639 191.148214763
-ONOS5
-167523 428.634092991 260.864166728 136.864656005 229.143751115
-
-
----------------------------------------------------------------------------------
-ONOS1
-501712 397.154932806 262.457364233 192.677370108 175.037842794
-ONOS2
-509297 427.655645975 278.718377567 200.496453125 177.746703904
-ONOS3
-492999 383.049762107 251.789786789 186.519505161 172.250372969
-ONOS4
-354445 434.411808973 281.135080882 189.843654476 195.213313687
-ONOS5
-180653 431.214812809 277.607904416 146.707980634 237.325604588
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1
deleted file mode 100644
index a495d45..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1
+++ /dev/null
@@ -1,90 +0,0 @@
-ONOS1
-532670 191.915994426 127.207103719 147.512875705 161.392910562
-ONOS2
-542133 195.986594946 132.531249542 153.146241027 164.310402903
-ONOS3
-523540 194.733991114 124.866045517 143.548352861 158.828515276
-ONOS4
-387680 194.235956989 132.969111279 146.681199192 172.314168274
-ONOS5
-214332 206.923150382 136.259696563 121.666506157 179.301992252
-ONOS6
-18648 198.065999019 56.423245186 20.0543367227 109.687171758
-
-
----------------------------------------------------------------------------------
-ONOS1
-540668 219.127856752 139.861876563 151.202641374 162.303981699
-ONOS2
-551112 240.44015638 150.663967214 158.645773145 165.489215146
-ONOS3
-531981 226.388183741 139.186118829 147.871036859 159.897425398
-ONOS4
-396505 240.645677419 151.312493618 152.515985621 173.857903727
-ONOS5
-223488 244.254009004 151.970498027 127.55609894 182.262441935
-ONOS6
-26921 228.616786013 77.1042180363 28.3608384082 134.409937967
-
-
----------------------------------------------------------------------------------
-ONOS1
-549339 246.87921237 153.828919352 155.626505624 163.42260414
-ONOS2
-560535 267.493758574 165.587077451 163.516089359 166.803325794
-ONOS3
-540971 251.87067727 153.533478854 152.522075792 161.134351424
-ONOS4
-406023 266.508070739 165.915909029 157.498649152 175.700346331
-ONOS5
-233331 275.652590863 168.151171934 133.91980726 185.713468819
-ONOS6
-36582 263.76872052 99.9075446456 37.8081909675 158.742341146
-
-
----------------------------------------------------------------------------------
-ONOS1
-558868 273.843164089 169.25894704 160.886084377 164.778019716
-ONOS2
-570483 294.86043339 181.946729476 169.222843119 168.252680654
-ONOS3
-550537 279.485899631 169.685176985 158.126238358 162.518946374
-ONOS4
-416050 295.04136331 182.506110274 163.496874524 177.715688801
-ONOS5
-243469 299.718342771 184.25276504 140.591644067 189.232301857
-ONOS6
-46736 295.236939701 123.099554329 47.8334015592 179.117578506
-
-
----------------------------------------------------------------------------------
-ONOS1
-568081 283.311970165 181.589502383 165.412939782 166.002416788
-ONOS2
-580156 301.872345585 194.506619798 173.972874638 169.580934705
-ONOS3
-560002 292.288743598 183.151461265 163.139447138 163.842182459
-ONOS4
-425948 305.422049865 195.752186884 168.684854048 179.609687367
-ONOS5
-253536 308.836589146 197.566586519 146.616432856 192.504592139
-ONOS6
-56748 306.37664055 142.136935759 56.8568362784 194.952292599
-
-
----------------------------------------------------------------------------------
-ONOS1
-577261 295.566906269 194.182354091 170.278927072 167.211617917
-ONOS2
-589810 309.928424773 206.578240478 178.799124217 170.896636948
-ONOS3
-569489 304.280817811 196.316089156 168.323730199 165.161173671
-ONOS4
-435606 316.878732565 208.800012269 174.058557992 181.377652997
-ONOS5
-263100 318.01131195 210.381358074 152.702324728 195.298517124
-ONOS6
-66469 316.339232982 160.156806187 65.8592233799 206.932420493
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2
deleted file mode 100644
index 7208abe..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2
+++ /dev/null
@@ -1,192 +0,0 @@
-ONOS1
-610375 267.011500505 157.02319942 155.277875681 162.703902757
-ONOS2
-626731 293.875448071 171.360123553 165.281872122 167.10755954
-ONOS3
-604349 273.304544266 160.843661582 155.288466867 161.276713052
-ONOS4
-471953 293.650821896 171.020567492 161.247609241 174.735505722
-ONOS5
-300127 292.334940845 172.5366777 146.571183473 182.28474406
-ONOS6
-103379 295.743582999 154.650812204 84.4089817797 166.600887628
-
-
----------------------------------------------------------------------------------
-ONOS1
-621371 305.774751156 177.126047923 162.276488245 164.308990388
-ONOS2
-638931 339.915524505 194.338908185 173.409107015 168.996607835
-ONOS3
-616094 322.078039252 183.677278996 163.357456916 163.093662304
-ONOS4
-484511 340.047999964 194.088819234 169.526751175 177.402085396
-ONOS5
-313007 342.1374441 196.248713085 155.607773586 186.684071105
-ONOS6
-115707 339.975377513 178.906359385 95.0758437712 177.813133931
-
-
----------------------------------------------------------------------------------
-ONOS1
-632009 329.404886638 195.062136918 168.942197448 165.798366286
-ONOS2
-651286 367.625590127 214.798786375 181.137873273 170.900489839
-ONOS3
-627020 340.260671113 201.252526305 170.079127955 164.669951496
-ONOS4
-496205 364.409184513 213.569407991 177.026390034 179.698466315
-ONOS5
-325635 378.63662941 218.657188233 164.643334386 190.781524855
-ONOS6
-127290 357.673841558 198.368957909 104.520510814 186.941765504
-
-
----------------------------------------------------------------------------------
-ONOS1
-642494 335.185971138 209.110493749 174.630497433 167.224326145
-ONOS2
-663174 375.064052086 231.344098082 187.95172099 172.652211864
-ONOS3
-637887 350.671582872 216.941544912 176.502739313 166.204199508
-ONOS4
-507613 367.983762834 228.850727509 183.492177459 181.839404652
-ONOS5
-337733 387.649474223 236.063680485 172.410661166 194.427786177
-ONOS6
-138454 360.514166649 214.404023222 113.131532002 194.701831138
-
-
----------------------------------------------------------------------------------
-ONOS1
-653240 339.936387098 221.961974326 180.170996046 168.69550716
-ONOS2
-674865 382.682269026 246.516357099 194.581250518 174.325613705
-ONOS3
-648843 345.964245256 228.249248446 181.707998276 167.741707046
-ONOS4
-519000 371.855091406 242.6756595 189.721678441 183.932792452
-ONOS5
-350106 391.937291994 251.104494294 179.65466251 198.097479842
-ONOS6
-150020 369.740466828 230.409537049 121.957722122 202.349931871
-
-
----------------------------------------------------------------------------------
-ONOS1
-664819 359.514760212 238.140767341 187.128328675 170.360568873
-ONOS2
-688424 409.799048844 266.173920853 203.064335175 176.446939575
-ONOS3
-661592 378.158783027 247.4900062 189.877486535 169.707774688
-ONOS4
-532057 395.381817144 260.935272464 197.765194679 186.550276122
-ONOS5
-363884 419.889579522 271.376402836 188.987462781 202.427473107
-ONOS6
-162480 389.983093926 248.719192602 131.831467698 210.56028192
-
-
----------------------------------------------------------------------------------
-ONOS1
-773356 249.45137296 154.398229801 154.495225192 162.105027016
-ONOS2
-802448 249.914737764 158.680752265 163.19623879 168.238686707
-ONOS3
-767420 228.607855384 147.706361417 152.767613552 161.002289521
-ONOS4
-645195 249.929979558 159.356029008 161.606275676 173.431601801
-ONOS5
-481989 285.352120421 170.860863801 162.822642874 180.812115792
-ONOS6
-275398 252.320730035 157.310494291 135.301699659 167.952837129
-ONOS7
-102996 270.009169156 149.055080856 83.0706759754 161.816978843
-
-
----------------------------------------------------------------------------------
-ONOS1
-785830 311.702680199 178.188631564 162.6691532 163.682092723
-ONOS2
-816069 328.204097668 186.02077177 172.450680206 170.016495926
-ONOS3
-779136 291.722797013 170.33459808 160.377734754 162.429832499
-ONOS4
-657923 319.500451247 184.581147622 170.208965841 175.430725531
-ONOS5
-496308 360.461894228 199.642161615 172.983963904 184.101000232
-ONOS6
-288763 327.563429421 184.320552072 145.315029131 172.923657219
-ONOS7
-116881 347.722404809 179.027668525 95.5402784649 175.328273
-
-
----------------------------------------------------------------------------------
-ONOS1
-798091 349.350935165 199.999329013 170.69080799 165.198346877
-ONOS2
-829188 376.092475971 213.818241185 182.607739052 171.670843651
-ONOS3
-791047 334.422364161 192.017249663 168.162632753 163.880970136
-ONOS4
-670599 358.63055037 206.867236646 178.356281281 177.381771064
-ONOS5
-510615 402.640291229 225.289633666 182.701181503 187.309111537
-ONOS6
-301806 373.038860055 211.579668381 156.251926514 177.522600957
-ONOS7
-130372 383.867570644 203.759600005 106.793541671 187.077391512
-
-
----------------------------------------------------------------------------------
-ONOS1
-810913 376.452013855 220.743265089 178.796234923 166.808277226
-ONOS2
-842791 404.838663316 236.234872116 191.354740446 173.401751886
-ONOS3
-803105 358.889771615 211.322579646 175.585623354 165.344785569
-ONOS4
-683889 388.265885763 228.438848521 186.719986839 179.461398417
-ONOS5
-525263 437.318730225 250.645880008 192.838354768 190.566800599
-ONOS6
-314942 396.625884232 232.796675574 165.383820701 182.009196115
-ONOS7
-144211 413.630207284 228.033819502 118.331233416 198.331107858
-
-
----------------------------------------------------------------------------------
-ONOS1
-822872 387.208584327 237.927302096 186.077866829 168.222006429
-ONOS2
-856033 419.471281858 255.495249364 199.442526624 175.03616011
-ONOS3
-814570 366.051542118 226.935857771 182.12675952 166.666347249
-ONOS4
-696337 397.638401893 245.730738361 194.034298012 181.290400989
-ONOS5
-539352 446.20618213 270.32859869 201.500921299 193.557535841
-ONOS6
-327851 410.104056941 251.440507962 174.004831295 186.219162288
-ONOS7
-157329 420.852160619 247.009397397 128.440727991 207.74216205
-
-
----------------------------------------------------------------------------------
-ONOS1
-835268 400.430419391 255.221484341 193.72919645 169.707977874
-ONOS2
-869273 430.355213808 273.705420421 207.551751531 176.65298677
-ONOS3
-826658 382.30538924 243.910519047 189.432438685 168.101494895
-ONOS4
-709141 411.35331864 263.534861247 201.864403933 183.182551787
-ONOS5
-553662 458.307854017 290.132687274 210.587903445 196.559397335
-ONOS6
-341347 423.632939192 269.697854337 182.826074928 190.609567034
-ONOS7
-171533 440.683015176 268.519750514 139.748166724 217.797386658
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1
deleted file mode 100644
index 6c34726..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1
+++ /dev/null
@@ -1,102 +0,0 @@
-ONOS1
-694469 178.094229286 120.499298444 144.838952961 160.80504083
-ONOS2
-720047 185.522727707 130.700388051 156.461494285 166.766479409
-ONOS3
-691552 174.090436664 122.332531691 146.758982473 160.285159223
-ONOS4
-563854 188.465363197 130.159161226 153.387802846 172.531431199
-ONOS5
-396049 187.647483959 133.086788904 148.245280609 178.912373978
-ONOS6
-193646 183.777444251 125.426295805 111.08624917 163.042274564
-ONOS7
-18005 194.177930043 54.4532800287 19.2938708667 97.1795758079
-
-
----------------------------------------------------------------------------------
-ONOS1
-704276 230.807212362 138.574367558 150.259088063 161.90398381
-ONOS2
-729743 231.609723334 147.345768921 161.367070075 167.797685794
-ONOS3
-700862 230.319678273 141.9105856 152.601851202 161.274871895
-ONOS4
-573981 241.105807676 148.485341916 158.942548445 173.968776505
-ONOS5
-406314 241.385639953 151.226221586 153.994485778 180.998338641
-ONOS6
-203505 234.640066897 143.263469414 117.700634077 166.959066657
-ONOS7
-27855 248.101340143 80.637939722 29.4582962959 129.131160248
-
-
----------------------------------------------------------------------------------
-ONOS1
-713568 264.026468386 157.139998321 156.250721181 162.908385502
-ONOS2
-739338 269.350368944 164.404902494 166.779743208 168.83058994
-ONOS3
-709855 258.034649902 156.957491378 157.430823088 162.216081181
-ONOS4
-583668 275.562808277 165.647304192 164.512911031 175.298244125
-ONOS5
-416247 279.598942499 170.721441409 160.64361271 182.958565645
-ONOS6
-212886 267.916104671 160.028775641 124.315730256 170.427059121
-ONOS7
-37839 282.104889303 104.603915028 39.3813175123 153.878892681
-
-
----------------------------------------------------------------------------------
-ONOS1
-722774 280.759913607 171.260837186 161.138885656 163.880012537
-ONOS2
-749142 286.608137963 178.513923694 171.559573244 169.897184623
-ONOS3
-718928 273.835752061 170.215961687 161.972373055 163.161915847
-ONOS4
-593274 287.081036865 178.967450938 169.142909215 176.580071974
-ONOS5
-426396 300.728001671 186.15956139 166.290663931 184.9609983
-ONOS6
-222461 283.224390724 173.904564319 130.261550879 173.882280475
-ONOS7
-48024 304.134603115 126.536959363 49.0591879583 173.880652758
-
-
----------------------------------------------------------------------------------
-ONOS1
-732296 291.415079269 184.324663927 165.974787595 164.907325557
-ONOS2
-758897 301.323619325 192.46378527 176.599793273 170.935523609
-ONOS3
-728439 287.589221829 183.355446908 166.766537962 164.192761562
-ONOS4
-603202 305.678987339 195.554154215 175.265938503 177.932387589
-ONOS5
-436385 311.195647906 199.661950343 171.597731851 186.842046826
-ONOS6
-232215 298.326375976 188.009311173 136.554623395 177.298742174
-ONOS7
-58045 313.131845097 145.490112744 58.1213166008 189.382284338
-
-
----------------------------------------------------------------------------------
-ONOS1
-740681 285.722157826 193.283750799 169.6721453 165.665325251
-ONOS2
-768172 304.151119902 203.603702385 180.963592435 171.853025749
-ONOS3
-736817 284.88012187 192.808469275 170.578784585 164.956012806
-ONOS4
-612066 302.310294192 205.310611127 179.298442086 178.949812697
-ONOS5
-445279 305.118867606 209.137904524 175.801821222 188.211958059
-ONOS6
-240999 295.477598288 198.052252978 141.714948562 179.865631979
-ONOS7
-67535 314.202071902 161.795814084 66.6087364915 200.61433243
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2
deleted file mode 100644
index e69de29..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2
+++ /dev/null
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140819-111523/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140819-111523/scale3nodesrate1
deleted file mode 100644
index 54f3bdd..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140819-111523/scale3nodesrate1
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-47382 310.772006656 125.980553566 48.5591023883 185.379482084
-ONOS2
-67965 413.028981531 175.987646786 68.5396123801 268.776851941
-ONOS3
-75944 459.906639265 196.644993277 76.7071616027 301.237187527
-
-
----------------------------------------------------------------------------------
-ONOS1
-51883 320.151706949 134.016333481 52.1215589751 193.817067471
-ONOS2
-73198 419.848939102 185.179700795 72.8230013201 276.660293328
-ONOS3
-80629 454.183943284 204.076475293 80.538445973 307.198112054
-
-
----------------------------------------------------------------------------------
-ONOS1
-55252 326.38929909 141.419604413 55.5199477382 198.81050461
-ONOS2
-77304 420.500071865 192.952062514 76.6807494315 281.359490349
-ONOS3
-84863 453.246031166 212.052749547 84.5905579648 311.371162096
-
-
----------------------------------------------------------------------------------
-ONOS1
-58595 316.791574654 145.43479816 57.8224447093 203.438548628
-ONOS2
-81584 411.390069735 198.478103707 79.8286708842 286.397456311
-ONOS3
-89529 448.666446273 218.913454941 88.3074689533 316.543871481
-
-
----------------------------------------------------------------------------------
-ONOS1
-63126 336.208330581 155.163071592 62.0673619852 211.635019647
-ONOS2
-86580 425.694406502 212.016412711 86.3779310577 293.375390241
-ONOS3
-94515 455.928368087 227.947409341 92.7926965772 322.655246529
-
-
----------------------------------------------------------------------------------
-ONOS1
-66605 341.807378814 162.326116524 65.5120919275 215.985954784
-ONOS2
-90372 420.656456263 217.883400013 89.7401141132 296.078755895
-ONOS3
-98696 458.653912524 235.954196487 96.9819670713 325.709552228
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1
deleted file mode 100644
index 4ea2d4a..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-1227590 1.25519486355e-21 0.0068039475535 7.50840588321 149.182531297
-ONOS2
-1181814 1.20055109198e-21 0.00633668100493 6.93739942224 143.650961062
-ONOS3
-1138041 1.1523716855e-21 0.00593171032296 6.6006298246 138.387175243
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 7.61314168654e-22 0.00615646633676 7.26225105919 148.638971757
-ONOS2
-1181814 7.28171045837e-22 0.00573366607942 6.70996441667 143.127502641
-ONOS3
-1138041 6.98948758641e-22 0.00536723345317 6.38423543968 137.882707965
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 4.61760384962e-22 0.00557060110438 7.02416615019 148.099726015
-ONOS2
-1181814 4.41658064815e-22 0.00518803561118 6.48998561746 142.608136589
-ONOS3
-1138041 4.23933851684e-22 0.00485647365976 6.17493530653 137.38221829
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 2.8007183092e-22 0.00504048832019 6.79388659293 147.564441996
-ONOS2
-1181814 2.6787915742e-22 0.0046943287471 6.2772185811 142.092312816
-ONOS3
-1138041 2.57128878736e-22 0.00439431908706 5.97249684791 136.88504217
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.69872152375e-22 0.00456082243728 6.57115649753 147.032657858
-ONOS2
-1181814 1.62476922073e-22 0.00424760430294 6.07142687789 141.580274261
-ONOS3
-1138041 1.55956548451e-22 0.00397614433676 5.77669511137 136.391652721
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.03032668647e-22 0.00412680279827 6.3557283632 146.500636327
-ONOS2
-1181814 9.8547234733e-23 0.00384339131031 5.87238182919 141.067805586
-ONOS3
-1138041 9.45924282185e-23 0.00359776417541 5.5873125193 135.897704469
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2
deleted file mode 100644
index 85b5508..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2
+++ /dev/null
@@ -1,54 +0,0 @@
-ONOS1
-1227590 2.55392451676e-25 0.00124296911654 4.26037212901 140.529109276
-ONOS2
-1181814 2.65502587391e-25 0.00117706234612 3.9583048687 135.316299941
-ONOS3
-1138041 2.34471187343e-25 0.00108362574546 3.74528758515 130.354827202
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.54903352201e-25 0.00112468496611 4.12070051722 140.047123712
-ONOS2
-1181814 1.61035459486e-25 0.00106505005413 3.82853619962 134.852040115
-ONOS3
-1138041 1.42213963943e-25 0.000980505121638 3.62250245329 129.905788026
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 9.3953632402e-26 0.00101765704084 3.98560788552 139.566390206
-ONOS2
-1181814 9.76729434791e-26 0.00096369714106 3.70302185355 134.389180449
-ONOS3
-1138041 8.62571293705e-26 0.000887197722634 3.50374269686 129.461280366
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 5.69857586432e-26 0.00092081416928 3.85494411708 139.090758337
-ONOS2
-1181814 5.92416348444e-26 0.000871989232885 3.58162235719 133.93106371
-ONOS3
-1138041 5.2317593582e-26 0.000802769696636 3.38887634835 129.019899937
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 3.45636097841e-26 0.000833187115422 3.7285640165 138.618423491
-ONOS2
-1181814 3.59318678646e-26 0.000789008486039 3.46420280972 133.476123918
-ONOS3
-1138041 3.17322245499e-26 0.000726376059581 3.27777576667 128.581428234
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 2.09638890444e-26 0.000753898878259 3.60632714844 138.149300399
-ONOS2
-1181814 2.17937795207e-26 0.000713924401316 3.3506327329 133.024322259
-ONOS3
-1138041 1.92465670904e-26 0.000657252238275 3.17031749529 128.146060187
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1
deleted file mode 100644
index cfecba6..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-1227590 1.21231106943e-14 0.169723328692 21.9385507954 169.046093322
-ONOS2
-1181814 1.159534205e-14 0.158067443136 20.2701468168 162.783157235
-ONOS3
-1138041 1.11300085031e-14 0.147965517507 19.286151407 156.826778687
-ONOS4
-993739 1.3241146351e-14 0.178952787474 22.5529927766 159.93471629
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 7.35303832719e-15 0.153572018514 21.2193195505 168.348391721
-ONOS2
-1181814 7.0329304632e-15 0.143025337123 19.6056123603 162.111314773
-ONOS3
-1138041 6.7506914e-15 0.13388473682 18.6538761571 156.179044172
-ONOS4
-993739 8.03116123161e-15 0.161923178168 21.8136177275 159.163760595
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 4.45984318748e-15 0.138957708715 20.5236675105 167.656334893
-ONOS2
-1181814 4.26568795356e-15 0.129414676756 18.9628639347 161.444730758
-ONOS3
-1138041 4.09450130836e-15 0.121143919578 18.0423293556 155.536643404
-ONOS4
-993739 4.87114552007e-15 0.146514150454 21.0984822758 158.400114113
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 2.70503163072e-15 0.125734134369 19.8508216571 166.970034123
-ONOS2
-1181814 2.5872705286e-15 0.117099241972 18.3411873089 160.783519468
-ONOS3
-1138041 2.48344057975e-15 0.109615551402 17.4508314429 154.899454419
-ONOS4
-993739 2.95449910584e-15 0.132571485602 20.4067917529 157.643926166
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.64068461952e-15 0.113768949502 19.2000343146 166.289420825
-ONOS2
-1181814 1.56925890057e-15 0.10595577576 17.7398916671 160.127875657
-ONOS3
-1138041 1.50628285319e-15 0.0991842525073 16.8787251384 154.267449827
-ONOS4
-993739 1.79199429179e-15 0.119955640738 19.7377775426 156.89433892
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 9.9512552466e-16 0.10294240252 18.5705823189 165.613528604
-ONOS2
-1181814 9.5180363622e-16 0.0958727505644 17.1583088412 159.477127027
-ONOS3
-1138041 9.13606732661e-16 0.0897456229485 16.3253747095 153.640300545
-ONOS4
-993739 1.08689948e-15 0.108540352244 19.0906962269 156.152461058
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2
deleted file mode 100644
index 8a29424..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2
+++ /dev/null
@@ -1,66 +0,0 @@
-ONOS1
-1227590 6.7051030426e-18 0.0378703935119 13.306403687 159.129895399
-ONOS2
-1181814 6.41320245439e-18 0.0352696139012 12.2944655212 153.231538184
-ONOS3
-1138041 6.15583374268e-18 0.0330155696179 11.6976421362 147.620459846
-ONOS4
-993739 6.73791867165e-18 0.0392697831777 13.6032973961 149.076643047
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 4.06685057187e-18 0.0342665490853 12.8701678856 158.510842519
-ONOS2
-1181814 3.88980391553e-18 0.0319132663775 11.891404999 152.635687577
-ONOS3
-1138041 3.73370190103e-18 0.029873722768 11.3141478118 147.046327934
-ONOS4
-993739 4.08675425701e-18 0.0355327692174 13.1573282612 148.40660791
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 2.46666956031e-18 0.0310056557993 12.4482335949 157.894106807
-ONOS2
-1181814 2.35928533504e-18 0.0288763175501 11.5015583724 152.041637006
-ONOS3
-1138041 2.2646046772e-18 0.0270308621766 10.9432259268 146.47390969
-ONOS4
-993739 2.47874175559e-18 0.0321513791543 12.7259797335 147.739147663
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.49611071571e-18 0.028055077538 12.0401319555 157.285221046
-ONOS2
-1181814 1.43097889071e-18 0.0261283726144 11.1244924384 151.455219706
-ONOS3
-1138041 1.37355216885e-18 0.0244585355391 10.5844643076 145.908594082
-ONOS4
-993739 1.50343287227e-18 0.0290917709003 12.3087724927 147.080960848
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 9.07437019401e-19 0.0253852839223 11.6454094793 156.681050185
-ONOS2
-1181814 8.67932570618e-19 0.0236419292139 10.7597881961 150.873155653
-ONOS3
-1138041 8.33101503123e-19 0.0221309981462 10.2374642933 145.347657129
-ONOS4
-993739 9.11878131853e-19 0.0263233228675 11.9052429321 146.428533591
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 5.06381749398e-19 0.0225899014138 11.2012253365 156.081400914
-ONOS2
-1181814 5.26427714643e-19 0.0213921021873 10.407040381 150.295242095
-ONOS3
-1138041 5.05301604297e-19 0.0200249552211 9.90184029259 144.79076696
-ONOS4
-993739 5.5308204489e-19 0.0238183274976 11.5149426441 145.781606078
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1
deleted file mode 100644
index 4a242c9..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-1227590 2.28058699027e-07 4.83757883083 67.0147045529 196.206635684
-ONOS2
-1181814 2.37086782602e-07 4.58107270115 62.2632538364 188.945213639
-ONOS3
-1138041 2.0937656377e-07 4.21742173398 58.9125394177 182.044763207
-ONOS4
-993739 2.49091069658e-07 5.10064363617 68.8916128418 190.804173897
-ONOS5
-801932 2.55742585888e-07 5.29722835659 70.5580956483 193.084021593
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.38324593174e-07 4.37722233883 64.8177012126 195.266951068
-ONOS2
-1181814 1.43800402661e-07 4.14512599474 60.222021579 188.039539623
-ONOS3
-1138041 1.26993305352e-07 3.81608099254 56.9811566451 181.17165974
-ONOS4
-993739 1.51081370808e-07 4.61525321808 66.6330771288 189.705953058
-ONOS5
-801932 1.55115719335e-07 4.79313042892 68.2449261304 191.692187977
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 8.38981067524e-08 3.96067455924 62.692724209 194.334716249
-ONOS2
-1181814 8.02456786606e-08 3.68867206117 57.9250077142 187.141843263
-ONOS3
-1138041 7.70253332741e-08 3.45293287231 55.1130921312 180.305872232
-ONOS4
-993739 9.16354835066e-08 4.17605380543 64.4485850236 188.61934931
-ONOS5
-801932 9.408243958e-08 4.33700376161 66.0075913295 190.31937394
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 5.08867740372e-08 3.58376654186 60.637412238 193.410915266
-ONOS2
-1181814 4.86714644171e-08 3.33764850381 56.0260000817 186.252206526
-ONOS3
-1138041 4.67182262053e-08 3.12434286483 53.3062700567 179.448670924
-ONOS4
-993739 5.55797302644e-08 3.77864974288 62.3357090881 187.546926603
-ONOS5
-801932 5.70638841459e-08 3.92428328567 63.8436050879 188.968400897
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 3.08643886274e-08 3.24272606458 58.6494814082 192.497295472
-ONOS2
-1181814 2.95207354221e-08 3.0200292545 54.1892493247 185.371920678
-ONOS3
-1138041 2.83360365609e-08 2.82702233087 51.5586826554 178.60004413
-ONOS4
-993739 3.37108104639e-08 3.41906367701 60.292101465 186.486840568
-ONOS5
-801932 3.46109952967e-08 3.55083835585 61.7505627538 187.63664566
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.87201979958e-08 2.93413987967 56.7267227029 191.592142297
-ONOS2
-1181814 1.79052311308e-08 2.73263547303 52.4127144199 184.500303471
-ONOS3
-1138041 1.71866749489e-08 2.5579955866 49.868387984 177.759866594
-ONOS4
-993739 2.04466401101e-08 3.09369674961 58.3154912688 185.43873989
-ONOS5
-801932 2.09926298106e-08 3.21293140977 59.7261385093 186.323702626
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2
deleted file mode 100644
index 044d02f..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2
+++ /dev/null
@@ -1,78 +0,0 @@
-ONOS1
-1227590 1.26135701908e-10 1.07940973925 40.6464729629 182.960739601
-ONOS2
-1181814 1.20644498365e-10 1.00528041074 37.555350954 176.186119001
-ONOS3
-1138041 1.15802904896e-10 0.941033986916 35.7322613984 169.74553331
-ONOS4
-993739 1.26753026113e-10 1.11929617016 41.5533808249 175.536932847
-ONOS5
-801932 1.30137731199e-10 1.16243514249 42.5585539053 174.095970133
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 7.65051704917e-11 0.976690321469 39.3139230775 182.142864379
-ONOS2
-1181814 7.31745871843e-11 0.90961533126 36.324140102 175.398314686
-ONOS3
-1138041 7.02380123035e-11 0.851482763005 34.5608185311 168.986040269
-ONOS4
-993739 7.68795965489e-11 1.01278105663 40.1910989633 174.607962407
-ONOS5
-801932 7.89325239576e-11 1.05181481297 41.1633185504 172.964931077
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 4.64027315297e-11 0.883745948699 38.0250593737 181.332398621
-ONOS2
-1181814 4.43826306391e-11 0.823053987743 35.1332931428 174.617524598
-ONOS3
-1138041 4.26015079393e-11 0.77045346478 33.4277801292 168.233024345
-ONOS4
-993739 4.66298324132e-11 0.916402196315 38.8734780133 173.688142096
-ONOS5
-801932 4.78749958288e-11 0.951721399616 39.8138244512 171.8481203
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 2.81446793672e-11 0.79964640242 36.778449648 180.528962074
-ONOS2
-1181814 2.69194262413e-11 0.744730045174 33.9814867906 173.843654738
-ONOS3
-1138041 2.58391207152e-11 0.697135123788 32.3318871443 167.486712361
-ONOS4
-993739 2.82824230159e-11 0.829194997196 37.5990538162 172.777689348
-ONOS5
-801932 2.90376528038e-11 0.861153133918 38.508572031 170.744877325
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.57057202533e-11 0.71159075675 35.3756304375 179.731863826
-ONOS2
-1181814 1.63274573572e-11 0.673859611209 32.8674411422 173.075903249
-ONOS3
-1138041 1.56722189338e-11 0.630793945431 31.2719218049 166.747600638
-ONOS4
-993739 1.71541566901e-11 0.750286660311 36.366410214 171.877668143
-ONOS5
-801932 1.76122267116e-11 0.779203578228 37.246110875 169.657002747
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 9.52600086651e-12 0.643873943036 34.2158793239 178.942989443
-ONOS2
-1181814 9.90310348231e-12 0.609733390725 31.7899182544 172.316111349
-ONOS3
-1138041 8.74564897725e-12 0.561332033288 30.0791349127 166.015121477
-ONOS4
-993739 1.04045219741e-11 0.678887444503 35.1741774757 170.986893927
-ONOS5
-801932 1.06823554864e-11 0.705052553848 36.0250381186 168.582760243
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1
deleted file mode 100644
index bfb6c0d..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1
+++ /dev/null
@@ -1,90 +0,0 @@
-ONOS1
-1227590 2.3940916208 122.700654682 196.898790719 232.162460224
-ONOS2
-1181814 2.28986701039 114.274088932 181.9248424 223.58203697
-ONOS3
-1138041 2.19797218458 106.97095095 173.09347026 215.437070149
-ONOS4
-993739 2.614883121 129.373047002 202.413415828 234.415969701
-ONOS5
-801932 2.68470873756 134.359234254 207.309780761 251.836403339
-ONOS6
-522722 2.69809278929 136.525870522 192.494161397 242.122436095
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 1.45208997017 111.024143574 190.443680549 230.845166293
-ONOS2
-1181814 1.38887454847 103.399471578 175.960636646 222.313128054
-ONOS3
-1138041 1.33313751914 96.7913190625 167.418791324 214.21424077
-ONOS4
-993739 1.58600678445 117.061573813 195.777514742 232.760782172
-ONOS5
-801932 1.62835816173 121.573262612 200.513357739 249.475189111
-ONOS6
-522722 1.63647599945 123.533716178 186.183452152 238.789197097
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.880737087572 100.458799411 184.200194062 229.54420732
-ONOS2
-1181814 0.84239499614 93.5597108885 170.191960816 221.05876502
-ONOS3
-1138041 0.808588778973 87.5804072288 161.930150492 213.00438075
-ONOS4
-993739 0.961961741283 105.9216922 189.359164371 231.127247648
-ONOS5
-801932 0.987649150081 110.004037044 193.939747967 247.154968761
-ONOS6
-522722 0.992572867553 111.777928787 180.079632564 235.542255778
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.534194046758 90.8988806781 178.161393409 228.245826679
-ONOS2
-1181814 0.510938392747 84.6563272326 164.612404673 219.806383805
-ONOS3
-1138041 0.490433885547 79.2460295474 156.621448709 211.796443165
-ONOS4
-993739 0.536808460522 94.2577830412 182.136546887 229.500526487
-ONOS5
-801932 0.551142937435 97.8905873004 186.542415922 244.855630006
-ONOS6
-522722 0.60202587617 101.140852477 174.175919985 232.351310599
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.324005067595 82.2487084951 172.320568189 226.969846785
-ONOS2
-1181814 0.309899800426 76.6002125535 159.215768139 218.579559674
-ONOS3
-1138041 0.297463188146 71.7047727653 151.486786873 210.614130804
-ONOS4
-993739 0.3255907897 85.2879690368 176.165400635 227.912893776
-ONOS5
-801932 0.334285089438 88.5750662629 180.426828103 242.621228096
-ONOS6
-522722 0.365147151837 91.5160278133 168.465754126 229.277557452
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.196519007399 74.4217090315 166.671227997 225.711160659
-ONOS2
-1181814 0.187963730397 69.3107385479 153.996054395 217.367339751
-ONOS3
-1138041 0.180420543747 64.8811614498 146.520459273 209.445672586
-ONOS4
-993739 0.197480796473 77.1717456928 170.390011842 226.348058795
-ONOS5
-801932 0.202754155829 80.1460342597 174.5117331 240.428569829
-ONOS6
-522722 0.203764944103 81.4384449043 162.040061949 226.284975365
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2
deleted file mode 100644
index 1d82307..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2
+++ /dev/null
@@ -1,90 +0,0 @@
-ONOS1
-1227590 0.00121826269462 26.92569461 118.763519929 213.780947833
-ONOS2
-1181814 0.00116522673158 25.0765509638 109.731677717 205.873983432
-ONOS3
-1138041 0.00111846492967 23.4739347144 104.40485556 198.364561565
-ONOS4
-993739 0.00133061513997 28.3898986797 122.089778494 211.710250212
-ONOS5
-801932 0.00136614675582 29.4840782956 125.043120829 220.372520112
-ONOS6
-522722 0.00137295739364 29.9595296013 116.106777954 200.003068196
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.000738913675872 24.3633759898 114.869988626 212.662794614
-ONOS2
-1181814 0.00070674573822 22.6902016273 106.13424542 204.788875482
-ONOS3
-1138041 0.000678383271661 21.2400944782 100.982057266 197.318534305
-ONOS4
-993739 0.000807058878671 25.6882426196 118.087199464 210.34792376
-ONOS5
-801932 0.000828609893073 26.6782972781 120.94371972 218.547134306
-ONOS6
-522722 0.00083274075372 27.10850341 112.300345012 197.704414411
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.000448173799297 22.0448942252 111.104102461 211.549509336
-ONOS2
-1181814 0.000428662958852 20.5309434552 102.654750983 203.724940842
-ONOS3
-1138041 0.000411460253298 19.2188322465 97.6714716475 196.292714309
-ONOS4
-993739 0.000489505954107 23.2436831258 114.215840582 209.013843708
-ONOS5
-801932 0.00050257730509 24.1395216267 116.978712965 216.766012203
-ONOS6
-522722 0.000505082798724 24.5287882323 108.618701785 195.475711666
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.000271831150154 19.9470451716 107.46167673 210.456109842
-ONOS2
-1181814 0.000259997227227 18.5771658658 99.2893279418 202.671716162
-ONOS3
-1138041 0.000249563258879 17.3899185475 94.4694199352 195.277450835
-ONOS4
-993739 0.000296900369278 21.0317542252 110.471399941 207.692791275
-ONOS5
-801932 0.000304828544413 21.8423424214 113.143694594 215.007918522
-ONOS6
-522722 0.000306348203119 22.1945654117 105.05775718 193.287073357
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.000164873926833 18.0488328505 103.938663918 209.369421785
-ONOS2
-1181814 0.000157696289753 16.8093147964 96.0342365914 201.62491962
-ONOS3
-1138041 0.000151367768048 15.7350489984 91.3723439645 194.268304398
-ONOS4
-993739 0.000180079176847 19.0303181899 106.849716666 206.391806581
-ONOS5
-801932 0.000184887858142 19.7637687204 109.434403079 213.28372701
-ONOS6
-522722 0.00018580957774 20.0824732615 101.613554225 191.157011172
-
-
----------------------------------------------------------------------------------
-ONOS1
-1227590 0.000100001091612 16.331259315 100.531149204 208.298794873
-ONOS2
-1181814 9.56476346583e-05 15.2096969994 92.8858598287 200.593475049
-ONOS3
-1138041 9.18091922132e-05 14.2376611084 88.3768022213 193.273746433
-ONOS4
-993739 0.000109223541934 17.2193439754 103.346766291 205.10771509
-ONOS5
-801932 0.000103173922869 17.5874175103 105.260309707 211.587399035
-ONOS6
-522722 0.000112699205767 18.1713732537 98.2822656736 189.073114058
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1
deleted file mode 100644
index a050d2f..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1
+++ /dev/null
@@ -1,102 +0,0 @@
-ONOS1
-1016740 239.345956625 182.101755739 218.732980515 235.699517896
-ONOS2
-986482 201.147393291 160.859283106 200.290330315 228.78174609
-ONOS3
-955763 202.100012284 159.813020483 196.883675188 221.830277188
-ONOS4
-775221 207.479927285 178.797400867 217.792120428 237.414423879
-ONOS5
-573833 249.143703698 193.671773043 217.093377879 259.596905657
-ONOS6
-291678 231.360463873 182.538372568 166.671454938 246.121117408
-ONOS7
-22628 232.230643677 67.5839366991 24.0686081022 123.296360023
-
-
----------------------------------------------------------------------------------
-ONOS1
-1027182 269.983278286 194.196469723 221.417115154 236.375534709
-ONOS2
-993701 204.933729763 163.901866127 199.948163172 228.766776185
-ONOS3
-962662 208.656618082 163.78867777 196.71300151 221.791527133
-ONOS4
-784539 242.706843613 188.360323159 219.710157973 237.943992909
-ONOS5
-586850 310.180080397 213.054495209 222.964688873 261.718883479
-ONOS6
-301940 272.164091747 195.584345404 171.600896524 248.12722166
-ONOS7
-33102 264.426600813 89.5513478979 32.9766167669 154.743945201
-
-
----------------------------------------------------------------------------------
-ONOS1
-1039462 326.294619108 215.122703088 227.737729609 237.538428151
-ONOS2
-1005088 274.416362154 184.610711533 205.900347362 229.778799526
-ONOS3
-972940 264.031509759 181.496649602 201.734872035 222.600000458
-ONOS4
-797004 310.883433189 210.168299186 226.201486919 239.518013187
-ONOS5
-600241 361.438730694 234.835347059 230.150016689 264.103785229
-ONOS6
-314588 334.827420452 218.078536056 180.138187749 252.209474163
-ONOS7
-45268 319.010443627 119.400899113 45.1142557185 185.336910344
-
-
----------------------------------------------------------------------------------
-ONOS1
-1052014 362.117802923 233.910752414 233.771432017 238.754669294
-ONOS2
-1017037 320.045188759 203.665798453 211.737423436 230.91196033
-ONOS3
-984500 310.25110789 199.898401852 207.37508211 223.694171363
-ONOS4
-809874 357.719665826 230.432794041 232.620277254 241.188702038
-ONOS5
-613413 391.092086741 253.659749806 236.766475792 266.354937747
-ONOS6
-327998 375.209808384 238.239588917 188.286669315 256.735805578
-ONOS7
-57911 358.877009915 147.546028281 57.2188728934 210.987660792
-
-
----------------------------------------------------------------------------------
-ONOS1
-1065429 392.612767973 253.474341672 240.515180352 240.151825466
-ONOS2
-1030356 366.246793141 225.925422748 219.142517042 232.341183287
-ONOS3
-996933 347.663123566 219.422633556 213.855387891 224.974622088
-ONOS4
-823618 393.871929777 251.198568286 239.69775903 243.095590136
-ONOS5
-626625 410.390314282 271.39144884 243.429768357 268.574168968
-ONOS6
-342151 407.842472796 259.213547032 197.152001537 261.634724709
-ONOS7
-71376 394.399400383 176.354242497 70.1111078127 234.293030734
-
-
----------------------------------------------------------------------------------
-ONOS1
-1079081 414.950269011 272.192720128 247.392823481 241.58550252
-ONOS2
-1043927 398.258664889 247.074829875 226.65379594 233.808351425
-ONOS3
-1010065 380.687629818 239.723791324 221.037860092 226.394107805
-ONOS4
-837943 424.544276097 272.331786327 247.363151628 245.13701731
-ONOS5
-641120 434.785587075 290.707729958 251.011789067 271.272676289
-ONOS6
-356557 435.967817892 280.439855852 206.515885531 266.493260529
-ONOS7
-85373 419.370861463 203.154288006 82.8273883841 254.938226606
-
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2
deleted file mode 100644
index e69de29..0000000
--- a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2
+++ /dev/null
diff --git a/TestON/tests/scaleONOS7nodes/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/scale3nodesrate1
deleted file mode 100644
index 9caaa19..0000000
--- a/TestON/tests/scaleONOS7nodes/scale3nodesrate1
+++ /dev/null
@@ -1,176 +0,0 @@
-ONOS1
-46 0.0159911170741 0.00330570923568 0.00110803039902 0.441388322918
-ONOS2
-169 1.4232094196 0.294208121975 0.0986147055128 1.51983829287
-ONOS3
-171 0.0 0.0 0.0 1.55826946014
-
----------------------------------------------------------------------------------
-ONOS1
-1798 22.6349154776 5.65275867857 1.9589352278 12.3275451079
-ONOS2
-1798 20.8145837636 5.10869633674 1.76466018187 12.4714931153
-ONOS3
-1798 22.0791171081 5.47471756204 1.8948008043 12.6620550588
-
----------------------------------------------------------------------------------
-ONOS1
-3426 32.6111034518 9.70067081694 3.47552137643 19.2298566624
-ONOS2
-3426 34.2140340329 10.1493268369 3.63676115043 19.4125205852
-ONOS3
-3426 33.2868110325 9.74024939592 3.48023473974 19.6519137751
-
----------------------------------------------------------------------------------
-ONOS1
-5055 41.1154795596 14.3295561289 5.31573150012 24.0283473918
-ONOS2
-5055 40.2618482051 13.877993799 5.13339673365 24.228413302
-ONOS3
-5055 40.3643986592 14.0755662838 5.21932817392 24.4842903967
-
----------------------------------------------------------------------------------
-ONOS1
-6648 44.0476719882 17.5652363011 6.72454316035 27.4144919114
-ONOS2
-6648 42.837315358 17.4660161912 6.71183843666 27.6117430147
-ONOS3
-6660 44.6253917733 17.5746713259 6.71339463557 27.9185886652
-
----------------------------------------------------------------------------------
-ONOS1
-8223 45.5204851503 20.4781124794 8.08545718874 29.9446955545
-ONOS2
-8223 47.0478790956 20.9180018605 8.25491048977 30.134904835
-ONOS3
-8223 46.0539241762 20.9125541798 8.28383012594 30.3823258358
-
----------------------------------------------------------------------------------
-ONOS1
-9761 48.2472730422 23.9163379895 9.74938162547 31.8260874816
-ONOS2
-9761 47.8554206671 23.5746897161 9.5837979702 32.0069787799
-ONOS3
-9761 47.9086582813 23.7657314867 9.68161495588 32.2419983542
-
----------------------------------------------------------------------------------
-ONOS1
-11390 48.2977231982 26.23623474 11.0124446377 33.6205734759
-ONOS2
-11390 48.6817460585 26.4263736828 11.1034039314 33.7938746975
-ONOS3
-11390 48.9914985281 26.3026447756 11.0160590425 34.0180954514
-
----------------------------------------------------------------------------------
-ONOS1
-13019 49.5587788244 28.9609886715 12.535952061 35.1042945838
-ONOS2
-13019 49.7703686117 28.7704010275 12.4112682408 35.2671782942
-ONOS3
-13019 48.3486366824 28.6472976101 12.4114088561 35.4806994928
-
----------------------------------------------------------------------------------
-ONOS1
-14618 49.576578555 30.8922696843 13.7378230586 36.2757731409
-ONOS2
-14618 48.5440020686 30.7811465304 13.7316956109 36.4328337041
-ONOS3
-14618 49.4866717797 30.8087248031 13.6891587016 36.6357205954
-
----------------------------------------------------------------------------------
-ONOS1
-16187 49.4907941638 32.9074922652 15.0888963838 37.2077993376
-ONOS2
-16187 49.6285423582 32.7484269078 14.9693742032 37.3552104338
-ONOS3
-16187 48.8755660723 32.7250364726 15.0063681262 37.5478060295
-
----------------------------------------------------------------------------------
-ONOS1
-17725 49.8836746982 34.5479805791 16.2364648337 37.9435104425
-ONOS2
-17725 48.99884514 34.4732673007 16.246116043 38.0836022622
-ONOS3
-17725 49.4211281632 34.4116883879 16.1694233436 38.2662174542
-
----------------------------------------------------------------------------------
-ONOS1
-19354 49.8626223455 35.9745646504 17.3266700853 38.7671511869
-ONOS2
-19354 48.4587733895 35.7738406011 17.2944948224 38.9024055739
-ONOS3
-19354 49.6238625297 36.107629579 17.4523301701 39.0742037951
-
----------------------------------------------------------------------------------
-ONOS1
-20949 48.7735412886 37.2334176044 18.4738354902 39.4261732644
-ONOS2
-20949 49.2808245039 37.2112430739 18.3974292802 39.5555564351
-ONOS3
-20949 49.0412343145 37.2603304894 18.4613220964 39.7222890977
-
----------------------------------------------------------------------------------
-ONOS1
-22518 49.2233054229 38.459058778 19.5122554055 39.9666332511
-ONOS2
-22518 49.3199190997 38.5500864358 19.5788242673 40.0902311981
-ONOS3
-22518 48.5868586294 38.3006063004 19.437642791 40.2494766808
-
----------------------------------------------------------------------------------
-ONOS1
-24059 49.2130863162 39.6417956777 20.6446125264 40.4016538809
-ONOS2
-24059 48.8272590697 39.4712361736 20.518926366 40.5198056741
-ONOS3
-24059 48.7738335012 39.5215088361 20.5824985986 40.6715650211
-
----------------------------------------------------------------------------------
-ONOS1
-25687 48.7438034983 40.4560575512 21.5487100295 40.9303516742
-ONOS2
-25687 49.5471148575 40.6750208451 21.6586836347 41.0440523285
-ONOS3
-25687 49.5528136103 40.5962066501 21.5740317285 41.1905085161
-
----------------------------------------------------------------------------------
-ONOS1
-27208 48.3440895308 41.1892039746 22.4234679597 41.246260379
-ONOS2
-27208 49.7248389814 41.5217226735 22.5714921035 41.3552443508
-ONOS3
-27208 48.9489326527 41.4186969689 22.5835508207 41.4954641517
-
----------------------------------------------------------------------------------
-ONOS1
-28764 48.636023504 42.0763468157 23.4482599273 41.5834003461
-ONOS2
-28764 49.5204659279 42.2043214958 23.4251146139 41.6880977866
-ONOS3
-28764 48.7203412028 42.0949248759 23.4349162749 41.822682997
-
----------------------------------------------------------------------------------
-ONOS1
-29669 41.3110354992 41.1541779314 23.753983268 40.9907471033
-ONOS2
-29669 40.0637318705 40.9112993447 23.707965358 41.0894107566
-ONOS3
-29669 41.8871662556 41.2877306835 23.7807095826 41.2163432863
-
----------------------------------------------------------------------------------
-ONOS1
-29669 23.0530097167 36.6223527412 22.847948773 39.2515156116
-ONOS2
-29669 24.299881722 37.0180744675 22.9307258039 39.3420203293
-ONOS3
-29669 23.3745109274 36.7411989007 22.8736556812 39.4584630811
-
----------------------------------------------------------------------------------
-ONOS1
-29669 13.9823571918 33.1372750967 22.0989039162 37.6540346
-ONOS2
-29669 13.5601880389 32.9417096657 22.0560923439 37.7370627214
-ONOS3
-29669 14.1773575332 33.2448115489 22.1237680517 37.8440976097
-
----------------------------------------------------------------------------------
diff --git a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
index bf4ca7e..dc9aed2 100644
--- a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
+++ b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
@@ -1,5 +1,5 @@
<PARAMS>
- <testcases>1,31,4,41,5,51,6,61,7,71,103,8,61,9,51,10,41,11,31,104</testcases>
+ <testcases>1,31,33,4,41,43,5,51,53,6,61,63,7,71,73,103,105,8,61,63,9,51,53,10,41,43,11,31,33,104,106</testcases>
<tcpdump>
<intf>eth0</intf>
<port>port 6633</port>
@@ -68,18 +68,25 @@
<restPort>8080</restPort>
<restURL>/wm/onos/topology/hosts</restURL>
</RESTCALL>
+ <url1>http://10.128.10.1:8080/wm/onos/metrics</url1>
+ <url2>http://10.128.10.2:8080/wm/onos/metrics</url2>
+ <url3>http://10.128.10.3:8080/wm/onos/metrics</url3>
+ <url4>http://10.128.10.4:8080/wm/onos/metrics</url4>
+ <url5>http://10.128.10.5:8080/wm/onos/metrics</url5>
+ <url6>http://10.128.10.6:8080/wm/onos/metrics</url6>
+ <url7>http://10.128.10.7:8080/wm/onos/metrics</url7>
<switches_num>30</switches_num>
<RATE1>100</RATE1>
- <RUN_DUR>120</RUN_DUR>
- <sleep_t>5</sleep_t>
- <loop>7</loop>
+ <RUN_DUR>600</RUN_DUR>
+ <sleep_t>6</sleep_t>
+ <loop>10</loop>
<port>10</port>
- <sleep_init>80</sleep_init>
- <int_num>1000</int_num>
- <addrate>1000</addrate>
- <NBdur>60</NBdur>
- <NBsleep>10</NBsleep>
- <NBloop>6</NBloop>
- <NBsleep_init>10</NBsleep_init>
+ <sleep_init>540</sleep_init>
+ <int_num>40</int_num>
+ <addrate>1</addrate>
+ <NBdur>100</NBdur>
+ <NBsleep>5</NBsleep>
+ <NBloop>7</NBloop>
+ <NBsleep_init>60</NBsleep_init>
<db_script>/home/admin/TestON/scripts/./scaleoutdatagraph.py</db_script>
</PARAMS>
diff --git a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
index 3fb5b24..ba21e61 100644
--- a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
+++ b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
@@ -13,6 +13,7 @@
#Tests the startup of Zookeeper1, RamCloud1, and ONOS1 to be certain that all started up successfully
def CASE1(self,main) : #Check to be sure ZK, Cass, and ONOS are up, then get ONOS version
main.case("Initial setup")
+ main.log.report("Starting 3-node ONOS cluster.")
main.step("Stop ONOS")
import time
main.log.info("Stopping all ONOS nodes...")
@@ -43,7 +44,7 @@
time.sleep(5)
-
+ """
main.RamCloud1.del_db()
main.RamCloud2.del_db()
main.RamCloud3.del_db()
@@ -52,7 +53,7 @@
time.sleep(5)
#main.log.report("Pulling latest code from github to all nodes")
- """
+
for i in range(2):
uptodate = main.ONOS1.git_pull()
main.ONOS2.git_pull()
@@ -86,7 +87,7 @@
# main.ONOS3.start_all()
# main.ONOS4.start_all()
- """
+
main.RamCloud1.start_coor()
main.RamCloud1.start_serv()
main.RamCloud2.start_serv()
@@ -97,10 +98,10 @@
main.ONOS3.start()
#main.ONOS4.start()
time.sleep(5)
-
- #main.ONOS1.handle.sendline("./onos.sh core start")
- #main.ONOS1.handle.sendline("./onos.sh core start")
- #main.ONOS1.handle.sendline("./onos.sh core start")
+ """
+ main.ONOS1.handle.sendline("./onos.sh core start")
+ main.ONOS2.handle.sendline("./onos.sh core start")
+ main.ONOS3.handle.sendline("./onos.sh core start")
main.ONOS1.start_rest()
main.ONOS2.start_rest()
@@ -109,11 +110,11 @@
if test == main.FALSE:
main.ONOS1.start_rest()
main.ONOS1.get_version()
- main.log.report("Startup check Zookeeper1, RamCloud1, and ONOS1 connections")
+ main.log.report("Startup check Zookeeper, and ONOS connections")
main.step("Testing startup Zookeeper")
data = main.Zookeeper1.isup() and main.Zookeeper2.isup() and main.Zookeeper3.isup()
utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Zookeeper is up!",onfail="Zookeeper is down...")
-
+ """
main.step("Testing startup RamCloud")
data = main.RamCloud1.status_serv() and main.RamCloud2.status_serv() and main.RamCloud3.status_serv() #and main.RamCloud4.status_serv()
if data == main.FALSE:
@@ -135,7 +136,7 @@
utilities.assert_equals(expect=main.TRUE,actual=data,onpass="RamCloud is up!",onfail="RamCloud is down...")
-
+ """
main.step("Testing startup ONOS")
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() #and main.ONOS4.isup()
for i in range(3):
@@ -153,6 +154,7 @@
def CASE31(self,main):
+ main.log.report("SB Throughput test: loading ONOS cluster with 740 Topo Events/s")
main.case("Staring SB load with 3 ONOS nodes")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
@@ -175,9 +177,9 @@
import math
time.sleep(sleep_init)
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", "a")
#time.sleep(10)
tpval = 0.0
@@ -227,121 +229,50 @@
print("\n")
tpavg3n = round(tpval)/loop
print tpavg3n
+ main.log.report("Topology Event Throughput for 3-node ONOS cluster = " +str(tpavg3n) + " Events/sec")
main.Mininet2.handle.expect("\$", timeout=900)
- # main.Mininet2.handle.sendline("sudo mn -c")
- #main.Mininet2.handle.expect("\$")
- # main.Mininet2.handle.expect("\$", timeout=900)
time.sleep(180)
-
- def CASE32(self,main):
- ip1 = main.params['CTRL']['ip1']
- ip2 = main.params['CTRL']['ip2']
- ip3 = main.params['CTRL']['ip3']
- import time
- rate2 = main.params['RATE2']
- run_dur = main.params['RUN_DUR']
- loop = int(main.params['loop'])
- sleep_init = int(main.params['sleep_init'])
- sleep_t = int(main.params['sleep_t'])
- port = main.params['port']
- switches_num = main.params['switches_num']
- main.case("Starting SB load on 3 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
- main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"10.128.10.1\" 100 50 1200 \"11\"")
- main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
- time.sleep(sleep_init )
- import json
- time.sleep(sleep_init)
- open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", "a")
- for i in range(int (loop)):
- j1 = main.ONOS1.get_json(url1)
- j2 = main.ONOS1.get_json(url2)
- j3 = main.ONOS1.get_json(url3)
- json_str = []
- json_str.append(0)
- json_str.append(j1)
- json_str.append(j2)
- json_str.append(j3)
- if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
- for j in range(1,4):
- f.write("ONOS" + str(j) + "\n")
- f.write(str(json_str[j]["meters"][4]['meter']['count']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
- f.write('\n')
-
- f.write('\n')
- f.write('\n')
-
- f.write("--------------------------------------------------------------------------------- \n")
- time.sleep(sleep_t)
- f.close()
- #time.sleep(10)
- main.Mininet2.handle.expect("\$", timeout=900)
- time.sleep(180)
- # main.Mininet2.handle.sendline("sudo mn -c")
- #time.sleep(5)
- # main.Mininet2.handle.expect("\$", timeout=900)
-
-
def CASE33(self,main):
- main.case("Starting NB Throughput test")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
import time
import json
- int_num = main.params['int_num']
+ int_num = int(main.params['int_num'])
addrate = main.params['addrate']
NBdur = main.params['NBdur']
NBsleep = int(main.params['NBsleep'])
NBsleep_init = int(main.params['NBsleep_init'])
NBloop = int(main.params['NBloop'])
-
+ int_r = 3 * int_num
+ main.log.report("Starting NB Throughput test: loading 3-node ONOS cluster with " + str(int_num) + " Intents/s on each node" )
main.Mininet4.handle.expect("\$")
- #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
- #main.Mininet2.handle.expect("mininet>" , timeout=400)
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.3:6633")
-
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:" + ip3 + ":6633")
+
main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
main.ONOS3.handle.expect("\$")
- main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 \" -i " + int_num + " -a " + addrate + " -l " + NBdur + " -p 20")
+ main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"" + ip1 + ":8080 " + ip2 + ":8080 " + ip3 + ":8080 \" -i " + str(int_r) + " -a " + addrate + " -l " + NBdur + " -p 20")
main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
time.sleep(NBsleep_init)
- #time.sleep(60)
import json
+ nbtpval = 0.0
+ global nbtpavg3n
+ nbtpavg3n = 0.0
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", "a")
- #time.sleep(10)
for i in range(NBloop):
j1 = main.ONOS1.get_json(url1)
j2 = main.ONOS1.get_json(url2)
@@ -382,150 +313,139 @@
f.write('\n')
f.write('\n')
f.write('\n')
+ nbtpval += float(json_str[j]["meters"][1]['meter']['m1_rate'])
f.write("--------------------------------------------------------------------------------- \n")
f.write("--------------------------------------------------------------------------------- \n \n")
time.sleep(NBsleep)
f.close()
+ print("\n")
+ nbtpavg3n = round(round(nbtpval)/NBloop,2)
+ print nbtpavg3n
main.ONOS3.handle.expect("\$", timeout=900)
-
+ #time.sleep(180)
+ main.log.report("Intent Throughput for 3-node ONOS cluster = " + str(nbtpavg3n) + " Intents/sec")
def CASE4(self,main):
+ main.log.report("Scale-up ONOS to 4-nodes ")
main.case("Starting ONOS scale-up to 4 nodes ")
import time
# main.RamCloud4.start_serv()
- main.ONOS5.stop_all()
- main.ONOS6.stop_all()
- main.ONOS7.stop_all()
+ main.ONOS5.handle.sendline("./onos.sh core stop")
+ main.ONOS6.handle.sendline("./onos.sh core stop")
+ main.ONOS7.handle.sendline("./onos.sh core stop")
main.Zookeeper4.start()
time.sleep(5)
-
+ """
main.RamCloud4.del_db()
time.sleep(3)
main.RamCloud4.start_serv()
time.sleep(3)
+ """
main.ONOS4.start()
main.ONOS4.start_rest()
time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale up successful - 4-node ONOS cluster is up and running!",onfail="ONOS didn't start...")
time.sleep(10)
def CASE5(self,main):
-
+ main.log.report("Scale-up ONOS to 5-nodes")
main.case("Starting ONOS scale-up/down to 5 nodes ")
import time
- # main.RamCloud4.start_serv()
- main.ONOS6.stop_all()
- main.ONOS7.stop_all()
- #pdata = main.ONOS5.isup()
+ main.ONOS6.handle.sendline("./onos.sh core stop")
+ main.ONOS7.handle.sendline("./onos.sh core stop")
main.Zookeeper5.start()
time.sleep(5)
-
+ """
main.RamCloud5.del_db()
time.sleep(3)
main.RamCloud5.start_serv()
time.sleep(3)
+ """
main.ONOS5.start()
main.ONOS5.start_rest()
time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale up successful - 5-node ONOS cluster is up and running!",onfail="ONOS didn't start...")
time.sleep(10)
def CASE6(self,main):
-
+ main.log.report("Scale-up ONOS to 6-nodes")
main.case("Starting ONOS scale-up/down to 6 nodes ")
import time
- # main.RamCloud4.start_serv()
- main.ONOS7.stop_all()
- #pdata = main.ONOS6.isup()
+ main.ONOS7.handle.sendline("./onos.sh core stop")
main.Zookeeper6.start()
time.sleep(5)
-
+ """
main.RamCloud6.del_db()
time.sleep(3)
main.RamCloud6.start_serv()
time.sleep(3)
+ """
main.ONOS6.start()
main.ONOS6.start_rest()
time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale up successful - 6-node ONOS cluster is up and running!",onfail="ONOS didn't start...")
time.sleep(10)
def CASE7(self,main):
-
+ main.log.report("Scale-up ONOS to 7-nodes")
main.case("Starting ONOS scale-up/down to 7 nodes ")
import time
- # main.RamCloud4.start_serv()
- #pdata = main.ONOS7.isup()
main.Zookeeper7.start()
time.sleep(5)
-
+ """
main.RamCloud7.del_db()
time.sleep(3)
main.RamCloud7.start_serv()
time.sleep(3)
+ """
main.ONOS7.start()
main.ONOS7.start_rest()
time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup() and main.ONOS7.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup() and main.ONOS7.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale up successful - 7-node ONOS cluster is up and running!",onfail="ONOS didn't start...")
time.sleep(10)
def CASE41(self,main):
main.case("Starting SB test for 4 nodes")
+ main.log.report("SB Throughput test: loading 4-node ONOS cluster with 740 Topo Events/s")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
@@ -539,7 +459,6 @@
sleep_init = int(main.params['sleep_init'])
sleep_t =int( main.params['sleep_t'])
main.case("Starting SB load on 4 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
main.Mininet2.handle.expect("Starting SB load....", timeout=900)
import time
@@ -547,16 +466,15 @@
import math
time.sleep(sleep_init)
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
tpval = 0.0
global tpavg4n
tpavg4n = 0.0
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", "a")
- #time.sleep(10)
for i in range(int (loop)):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -569,11 +487,6 @@
json_str.append(j3)
json_str.append(j4)
if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
for j in range(1,5):
f.write("ONOS" + str(j) + "\n")
f.write(str(json_str[j]["meters"][4]['meter']['count']))
@@ -586,9 +499,8 @@
f.write('\t')
f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
f.write('\n')
- if j == 3:
+ if j == 4:
tpval += float(json_str[j]["meters"][4]['meter']['m1_rate'])
- # print tpval
f.write('\n')
f.write('\n')
@@ -596,85 +508,16 @@
f.write("--------------------------------------------------------------------------------- \n")
time.sleep(sleep_t)
f.close()
- # print tpval
print("\n")
tpavg4n = round(tpval)/loop
print tpavg4n
+ main.log.report("Topology Event Throughput for 4-node ONOS cluster = " + str(tpavg4n) + " Events/sec")
- #main.Mininet2.handle.expect("\$", timeout=900)
- #main.Mininet2.handle.sendline("sudo mn -c")
- #main.Mininet2.handle.expect("\$")
time.sleep(5)
main.Mininet2.handle.expect("\$", timeout=900)
time.sleep(180)
- def CASE42(self,main):
-
- ip1 = main.params['CTRL']['ip1']
- ip2 = main.params['CTRL']['ip2']
- ip3 = main.params['CTRL']['ip3']
- ip4 = main.params['CTRL']['ip4']
-
- import time
- import json
- rate2 = main.params['RATE2']
- run_dur = main.params['RUN_DUR']
- loop = int(main.params['loop'])
- sleep_init = int(main.params['sleep_init'])
- sleep_t = int(main.params['sleep_t'])
- switches_num = main.params['switches_num']
- port = main.params['port']
- main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
- main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
- main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
- time.sleep(sleep_init)
- open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", "a")
- #time.sleep(10)
- for i in range(int (loop)):
- j1 = main.ONOS2.get_json(url1)
- j2 = main.ONOS2.get_json(url2)
- j3 = main.ONOS2.get_json(url3)
- j4 = main.ONOS2.get_json(url4)
- json_str = []
- json_str.append(0)
- json_str.append(j1)
- json_str.append(j2)
- json_str.append(j3)
- json_str.append(j4)
- if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
- for j in range(1,5):
- f.write("ONOS" + str(j) + "\n")
- f.write(str(json_str[j]["meters"][4]['meter']['count']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
- f.write('\n')
-
- f.write('\n')
- f.write('\n')
-
- f.write("--------------------------------------------------------------------------------- \n")
- time.sleep(sleep_t)
- f.close()
- time.sleep(180)
-
def CASE43(self,main):
main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
@@ -685,28 +528,30 @@
import time
import json
- int_num = main.params['int_num']
+ int_num = int(main.params['int_num'])
addrate = main.params['addrate']
NBdur = main.params['NBdur']
NBsleep = int(main.params['NBsleep'])
NBsleep_init = int(main.params['NBsleep_init'])
NBloop = int(main.params['NBloop'])
-
+ nbtpval = 0.0
+ main.log.report("Starting NB Throughput test: loading 4-node ONOS cluster with " +str(int_num) + " Intents/s on each node" )
+ global nbtpavg4n
+ nbtpavg4n = 0.0
+ int_r = 4 * int_num
main.Mininet4.handle.expect("\$")
- #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
- #main.Mininet2.handle.expect("mininet>" , timeout=400)
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
-
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:" + ip4 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:" + ip4 + ":6633")
+
main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
main.ONOS3.handle.expect("\$")
- main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 \" -i " + int_num + " -a " + addrate + " -l " + NBdur + " -p 20")
+ main.ONOS3.handle.sendline("./loadgen_NB.py -n 4 -u \"" + ip1 + ":8080 " + ip2 + ":8080 " + ip3 + ":8080 " + ip4 + ":8080 \" -i " + str(int_r) + " -a " + addrate + " -l " + NBdur + " -p 20")
main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
@@ -714,12 +559,11 @@
import json
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale4nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale4nodesrate1", "a")
- #time.sleep(10)
for i in range(NBloop):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -762,18 +606,25 @@
f.write('\n')
f.write('\n')
f.write('\n')
+
+ nbtpval += float(json_str[j]["meters"][1]['meter']['m1_rate'])
f.write("--------------------------------------------------------------------------------- \n")
f.write("--------------------------------------------------------------------------------- \n \n")
time.sleep(NBsleep)
f.close()
+ print("\n")
+ nbtpavg4n = round(round(nbtpval)/NBloop,2)
+ print nbtpavg4n
main.ONOS3.handle.expect("\$", timeout=900)
-
+ time.sleep(180)
+ main.log.report("Intent Throughput for 4-node ONOS cluster = " + str(nbtpavg4n) + " Intents/sec")
def CASE51(self,main):
main.case("Starting SB test for 5 nodes")
+ main.log.report("SB Throughput test: loading 5-node ONOS cluster with 740 Topo Events/s")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
@@ -788,7 +639,6 @@
sleep_init = int(main.params['sleep_init'])
sleep_t =int( main.params['sleep_t'])
main.case("Starting SB load on 5 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
main.Mininet2.handle.expect("Starting SB load....", timeout=900)
import time
@@ -799,14 +649,12 @@
time.sleep(sleep_init)
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
-
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", "a")
- #time.sleep(10)
for i in range(int (loop)):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -821,11 +669,6 @@
json_str.append(j4)
json_str.append(j5)
if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
for j in range(1,6):
f.write("ONOS" + str(j) + "\n")
f.write(str(json_str[j]["meters"][4]['meter']['count']))
@@ -838,9 +681,8 @@
f.write('\t')
f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
f.write('\n')
- if j == 3:
+ if j == 4:
tpval += float(json_str[j]["meters"][4]['meter']['m1_rate'])
- #print tpval
f.write('\n')
f.write('\n')
@@ -848,121 +690,51 @@
f.write("--------------------------------------------------------------------------------- \n")
time.sleep(sleep_t)
f.close()
- #print tpval
print("\n")
tpavg5n = round(tpval)/loop
print tpavg5n
- #main.Mininet2.handle.expect("\$", timeout=900)
- #main.Mininet2.handle.sendline("sudo mn -c")
- #main.Mininet2.handle.expect("\$")
time.sleep(5)
main.Mininet2.handle.expect("\$", timeout=900)
time.sleep(180)
+ main.log.report("Topology Event Throughput for 5-node ONOS cluster = " + str(tpavg5n) + " Events/sec")
- def CASE52(self,main):
+ def CASE53(self,main):
+ main.case("Starting NB Throughput test after scaling up to 5 onos nodes")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
ip4 = main.params['CTRL']['ip4']
ip5 = main.params['CTRL']['ip5']
-
- import time
- import json
- rate2 = main.params['RATE2']
- run_dur = main.params['RUN_DUR']
- loop = int(main.params['loop'])
- sleep_t = int(main.params['sleep_t'])
- sleep_init = int(main.params['sleep_init'])
- switches_num = main.params['switches_num']
- port = main.params['port']
- main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
- main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
- main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
- time.sleep(sleep_init)
- open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", "a")
- #time.sleep(10)
- for i in range(int (loop)):
- j1 = main.ONOS2.get_json(url1)
- j2 = main.ONOS2.get_json(url2)
- j3 = main.ONOS2.get_json(url3)
- j4 = main.ONOS2.get_json(url4)
- j5 = main.ONOS2.get_json(url5)
- json_str = []
- json_str.append(0)
- json_str.append(j1)
- json_str.append(j2)
- json_str.append(j3)
- json_str.append(j4)
- json_str.append(j5)
- if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[4] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
- for j in range(1,6):
- f.write("ONOS" + str(j) + "\n")
- f.write(str(json_str[j]["meters"][4]['meter']['count']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
- f.write('\n')
-
- f.write('\n')
- f.write('\n')
-
- f.write("--------------------------------------------------------------------------------- \n")
- time.sleep(sleep_t)
- f.close()
- time.sleep(180)
-
- def CASE53(self,main):
-
- main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
- ip1 = main.params['CTRL']['ip1']
- ip2 = main.params['CTRL']['ip2']
- ip3 = main.params['CTRL']['ip3']
- ip4 = main.params['CTRL']['ip4']
import time
import json
- int_num = main.params['int_num']
+ int_num = int(main.params['int_num'])
addrate = main.params['addrate']
NBdur = main.params['NBdur']
NBsleep = int(main.params['NBsleep'])
NBsleep_init = int(main.params['NBsleep_init'])
NBloop = int(main.params['NBloop'])
-
+ nbtpval = 0.0
+ main.log.report("Starting NB Throughput test: loading 5-node ONOS cluster with " + str(int_num) + " Intents/s on each node" )
+ global nbtpavg5n
+ nbtpavg5n = 0.0
+ int_r = 5 * int_num
main.Mininet4.handle.expect("\$")
- #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
- #main.Mininet2.handle.expect("mininet>" , timeout=400)
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.5:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.5:6633")
-
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:" + ip4 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:" + ip5 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:" + ip5 + ":6633")
+
main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
main.ONOS3.handle.expect("\$")
- main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 10.128.10.5:8080 \" -i " + int_num + " -a " + addrate + " -l " + NBdur + " -p 20")
+ main.ONOS3.handle.sendline("./loadgen_NB.py -n 5 -u \"" + ip1 + ":8080 " + ip2 + ":8080 " + ip3 + ":8080 " + ip4 + ":8080 " + ip5 + ":8080 \" -i " + str(int_r) + " -a " + addrate + " -l " + NBdur + " -p 20")
main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
@@ -970,13 +742,12 @@
import json
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", "a")
- #time.sleep(10)
for i in range(NBloop):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -1021,18 +792,27 @@
f.write('\n')
f.write('\n')
f.write('\n')
+
+ nbtpval += float(json_str[j]["meters"][1]['meter']['m1_rate'])
+
f.write("--------------------------------------------------------------------------------- \n")
f.write("--------------------------------------------------------------------------------- \n \n")
time.sleep(NBsleep)
f.close()
+ print("\n")
+ nbtpavg5n = round(round(nbtpval)/NBloop,2)
+ print nbtpavg5n
main.ONOS3.handle.expect("\$", timeout=900)
+ time.sleep(180)
+ main.log.report("Intent Throughput for 5-node ONOS cluster = " + str(nbtpavg5n) + " Intents/sec")
def CASE61(self,main):
main.case("Starting SB test for 5 nodes")
ip1 = main.params['CTRL']['ip1']
+ main.log.report("SB Throughput test: loading 6-node ONOS cluster with 740 Topo Events/s")
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
ip4 = main.params['CTRL']['ip4']
@@ -1047,7 +827,6 @@
sleep_t =int( main.params['sleep_t'])
sleep_init = int(main.params['sleep_init'])
main.case("Starting SB load on 6 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
main.Mininet2.handle.expect("Starting SB load....", timeout=900)
@@ -1058,16 +837,13 @@
tpavg6n = 0.0
time.sleep(sleep_init)
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
-
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
+ url6 = main.params['url6']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", "a")
- #time.sleep(10)
for i in range(int (loop)):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -1084,11 +860,6 @@
json_str.append(j5)
json_str.append(j6)
if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
for j in range(1,7):
f.write("ONOS" + str(j) + "\n")
f.write(str(json_str[j]["meters"][4]['meter']['count']))
@@ -1101,9 +872,8 @@
f.write('\t')
f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
f.write('\n')
- if j == 3:
+ if j == 4:
tpval += float(json_str[j]["meters"][4]['meter']['m1_rate'])
- #print tpval
f.write('\n')
f.write('\n')
@@ -1111,93 +881,16 @@
f.write("--------------------------------------------------------------------------------- \n")
time.sleep(sleep_t)
f.close()
- #print tpval
print("\n")
tpavg6n = round(tpval)/loop
print tpavg6n
- #main.Mininet2.handle.expect("\$", timeout=900)
- #main.Mininet2.handle.sendline("sudo mn -c")
- #main.Mininet2.handle.expect("\$")
time.sleep(5)
main.Mininet2.handle.expect("\$", timeout=900)
time.sleep(180)
+ main.log.report("Topology Event Throughput for 6-node ONOS cluster = " + str(tpavg6n) + " Events/sec")
- def CASE62(self,main):
-
- ip1 = main.params['CTRL']['ip1']
- ip2 = main.params['CTRL']['ip2']
- ip3 = main.params['CTRL']['ip3']
- ip4 = main.params['CTRL']['ip4']
- ip5 = main.params['CTRL']['ip5']
- ip6 = main.params['CTRL']['ip6']
-
- import time
- import json
- rate2 = main.params['RATE2']
- run_dur = main.params['RUN_DUR']
- loop = int(main.params['loop'])
- sleep_t = int(main.params['sleep_t'])
- switches_num = main.params['switches_num']
- sleep_init = int(main.params['sleep_init'])
- port = main.params['port']
- main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
- main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
- main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
- time.sleep(sleep_init)
- open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
- f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
- #time.sleep(10)
- for i in range(int (loop)):
- j1 = main.ONOS2.get_json(url1)
- j2 = main.ONOS2.get_json(url2)
- j3 = main.ONOS2.get_json(url3)
- j4 = main.ONOS2.get_json(url4)
- j5 = main.ONOS2.get_json(url5)
- j6 = main.ONOS2.get_json(url6)
- json_str = []
- json_str.append(0)
- json_str.append(j1)
- json_str.append(j2)
- json_str.append(j3)
- json_str.append(j4)
- json_str.append(j5)
- json_str.append(j6)
- if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
- for j in range(1,7):
- f.write("ONOS" + str(j) + "\n")
- f.write(str(json_str[j]["meters"][4]['meter']['count']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
- f.write('\n')
-
- f.write('\n')
- f.write('\n')
-
- f.write("--------------------------------------------------------------------------------- \n")
- time.sleep(sleep_t)
- f.close()
- time.sleep(180)
-
def CASE63(self,main):
main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
@@ -1205,31 +898,35 @@
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
ip4 = main.params['CTRL']['ip4']
+ ip5 = main.params['CTRL']['ip5']
+ ip6 = main.params['CTRL']['ip6']
import time
import json
- int_num = main.params['int_num']
+ int_num = int(main.params['int_num'])
addrate = main.params['addrate']
NBdur = main.params['NBdur']
NBsleep = int(main.params['NBsleep'])
NBsleep_init = int(main.params['NBsleep_init'])
NBloop = int(main.params['NBloop'])
-
+ nbtpval = 0.0
+ main.log.report("Starting NB Throughput test: loading 6-node ONOS cluster with " + str(int_num) + " Intents/s" )
+ global nbtpavg6n
+ nbtpavg6n = 0.0
+ int_r = 6 * int_num
main.Mininet4.handle.expect("\$")
- #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
- #main.Mininet2.handle.expect("mininet>" , timeout=400)
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.5:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.6:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.6:6633")
-
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:" + ip4 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:" + ip5 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:" + ip6 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:" + ip6 + ":6633")
+
main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
main.ONOS3.handle.expect("\$")
- main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 10.128.10.5:8080 10.128.10.6:8080 \" -i " + int_num + " -a " + addrate + " -l " + NBdur + " -p 20")
+ main.ONOS3.handle.sendline("./loadgen_NB.py -n 6 -u \"" + ip1 + ":8080 " + ip2 + ":8080 " + ip3 + ":8080 " + ip4 + ":8080 " + ip5 + ":8080 " + ip6 + ":8080 \" -i " + str(int_r) + " -a " + addrate + " -l " + NBdur + " -p 20")
main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
@@ -1237,14 +934,13 @@
import json
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
+ url6 = main.params['url6']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", "a")
- #time.sleep(10)
for i in range(NBloop):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -1291,17 +987,27 @@
f.write('\n')
f.write('\n')
f.write('\n')
+
+ nbtpval += float(json_str[j]["meters"][1]['meter']['m1_rate'])
+
f.write("--------------------------------------------------------------------------------- \n")
f.write("--------------------------------------------------------------------------------- \n \n")
time.sleep(NBsleep)
f.close()
+ print("\n")
+ nbtpavg6n = round(round(nbtpval)/NBloop,2)
+ print nbtpavg6n
+
main.ONOS3.handle.expect("\$", timeout=900)
-
+ time.sleep(180)
+ main.log.report("Intent Throughput for 6-node ONOS cluster = " + str(nbtpavg6n) + " Intents/sec")
+
def CASE71(self,main):
main.case("Starting SB test for 7 nodes")
+ main.log.report("SB Throughput test: loading 7-node ONOS cluster with 740 Topo Events/s")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
@@ -1318,7 +1024,6 @@
sleep_t =int( main.params['sleep_t'])
sleep_init = int(main.params['sleep_init'])
main.case("Starting SB load on 6 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + " " + ip7 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
main.Mininet2.handle.expect("Starting SB load....", timeout=900)
import time
@@ -1329,17 +1034,15 @@
time.sleep(sleep_init)
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
- url7 = "http://10.128.10.7:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
+ url6 = main.params['url6']
+ url7 = main.params['url7']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", "a")
- #time.sleep(10)
for i in range(int (loop)):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -1358,11 +1061,6 @@
json_str.append(j6)
json_str.append(j7)
if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "" and json_str[7] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
for j in range(1,8):
f.write("ONOS" + str(j) + "\n")
f.write(str(json_str[j]["meters"][4]['meter']['count']))
@@ -1375,9 +1073,8 @@
f.write('\t')
f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
f.write('\n')
- if j == 3:
+ if j == 4:
tpval += float(json_str[j]["meters"][4]['meter']['m1_rate'])
- #print tpval
f.write('\n')
f.write('\n')
@@ -1385,21 +1082,19 @@
f.write("--------------------------------------------------------------------------------- \n")
time.sleep(sleep_t)
f.close()
- #print tpval
print("\n")
tpavg7n = round(tpval)/loop
print tpavg7n
- #main.Mininet2.handle.expect("\$", timeout=900)
- #main.Mininet2.handle.sendline("sudo mn -c")
- #main.Mininet2.handle.expect("\$")
time.sleep(5)
main.Mininet2.handle.expect("\$", timeout=900)
time.sleep(180)
+ main.log.report("Topology Event Throughput for 7-node ONOS cluster = " + str(tpavg7n) + " Events/sec")
- def CASE72(self,main):
+ def CASE73(self,main):
+ main.case("Starting NB Throughput test after scaling up to 7 onos nodes")
ip1 = main.params['CTRL']['ip1']
ip2 = main.params['CTRL']['ip2']
ip3 = main.params['CTRL']['ip3']
@@ -1407,109 +1102,33 @@
ip5 = main.params['CTRL']['ip5']
ip6 = main.params['CTRL']['ip6']
ip7 = main.params['CTRL']['ip7']
-
- import time
- import json
- rate2 = main.params['RATE2']
- run_dur = main.params['RUN_DUR']
- loop = int(main.params['loop'])
- sleep_t = int(main.params['sleep_t'])
- sleep_init = int(main.params['sleep_init'])
- switches_num = main.params['switches_num']
- port = main.params['port']
- main.case("Starting SB load on 7 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
- #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
- main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + " " + ip7 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
- main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
-
- time.sleep(sleep_init)
-
- open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
- url7 = "http://10.128.10.7:8080/wm/onos/metrics"
- f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
- #time.sleep(10)
- for i in range(int (loop)):
- j1 = main.ONOS2.get_json(url1)
- j2 = main.ONOS2.get_json(url2)
- j3 = main.ONOS2.get_json(url3)
- j4 = main.ONOS2.get_json(url4)
- j5 = main.ONOS2.get_json(url5)
- j6 = main.ONOS2.get_json(url6)
- j7 = main.ONOS2.get_json(url7)
- json_str = []
- json_str.append(0)
- json_str.append(j1)
- json_str.append(j2)
- json_str.append(j3)
- json_str.append(j4)
- json_str.append(j5)
- json_str.append(j6)
- json_str.append(j7)
- if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "" and json_str[7] != "":
- # write_str = str(json_str["meters"][4]["meter"][2])
- #print str(json_str["meters"][4])
- #f.write(str(json_str["meters"][4]))
- #f.write('\n')
- #time.sleep(3)
- for j in range(1,8):
- f.write("ONOS" + str(j) + "\n")
- f.write(str(json_str[j]["meters"][4]['meter']['count']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
- f.write('\t')
- f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
- f.write('\n')
-
- f.write('\n')
- f.write('\n')
-
- f.write("--------------------------------------------------------------------------------- \n")
- time.sleep(sleep_t)
- f.close()
- time.sleep(180)
-
- def CASE73(self,main):
-
- main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
- ip1 = main.params['CTRL']['ip1']
- ip2 = main.params['CTRL']['ip2']
- ip3 = main.params['CTRL']['ip3']
- ip4 = main.params['CTRL']['ip4']
import time
import json
- int_num = main.params['int_num']
+ int_num = int(main.params['int_num'])
addrate = main.params['addrate']
NBdur = main.params['NBdur']
NBsleep = int(main.params['NBsleep'])
NBsleep_init = int(main.params['NBsleep_init'])
NBloop = int(main.params['NBloop'])
-
+ main.log.report("Starting NB Throughput test: loading 7-node ONOS cluster with " + str(int_num) + " Intents/s" )
+ nbtpval = 0.0
+ global nbtpavg7n
+ nbtpavg7n = 0.0
+ int_r = 7 * int_num
main.Mininet4.handle.expect("\$")
- #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
- #main.Mininet2.handle.expect("mininet>" , timeout=400)
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.5:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.6:6633")
- main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.7:6633")
-
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:" + ip1 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:" + ip2 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:" + ip3 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:" + ip4 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:" + ip5 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:" + ip6 + ":6633")
+ main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:" + ip7 + ":6633")
+
main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
main.ONOS3.handle.expect("\$")
- main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 10.128.10.6:8080 10.128.10.5:8080 10.128.10.7:8080 \" -i " + int_num + " -a " + addrate + " -l " + NBdur + " -p 20")
+ main.ONOS3.handle.sendline("./loadgen_NB.py -n 7 -u \"" + ip1 + ":8080 " + ip2 + ":8080 " + ip3 + ":8080 " + ip4 + ":8080 " + ip6 + ":8080 " + ip5 + ":8080 " + ip7 + ":8080 \" -i " + str(int_r) + " -a " + addrate + " -l " + NBdur + " -p 20")
main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
@@ -1517,15 +1136,14 @@
import json
open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", 'w').close()
- url1 = "http://10.128.10.1:8080/wm/onos/metrics"
- url2 = "http://10.128.10.2:8080/wm/onos/metrics"
- url3 = "http://10.128.10.3:8080/wm/onos/metrics"
- url4 = "http://10.128.10.4:8080/wm/onos/metrics"
- url5 = "http://10.128.10.5:8080/wm/onos/metrics"
- url6 = "http://10.128.10.6:8080/wm/onos/metrics"
- url7 = "http://10.128.10.7:8080/wm/onos/metrics"
+ url1 = main.params['url1']
+ url2 = main.params['url2']
+ url3 = main.params['url3']
+ url4 = main.params['url4']
+ url5 = main.params['url5']
+ url6 = main.params['url6']
+ url7 = main.params['url7']
f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", "a")
- #time.sleep(10)
for i in range(NBloop):
j1 = main.ONOS2.get_json(url1)
j2 = main.ONOS2.get_json(url2)
@@ -1574,18 +1192,26 @@
f.write('\n')
f.write('\n')
f.write('\n')
+
+ nbtpval += float(json_str[j]["meters"][1]['meter']['m1_rate'])
+
f.write("--------------------------------------------------------------------------------- \n")
f.write("--------------------------------------------------------------------------------- \n \n")
time.sleep(NBsleep)
f.close()
+ print("\n")
+ nbtpavg7n = round(round(nbtpval)/NBloop,2)
+ print nbtpavg7n
main.ONOS3.handle.expect("\$", timeout=900)
-
+ time.sleep(180)
+ main.log.report("Intent Throughput for 7-node ONOS cluster = " + str(nbtpavg7n) + " Intents/sec")
+
def CASE8(self,main):
import time
- main.case("Scaling ONOS down to 6 ONOS instances")
+ main.log.report("Scaling ONOS down to 6 ONOS instances")
main.ONOS7.handle.sendline("./onos.sh core stop")
time.sleep(8)
pdata = main.ONOS7.isup()
@@ -1594,19 +1220,15 @@
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale down successfull -6-node ONOS cluster is up and running!",onfail="ONOS didn't start...")
def CASE9(self,main):
- main.case("Scaling ONOS down to 5 ONOS instances")
+ main.log.report("Scaling ONOS down to 5 ONOS instances")
main.ONOS6.handle.sendline("./onos.sh core stop")
time.sleep(8)
pdata = main.ONOS6.isup() and main.ONOS7.isup()
@@ -1614,19 +1236,15 @@
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale down successfull - 5 node ONOS clsuter is up and running!",onfail="ONOS didn't start...")
def CASE10(self,main):
- main.case("Scaling ONOS down to 4 ONOS instances")
+ main.log.report("Scaling ONOS down to 4 ONOS instances")
main.ONOS5.handle.sendline("./onos.sh core stop ")
time.sleep(5)
@@ -1635,19 +1253,15 @@
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale down successful - 4 node ONOS cluster is up and running!",onfail="ONOS didn't start...")
def CASE11(self,main):
- main.case("Scaling ONOS down to 3 ONOS instances")
+ main.log.report("Scaling ONOS down to 3 ONOS instances")
main.ONOS4.handle.sendline("./onos.sh core stop ")
time.sleep(5)
pdata = main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup() and main.ONOS7.isup()
@@ -1655,15 +1269,11 @@
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
for i in range(3):
if data == main.FALSE:
- #main.log.report("Something is funny... restarting ONOS")
- #main.ONOS1.stop()
time.sleep(3)
- #main.ONOS1.start()
- #time.sleep(5)
data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
else:
break
- utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+ utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Scale down successful - 3 node ONOS cluster is up and running!",onfail="ONOS didn't start...")
def CASE100(self,main):
import os
@@ -1701,17 +1311,36 @@
def CASE103(self,main):
import os
import time
- main.case("Posting the results to http://10.128.5.54/scale.html ....")
+ main.log.report("Posting the results to http://10.128.5.54/scale.html")
db_script = main.params['db_script']
- os.system(db_script + " --name='100SwitchScaleUp" + "' -rate3='" + str(tpavg3n) + "' -rate4='" + str(tpavg4n) + "' -rate5='" + str(tpavg5n) + "' -rate6='" + str(tpavg6n) + "' -rate7='" + str(tpavg7n) + "' -table='onos_scale'")
-
+ os.system(db_script + " -n='100SwitchScaleUp" + "' -rate3='" + str(tpavg3n) + "' -rate4='" + str(tpavg4n) + "' -rate5='" + str(tpavg5n) + "' -rate6='" + str(tpavg6n) + "' -rate7='" + str(tpavg7n) + "' -table='onos_scale'")
+ main.log.report("The graphical view of the tests can be viewed at http://10.128.5.54/scale.html")
+
def CASE104(self,main):
import os
import time
- main.case("Posting the results to http://10.128.5.54/scale.html ....")
+ main.log.report("Posting the results to http://10.128.5.54/scale.html ....")
db_script = main.params['db_script']
- os.system(db_script + " --name='100SwitchScaleDown" + "' -rate3='" + str(tpavg7n) + "' -rate4='" + str(tpavg6n) + "' -rate5='" + str(tpavg5n) + "' -rate6='" + str(tpavg4n) + "' -rate7='" + str(tpavg3n) + "' -table='onos_scale'")
+ os.system(db_script + " -n='100SwitchScaleDown" + "' -rate3='" + str(tpavg3n) + "' -rate4='" + str(tpavg4n) + "' -rate5='" + str(tpavg5n) + "' -rate6='" + str(tpavg6n) + "' -rate7='" + str(tpavg7n) + "' -table='onos_scale'")
+ main.log.report("The graphical view of the tests can be viewed at http://10.128.5.54/scale.html")
+ def CASE105(self,main):
+ import os
+ import time
+ main.log.report("Posting the results to http://10.128.5.54/scale.html ....")
+ db_script = main.params['db_script']
+ os.system(db_script + " -n='1000IntentsScaleUp" + "' -rate3='" + str(nbtpavg3n) + "' -rate4='" + str(nbtpavg4n) + "' -rate5='" + str(nbtpavg5n) + "' -rate6='" + str(nbtpavg6n) + "' -rate7='" + str(nbtpavg7n) + "' -table='onos_scale'")
+
+ main.log.report("The graphical view of the tests can be viewed at http://10.128.5.54/scale.html")
+
+ def CASE106(self,main):
+ import os
+ import time
+ main.log.report("Posting the results to http://10.128.5.54/scale.html ....")
+ db_script = main.params['db_script']
+ os.system(db_script + " -n='1000IntentsScaleDown" + "' -rate3='" + str(nbtpavg3n) + "' -rate4='" + str(nbtpavg4n) + "' -rate5='" + str(nbtpavg5n) + "' -rate6='" + str(nbtpavg6n) + "' -rate7='" + str(nbtpavg7n) + "' -table='onos_scale'")
+
+ main.log.report("The graphical view of the tests can be viewed at http://10.128.5.54/scale.html")
diff --git a/TestON/tests/scaleONOS7nodes/scaleResults b/TestON/tests/scaleONOS7nodes/scaleResults
deleted file mode 100644
index 2488306..0000000
--- a/TestON/tests/scaleONOS7nodes/scaleResults
+++ /dev/null
@@ -1,51 +0,0 @@
-[2014-07-25 15:15:35.933098] [scaleONOS7nodes] [CASE] Starting SB load from mininet with 20sw added/removed 10/s duration: 360s
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4, u'mean_rate': 0.059200312795650786, u'm5_rate': 0.0, u'm15_rate': 0.0, u'units': u'events/second', u'm1_rate': 0.0}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 189, u'mean_rate': 2.4356254535500663, u'm5_rate': 0.41843186533973237, u'm15_rate': 1.9369051806194815, u'units': u'events/second', u'm1_rate': 0.14129996658762756}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 305, u'mean_rate': 3.4808906901728482, u'm5_rate': 0.9457303370098417, u'm15_rate': 4.174524246234802, u'units': u'events/second', u'm1_rate': 0.3220664415995731}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 470, u'mean_rate': 4.813391854440621, u'm5_rate': 1.3653129541121973, u'm15_rate': 5.67074120039854, u'units': u'events/second', u'm1_rate': 0.47005007387755343}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 554, u'mean_rate': 5.145399853971431, u'm5_rate': 1.6878416231510096, u'm15_rate': 6.5221406321995365, u'units': u'events/second', u'm1_rate': 0.5886241207705653}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 670, u'mean_rate': 5.692871627444301, u'm5_rate': 1.9211151858691953, u'm15_rate': 6.874390831538807, u'units': u'events/second', u'm1_rate': 0.6793689049109783}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 782, u'mean_rate': 6.122985062753683, u'm5_rate': 2.298585202117126, u'm15_rate': 7.903041256773227, u'units': u'events/second', u'm1_rate': 0.8200558382406801}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 928, u'mean_rate': 6.737355933051502, u'm5_rate': 2.5440190839839243, u'm15_rate': 8.182751878849528, u'units': u'events/second', u'm1_rate': 0.9192254774790037}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1068, u'mean_rate': 7.2277027669966225, u'm5_rate': 3.0582120448420502, u'm15_rate': 9.742318376899973, u'units': u'events/second', u'm1_rate': 1.1102756658184045}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1178, u'mean_rate': 7.465643586983538, u'm5_rate': 3.3117994889825484, u'm15_rate': 9.89957751878761, u'units': u'events/second', u'm1_rate': 1.2173187929330158}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1272, u'mean_rate': 7.579869789467111, u'm5_rate': 3.491942657341365, u'm15_rate': 9.73588659125985, u'units': u'events/second', u'm1_rate': 1.3011290230067005}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1372, u'mean_rate': 7.714903896910294, u'm5_rate': 3.744533557606514, u'm15_rate': 9.958097598081375, u'units': u'events/second', u'm1_rate': 1.410495416418516}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1502, u'mean_rate': 7.995257880751603, u'm5_rate': 3.9832156189264327, u'm15_rate': 10.137227344552151, u'units': u'events/second', u'm1_rate': 1.5165477887836256}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1618, u'mean_rate': 8.17649661132665, u'm5_rate': 4.232923512725775, u'm15_rate': 10.361789679493679, u'units': u'events/second', u'm1_rate': 1.6279660102909048}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1796, u'mean_rate': 8.638436983286626, u'm5_rate': 4.625961247189527, u'm15_rate': 11.274683186266738, u'units': u'events/second', u'm1_rate': 1.7890611156116576}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 1898, u'mean_rate': 8.70908577788645, u'm5_rate': 4.940218041617326, u'm15_rate': 11.732722831544308, u'units': u'events/second', u'm1_rate': 1.9262401293788511}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2014, u'mean_rate': 8.834979322143473, u'm5_rate': 5.086044615238827, u'm15_rate': 11.36565719225259, u'units': u'events/second', u'm1_rate': 2.00877929586214}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2096, u'mean_rate': 8.80741944058602, u'm5_rate': 5.23446678354358, u'm15_rate': 11.104825178674638, u'units': u'events/second', u'm1_rate': 2.092708438681387}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2212, u'mean_rate': 8.919169787587151, u'm5_rate': 5.42342880661179, u'm15_rate': 11.087454018930082, u'units': u'events/second', u'm1_rate': 2.1911244042226627}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2302, u'mean_rate': 8.921505549289213, u'm5_rate': 5.527733113130847, u'm15_rate': 10.709420105909206, u'units': u'events/second', u'm1_rate': 2.261958400590161}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2424, u'mean_rate': 9.043024690304492, u'm5_rate': 5.7730856298958795, u'm15_rate': 11.070016034135019, u'units': u'events/second', u'm1_rate': 2.3806525506070884}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2558, u'mean_rate': 9.198907190307924, u'm5_rate': 5.977993104861085, u'm15_rate': 11.230685676223507, u'units': u'events/second', u'm1_rate': 2.487028536364942}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2652, u'mean_rate': 9.205141639750474, u'm5_rate': 6.102910924894121, u'm15_rate': 11.002099225101214, u'units': u'events/second', u'm1_rate': 2.567791053544984}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2758, u'mean_rate': 9.251221641461491, u'm5_rate': 6.236628457203367, u'm15_rate': 10.864897965206772, u'units': u'events/second', u'm1_rate': 2.6520564660056722}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 2866, u'mean_rate': 9.300808867298466, u'm5_rate': 6.4461734461098965, u'm15_rate': 11.153003681875704, u'units': u'events/second', u'm1_rate': 2.7620817265483906}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3000, u'mean_rate': 9.428962629183438, u'm5_rate': 6.549131070407777, u'm15_rate': 10.904360602384472, u'units': u'events/second', u'm1_rate': 2.837588952255399}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3114, u'mean_rate': 9.488273497253953, u'm5_rate': 6.760779624902542, u'm15_rate': 11.22991528533686, u'units': u'events/second', u'm1_rate': 2.9498980541385973}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3232, u'mean_rate': 9.555939548927737, u'm5_rate': 6.971335992976415, u'm15_rate': 11.519573501287377, u'units': u'events/second', u'm1_rate': 3.0630963037697176}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3322, u'mean_rate': 9.539302128630185, u'm5_rate': 7.005059610420453, u'm15_rate': 10.979254648249038, u'units': u'events/second', u'm1_rate': 3.117647167706458}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3426, u'mean_rate': 9.562668411317048, u'm5_rate': 7.168703957115292, u'm15_rate': 11.13340055572298, u'units': u'events/second', u'm1_rate': 3.2157814313436766}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3556, u'mean_rate': 9.6553664830416, u'm5_rate': 7.30835119706793, u'm15_rate': 11.196064287702198, u'units': u'events/second', u'm1_rate': 3.3063182176268193}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3690, u'mean_rate': 9.753744409437841, u'm5_rate': 7.436043897518086, u'm15_rate': 11.19922564971827, u'units': u'events/second', u'm1_rate': 3.3935526056733525}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3862, u'mean_rate': 9.94485575877501, u'm5_rate': 7.716475942451841, u'm15_rate': 11.928560772404543, u'units': u'events/second', u'm1_rate': 3.5328121098263545}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 3962, u'mean_rate': 9.945657010947713, u'm5_rate': 7.921927978095857, u'm15_rate': 12.23377875835498, u'units': u'events/second', u'm1_rate': 3.6484090746318865}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4074, u'mean_rate': 9.975814947863958, u'm5_rate': 8.00901532078311, u'm15_rate': 11.966342332818853, u'units': u'events/second', u'm1_rate': 3.7251416456063717}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4156, u'mean_rate': 9.932800200694953, u'm5_rate': 8.054999692711906, u'm15_rate': 11.58131193842906, u'units': u'events/second', u'm1_rate': 3.7878895918323345}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4290, u'mean_rate': 10.013202869430945, u'm5_rate': 8.197664300462709, u'm15_rate': 11.712109833999651, u'units': u'events/second', u'm1_rate': 3.8830746138276506}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 9.97133516767342, u'm5_rate': 8.191184093898045, u'm15_rate': 11.142233135267437, u'units': u'events/second', u'm1_rate': 3.928565036650824}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 9.748514038149732, u'm5_rate': 8.052687964347193, u'm15_rate': 10.02019824138421, u'units': u'events/second', u'm1_rate': 3.9292315920501197}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 9.535437429356055, u'm5_rate': 7.788689451274274, u'm15_rate': 8.481914691112806, u'units': u'events/second', u'm1_rate': 3.885815112583944}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 9.331367778702917, u'm5_rate': 7.533345838926838, u'm15_rate': 7.179785778108208, u'units': u'events/second', u'm1_rate': 3.842878368314098}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 9.135919987284627, u'm5_rate': 7.286373385909162, u'm15_rate': 6.077557449798136, u'units': u'events/second', u'm1_rate': 3.80041605835342}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.948532183901525, u'm5_rate': 7.047497652974929, u'm15_rate': 5.144541313226928, u'units': u'events/second', u'm1_rate': 3.758422940387489}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.76863771104249, u'm5_rate': 6.8164531980665, u'm15_rate': 4.354760204591356, u'units': u'events/second', u'm1_rate': 3.7168938300274155}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.59583194470271, u'm5_rate': 6.592983281351978, u'm15_rate': 3.6862249294674947, u'units': u'events/second', u'm1_rate': 3.6758236001697906}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.429632452341373, u'm5_rate': 6.37683957993232, u'm15_rate': 3.120322036630427, u'units': u'events/second', u'm1_rate': 3.635207180363701}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.269862736358995, u'm5_rate': 6.167781911901452, u'm15_rate': 2.6412955797811177, u'units': u'events/second', u'm1_rate': 3.595039556184744}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 8.115976079788764, u'm5_rate': 5.965577969452773, u'm15_rate': 2.2358084383190753, u'units': u'events/second', u'm1_rate': 3.5553157686159524}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 7.967761632050002, u'm5_rate': 5.770003060735474, u'm15_rate': 1.892570983393321, u'units': u'events/second', u'm1_rate': 3.516030913435567}}
-{u'name': u'Topology.EventNotification.ListenerEventRate', u'meter': {u'count': 4372, u'mean_rate': 7.8248239429659785, u'm5_rate': 5.580839860173803, u'm15_rate': 1.6020267505007044, u'units': u'events/second', u'm1_rate': 3.477180140611569}}