#!/usr/bin/env python3
'''
1,1, 4,5
3,2, 5,6
5,4, 7,8
7,5, 8,9
2,1, 2,5
4,2, 3,6
6,4, 5,8
8,5, 6,9
i, roundUp(i/2) +isGreaterThanMiddle, adding_3or1, adding4
'''
import math
def round_up_half(i):
''' 1,2,3,4,5,6,7,8 => 1,1,2,2,3,3,4,4 '''
return math.ceil(i/2)
def is_greater_than_middle(i):
''' 1,2,3,4,5,6,7,8 => 0,0,0,0,1,1,1,1 '''
if i <= 4:
return 0
else:
return 1
def first_pos(i):
''' 1,2,3,4,5,6,7,8 => 1,1,2,2,4,4,5,5 '''
return round_up_half(i) + is_greater_than_middle(i)
def adding_3or1(i):
if i % 2 == 0:
return 1
else:
return 3
def second_pos(i):
return first_pos(i) + adding_3or1(i)
def third_pos(i):
return first_pos(i) + 4
def region_and_pos(i):
return [i, first_pos(i), second_pos(i), third_pos(i)]
def describe_all():
for i in range(1,9):
print(region_and_pos(i))
describe_all()
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwonJycKMSwxLCA0LDUKMywyLCA1LDYKNSw0LCA3LDgKNyw1LCA4LDkKCjIsMSwgMiw1CjQsMiwgMyw2CjYsNCwgNSw4CjgsNSwgNiw5CgppLCByb3VuZFVwKGkvMikgK2lzR3JlYXRlclRoYW5NaWRkbGUsIGFkZGluZ18zb3IxLCBhZGRpbmc0CicnJwoKaW1wb3J0IG1hdGgKZGVmIHJvdW5kX3VwX2hhbGYoaSk6CiAgICAnJycgMSwyLDMsNCw1LDYsNyw4ID0+IDEsMSwyLDIsMywzLDQsNCAnJycKICAgIHJldHVybiBtYXRoLmNlaWwoaS8yKQoKZGVmIGlzX2dyZWF0ZXJfdGhhbl9taWRkbGUoaSk6CiAgICAnJycgMSwyLDMsNCw1LDYsNyw4ID0+IDAsMCwwLDAsMSwxLDEsMSAnJycKICAgIGlmIGkgPD0gNDoKICAgICAgICByZXR1cm4gMAogICAgZWxzZToKICAgICAgICByZXR1cm4gMQoKZGVmIGZpcnN0X3BvcyhpKToKICAgICcnJyAxLDIsMyw0LDUsNiw3LDggPT4gMSwxLDIsMiw0LDQsNSw1ICcnJwogICAgcmV0dXJuIHJvdW5kX3VwX2hhbGYoaSkgKyBpc19ncmVhdGVyX3RoYW5fbWlkZGxlKGkpCgpkZWYgYWRkaW5nXzNvcjEoaSk6CiAgICBpZiBpICUgMiA9PSAwOgogICAgICAgIHJldHVybiAxCiAgICBlbHNlOgogICAgICAgIHJldHVybiAzCgpkZWYgc2Vjb25kX3BvcyhpKToKICAgIHJldHVybiBmaXJzdF9wb3MoaSkgKyBhZGRpbmdfM29yMShpKQoKZGVmIHRoaXJkX3BvcyhpKToKICAgIHJldHVybiBmaXJzdF9wb3MoaSkgKyA0CiAgICAKZGVmIHJlZ2lvbl9hbmRfcG9zKGkpOgogICAgcmV0dXJuIFtpLCBmaXJzdF9wb3MoaSksIHNlY29uZF9wb3MoaSksIHRoaXJkX3BvcyhpKV0KCmRlZiBkZXNjcmliZV9hbGwoKToKICAgIGZvciBpIGluIHJhbmdlKDEsOSk6CiAgICAgICAgcHJpbnQocmVnaW9uX2FuZF9wb3MoaSkpCgpkZXNjcmliZV9hbGwoKQ==