In [2]:
import os
from collections import namedtuple
data_path = os.environ["YAHOO_DATA"]
rawEventsRdd = sc.textFile(data_path + "filteredEvents.txt")
EventDataRow = namedtuple("EventDataRow", ["userId", "itemId", "ts", "latitude", "longitude", "city", "day_of_week", "time_of_day" , "event_type"])
def parseRawData(line):
    lineSplit = line.split("\t")
    return EventDataRow(userId=lineSplit[0],
                      itemId=lineSplit[1],
                      ts=int(lineSplit[2]),
                      latitude=float(lineSplit[3]),
                      longitude=float(lineSplit[4]),
                      city=lineSplit[5],
                      day_of_week=int(lineSplit[6]),
                      time_of_day=int(lineSplit[7]),
                      event_type=lineSplit[-1],
    )
eventsRdd = rawEventsRdd.map(parseRawData).cache()
userIdConversionDictionary = eventsRdd.map(lambda x: x.userId).distinct().zipWithIndex().collectAsMap()
userIdConversionDictionaryBroadcast = sc.broadcast(userIdConversionDictionary)
itemIdConversionDictionary = eventsRdd.map(lambda x: x.itemId).distinct().zipWithIndex().collectAsMap()
itemIdConversionDictionaryBroadcast = sc.broadcast(itemIdConversionDictionary)
cityConversionDictionary = eventsRdd.map(lambda x: x.city).distinct().zipWithIndex().collectAsMap()
cityConversionDictionaryBroadcast = sc.broadcast(cityConversionDictionary)

eventsConvertedRdd = eventsRdd.map(lambda x: EventDataRow(
    userId=userIdConversionDictionaryBroadcast.value[x.userId],
    itemId=itemIdConversionDictionaryBroadcast.value[x.itemId],
    ts=x.ts,
    latitude=x.latitude,
    longitude=x.longitude,
    city=cityConversionDictionaryBroadcast.value[x.city],
    day_of_week=x.day_of_week,
    time_of_day=x.time_of_day,
    event_type=x.event_type
    ))
eventsConvertedRdd.take(2)


Out[2]:
[EventDataRow(userId=1, itemId=41, ts=1421521691, latitude=47.23505, longitude=-122.534698, city=9, day_of_week=5, time_of_day=11, event_type=u'App_Opened'),
 EventDataRow(userId=1, itemId=46, ts=1421558502, latitude=47.23505, longitude=-122.534698, city=9, day_of_week=5, time_of_day=21, event_type=u'App_Opened')]

In [3]:
finalRDD = eventsConvertedRdd.map(lambda x: [
    x.userId,(
    x.itemId,
    x.ts,
    x.latitude,
    x.longitude,)
    ])
groupData = map((lambda (x,y): (x, sorted(list(y),key=lambda a: a[1]))), sorted(finalRDD.groupByKey().collect()))

In [5]:
from math import radians, cos, sin, asin, sqrt

def haversine(lon1, lat1, lon2, lat2):
    """
    Calculate the great circle distance between two points 
    on the earth (specified in decimal degrees)
    """
    # convert decimal degrees to radians 
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])

    # haversine formula 
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    r = 6371 # Radius of earth in kilometers. Use 3956 for miles
    return c * r
def detectMovement(x):
    data = x[1]
    newData = [(data[0][0], data[0][1], data[0][2], data[0][3], 0)]
    for i in xrange(1,len(data)):
        event = data[i]
        distance = haversine(event[3],event[2], data[i-1][3], data[i-1][2]) * 1000 #in meters
        time_difference = event[1] - newData[i-1][1] #in seconds
        moving = 0 #not available 
        if time_difference <= 300: #if 2 consecutive events are more than 300 seconds away, the movement is not available
            velocity =  distance/time_difference if time_difference > 0 else -1
            if velocity < 0:
                moving = 0; #not available
            elif velocity >= 0 and velocity <= 1:
                moving = 1  #standing still
            elif velocity <=2.4:
                moving = 2 #walking spead
            else:
                moving = 3 #faster
        newData.append((event[0],event[1],event[2],event[3], moving))
    return (x[0], newData)
    #return x
#print haversine(elem[0][1][2][1],elem[0][1][1][1],elem[6][1][2][1],elem[6][1][1][1])
final = sc.parallelize(groupData).map(detectMovement).cache()

final.take(1)


Out[5]:
[(0,
  [(9, 1419930330, 41.953468, -88.03688, 0),
   (26, 1419933628, 41.953377, -88.036888, 0),
   (26, 1419933925, 41.95377, -88.03685, 1),
   (7, 1419936235, 41.95089, -88.031929, 0),
   (32, 1419936281, 41.95089, -88.031929, 1),
   (7, 1419936795, 41.95372, -88.036819, 0),
   (7, 1419936826, 41.95372, -88.036819, 1),
   (25, 1419939212, 41.953773, -88.03685, 0),
   (36, 1419939665, 41.95377, -88.036842, 0),
   (32, 1419943830, 41.953518, -88.036728, 0),
   (25, 1419944425, 41.953758, -88.036797, 0),
   (18, 1419944495, 41.953781, -88.036812, 1),
   (32, 1419945131, 41.953392, -88.036758, 0),
   (7, 1419945747, 41.952774, -88.036896, 0),
   (32, 1419945766, 41.952774, -88.036896, 1),
   (29, 1419946786, 41.953533, -88.036667, 0),
   (41, 1419946886, 41.953434, -88.03688, 1),
   (25, 1419947132, 41.953484, -88.036652, 1),
   (25, 1419947331, 41.953777, -88.036812, 1),
   (41, 1419947368, 41.953491, -88.036858, 1),
   (2, 1419947404, 41.953674, -88.036758, 1),
   (32, 1419947827, 41.95377, -88.036835, 0),
   (44, 1419958776, 41.953514, -88.036751, 0),
   (32, 1419958779, 41.953514, -88.036751, 1),
   (44, 1419958787, 41.953514, -88.036751, 1),
   (20, 1419986257, 41.953419, -88.036995, 0),
   (26, 1419986328, 41.953419, -88.036995, 1),
   (32, 1419986405, 41.953476, -88.036919, 1),
   (25, 1419986588, 41.953274, -88.037064, 1),
   (29, 1419987898, 41.953442, -88.036865, 0),
   (32, 1419988245, 41.953506, -88.036942, 0),
   (25, 1419993219, 41.953747, -88.036865, 0),
   (32, 1419994078, 41.953777, -88.036797, 0),
   (32, 1419995782, 41.953579, -88.036598, 0),
   (22, 1419996030, 41.953472, -88.036705, 1),
   (26, 1420007132, 41.953392, -88.037071, 0),
   (41, 1420008462, 41.95322, -88.03698, 0),
   (4, 1420009523, 41.953754, -88.036819, 0),
   (32, 1420009545, 41.953754, -88.036819, 1),
   (25, 1420009610, 41.953766, -88.036827, 1),
   (32, 1420009642, 41.953766, -88.036827, 1),
   (25, 1420010742, 41.953777, -88.036812, 0),
   (32, 1420011008, 41.953606, -88.036629, 1),
   (32, 1420963681, 41.947174, -88.040771, 0),
   (7, 1420970969, 41.953175, -88.037018, 0),
   (13, 1420971071, 41.952808, -88.037178, 1),
   (32, 1420972251, 41.953075, -88.037132, 0),
   (7, 1420992327, 41.953747, -88.036812, 0),
   (9, 1420992333, 41.953747, -88.036812, 1),
   (32, 1420992358, 41.953747, -88.036812, 1),
   (9, 1420993887, 41.953541, -88.036819, 0),
   (25, 1420997510, 41.953484, -88.036652, 0),
   (25, 1420999044, 41.953484, -88.036652, 0),
   (32, 1420999903, 41.953484, -88.036652, 0),
   (15, 1421000706, 41.953537, -88.03685, 0),
   (32, 1421000827, 41.953537, -88.03685, 1),
   (25, 1421000888, 41.953537, -88.03685, 1),
   (32, 1421010025, 41.953453, -88.036903, 0),
   (26, 1421010592, 41.953541, -88.036804, 0),
   (26, 1421012928, 41.95348, -88.036888, 0),
   (32, 1421013025, 41.95348, -88.036888, 1),
   (7, 1421013510, 41.953587, -88.036766, 0),
   (32, 1421013537, 41.953365, -88.036873, 1),
   (32, 1421018429, 41.953373, -88.036903, 0),
   (32, 1421018980, 41.953079, -88.037155, 0),
   (7, 1421020256, 41.95377, -88.036827, 0),
   (7, 1421020415, 41.953445, -88.036758, 1),
   (32, 1421020469, 41.953445, -88.036758, 1),
   (7, 1421026506, 41.953541, -88.036697, 0),
   (26, 1421026521, 41.953541, -88.036697, 1),
   (20, 1421026524, 41.953541, -88.036697, 1),
   (26, 1421026674, 41.95348, -88.036957, 1),
   (26, 1421028174, 41.953472, -88.036888, 0),
   (26, 1421028768, 41.953304, -88.036575, 0),
   (32, 1421031381, 41.95338, -88.03688, 0),
   (36, 1421039410, 41.953438, -88.03688, 0),
   (32, 1421039510, 41.953438, -88.03688, 1),
   (25, 1421042502, 41.953381, -88.036743, 0),
   (26, 1421042557, 41.953381, -88.036751, 1),
   (32, 1421042817, 41.953957, -88.036308, 1),
   (25, 1421047212, 41.953434, -88.036812, 0),
   (7, 1421079433, 41.953747, -88.036797, 0),
   (26, 1421079487, 41.953461, -88.036858, 1),
   (32, 1421079550, 41.953461, -88.036858, 1),
   (26, 1421080209, 41.953758, -88.036804, 0),
   (9, 1421080232, 41.953758, -88.036804, 1),
   (29, 1421097744, 41.953522, -88.036842, 0),
   (7, 1421101060, 41.953621, -88.036758, 0),
   (7, 1421102129, 41.953358, -88.036766, 0),
   (32, 1421102835, 41.953365, -88.036789, 0),
   (32, 1421103593, 41.953453, -88.036804, 0),
   (24, 1421104336, 41.953754, -88.036842, 0),
   (36, 1421104441, 41.953785, -88.036804, 1),
   (32, 1421106633, 41.952824, -88.036934, 0),
   (26, 1421108020, 41.953465, -88.03685, 0),
   (32, 1421108089, 41.953465, -88.03685, 1),
   (21, 1421110012, 41.953583, -88.03672, 0),
   (13, 1421110209, 41.952587, -88.037277, 1),
   (25, 1421112511, 41.953773, -88.036827, 0),
   (25, 1421114020, 41.953362, -88.036766, 0),
   (32, 1421114780, 41.952713, -88.03714, 0),
   (32, 1421120065, 41.953789, -88.036774, 0),
   (7, 1421121269, 41.952724, -88.037148, 0),
   (22, 1421121788, 41.952991, -88.037262, 0),
   (13, 1421122317, 41.953102, -88.037125, 0),
   (7, 1421122324, 41.953102, -88.037125, 1),
   (7, 1421122393, 41.952766, -88.037262, 1),
   (7, 1421122820, 41.947193, -88.041069, 0),
   (36, 1421122842, 41.947193, -88.041069, 1),
   (32, 1421122868, 41.947193, -88.041069, 1),
   (7, 1421123761, 41.968613, -88.152145, 0),
   (24, 1421123817, 41.96859, -88.151978, 1),
   (32, 1421139126, 41.916237, -88.303696, 0),
   (7, 1421142300, 41.953766, -88.03685, 0),
   (32, 1421142310, 41.953785, -88.036797, 1),
   (20, 1421142319, 41.953785, -88.036797, 1),
   (38, 1421152804, 41.953434, -88.036888, 0),
   (32, 1421152879, 41.953419, -88.036568, 1),
   (38, 1421152965, 41.952679, -88.037155, 2),
   (26, 1421153597, 41.952763, -88.037201, 0),
   (32, 1421154714, 41.953415, -88.036728, 0),
   (26, 1421155363, 41.953365, -88.036873, 0),
   (32, 1421156156, 41.952717, -88.037224, 0),
   (38, 1421158699, 41.953712, -88.036789, 0),
   (32, 1421158753, 41.953712, -88.036789, 1),
   (38, 1421158927, 41.953728, -88.036835, 1),
   (29, 1421159726, 41.953556, -88.036674, 0),
   (25, 1421160116, 41.95343, -88.036865, 0),
   (32, 1421161685, 41.953545, -88.036667, 0),
   (32, 1421162999, 41.953735, -88.036812, 0),
   (9, 1421165029, 41.95359, -88.036736, 0),
   (25, 1421165129, 41.952778, -88.037132, 1),
   (32, 1421165365, 41.953602, -88.036827, 1),
   (32, 1421174776, 41.95356, -88.036674, 0),
   (25, 1421176618, 41.953732, -88.036774, 0),
   (32, 1421176733, 41.953732, -88.036774, 1),
   (34, 1421177425, 41.969563, -88.113914, 0),
   (34, 1421178121, 41.958031, -88.15271, 0),
   (32, 1421178301, 41.955807, -88.117439, 3),
   (7, 1421178996, 41.956745, -88.120155, 0),
   (32, 1421179006, 41.956745, -88.120155, 1),
   (7, 1421179094, 41.956848, -88.120583, 1),
   (32, 1421179103, 41.956848, -88.120583, 1),
   (32, 1421179210, 41.961037, -88.120369, 3),
   (7, 1421179530, 41.954975, -88.056381, 0),
   (32, 1421179542, 41.954975, -88.056381, 1),
   (7, 1421179915, 41.951206, -88.03183, 0),
   (32, 1421180094, 41.95298, -88.037186, 3),
   (7, 1421181485, 41.953762, -88.036804, 0),
   (2, 1421181639, 41.953411, -88.036804, 1),
   (25, 1421182469, 41.953751, -88.036812, 0),
   (31, 1421182544, 41.953777, -88.036789, 1),
   (29, 1421182619, 41.953377, -88.036667, 1),
   (25, 1421182795, 41.953575, -88.036774, 1),
   (41, 1421183368, 41.95377, -88.036827, 0),
   (32, 1421184003, 41.953457, -88.036774, 0),
   (25, 1421185205, 41.95377, -88.036842, 0),
   (36, 1421186377, 41.953518, -88.036613, 0),
   (32, 1421186433, 41.953506, -88.036827, 1),
   (32, 1421188484, 41.936356, -88.080688, 0),
   (36, 1421189107, 41.938904, -88.041603, 0),
   (17, 1421281270, 41.951786, -88.040977, 0),
   (18, 1421281308, 41.951786, -88.040977, 1),
   (32, 1421281346, 41.951786, -88.040977, 1),
   (15, 1421281402, 41.951786, -88.040977, 1),
   (32, 1421281420, 41.951786, -88.040977, 1),
   (7, 1421281737, 41.943657, -88.04454, 0),
   (7, 1421281801, 41.943657, -88.04454, 1),
   (26, 1421281806, 41.943657, -88.04454, 1),
   (32, 1421282357, 41.951736, -88.031807, 0),
   (32, 1421285002, 41.953564, -88.036819, 0),
   (32, 1421292395, 41.953526, -88.036674, 0),
   (13, 1421297618, 41.844311, -88.082954, 0),
   (26, 1421297658, 41.844311, -88.082954, 1),
   (46, 1421298813, 41.888432, -88.091354, 0),
   (38, 1421298861, 41.888012, -88.103409, 3),
   (38, 1421299024, 41.909981, -88.117737, 3),
   (32, 1421299079, 41.909981, -88.117737, 1),
   (32, 1421299196, 41.909981, -88.117737, 1),
   (34, 1421300685, 41.952835, -88.126961, 0),
   (32, 1421300727, 41.954918, -88.119896, 3),
   (34, 1421300841, 41.963955, -88.120529, 3),
   (36, 1421300845, 41.963955, -88.120529, 1),
   (46, 1421300870, 41.963955, -88.120529, 1),
   (32, 1421300913, 41.971428, -88.118614, 3),
   (32, 1421301168, 41.956463, -88.075043, 3),
   (46, 1421301394, 41.954494, -88.050812, 3),
   (34, 1421301667, 41.939106, -88.039337, 3),
   (34, 1421301948, 41.939106, -88.039337, 1),
   (32, 1421303065, 41.953552, -88.036667, 0),
   (7, 1421308997, 41.953629, -88.03685, 0),
   (14, 1421321918, 41.953625, -88.036636, 0),
   (32, 1421322166, 41.953571, -88.036751, 1),
   (44, 1421322662, 41.95377, -88.036652, 0),
   (15, 1421322725, 41.95319, -88.036972, 2),
   (4, 1421322788, 41.95319, -88.036972, 1),
   (41, 1421339743, 41.953873, -88.036812, 0),
   (32, 1421339781, 41.953873, -88.036812, 1),
   (13, 1421356243, 41.953491, -88.036903, 0),
   (32, 1421366520, 41.953526, -88.037025, 0),
   (25, 1421367501, 41.953526, -88.037025, 0),
   (15, 1421367976, 41.953526, -88.037025, 0),
   (18, 1421368126, 41.953526, -88.037025, 1),
   (24, 1421368277, 41.953526, -88.037025, 1),
   (18, 1421368353, 41.953526, -88.037025, 1),
   (26, 1421368655, 41.953526, -88.037025, 0),
   (32, 1421370464, 41.953526, -88.037025, 0),
   (26, 1421370765, 41.953526, -88.037025, 0),
   (32, 1421371666, 41.953526, -88.037025, 0),
   (32, 1421376816, 41.953526, -88.037025, 0),
   (32, 1421390008, 41.953526, -88.037025, 0),
   (29, 1421390308, 41.953526, -88.037025, 1)])]

In [3]:
execfile("../script/context.py")
final.take(2)


Out[3]:
[(0,
  [(9, 1, 1, 1),
   (26, 1, 3, 1),
   (26, 2, 3, 1),
   (7, 1, 3, 1),
   (32, 2, 3, 1),
   (7, 1, 3, 1),
   (7, 2, 3, 1),
   (25, 1, 3, 1),
   (36, 1, 3, 1),
   (32, 1, 3, 1),
   (25, 1, 3, 2),
   (18, 2, 3, 2),
   (32, 1, 3, 2),
   (7, 1, 3, 2),
   (32, 2, 3, 2),
   (29, 1, 3, 2),
   (41, 2, 1, 2),
   (25, 2, 3, 2),
   (25, 2, 3, 2),
   (41, 2, 1, 2),
   (2, 2, 3, 2),
   (32, 1, 3, 2),
   (44, 1, 3, 2),
   (32, 2, 3, 2),
   (44, 2, 3, 2),
   (20, 1, 2, 3),
   (26, 2, 2, 3),
   (32, 2, 1, 3),
   (25, 2, 3, 3),
   (29, 1, 1, 3),
   (32, 1, 1, 3),
   (25, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (22, 2, 3, 3),
   (26, 1, 2, 3),
   (41, 1, 3, 3),
   (4, 1, 3, 1),
   (32, 2, 3, 1),
   (25, 2, 3, 1),
   (32, 2, 3, 1),
   (25, 1, 3, 1),
   (32, 2, 3, 1),
   (32, 1, 3, 1),
   (7, 1, 3, 1),
   (13, 2, 3, 1),
   (32, 1, 3, 1),
   (7, 1, 3, 2),
   (9, 2, 3, 2),
   (32, 2, 3, 2),
   (9, 1, 1, 2),
   (25, 1, 3, 2),
   (25, 1, 3, 2),
   (32, 1, 3, 3),
   (15, 1, 1, 3),
   (32, 2, 1, 3),
   (25, 2, 1, 3),
   (32, 1, 1, 3),
   (26, 1, 3, 3),
   (26, 1, 1, 3),
   (32, 2, 1, 3),
   (7, 1, 3, 3),
   (32, 2, 3, 3),
   (32, 1, 2, 3),
   (32, 1, 3, 3),
   (7, 1, 3, 3),
   (7, 2, 3, 3),
   (32, 2, 3, 3),
   (7, 1, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (26, 2, 1, 3),
   (26, 1, 1, 3),
   (26, 1, 3, 3),
   (32, 1, 1, 3),
   (36, 1, 1, 3),
   (32, 2, 1, 3),
   (25, 1, 3, 3),
   (26, 2, 3, 3),
   (32, 2, 3, 3),
   (25, 1, 1, 1),
   (7, 1, 3, 2),
   (26, 2, 1, 2),
   (32, 2, 1, 2),
   (26, 1, 3, 2),
   (9, 2, 3, 2),
   (29, 1, 1, 3),
   (7, 1, 3, 3),
   (7, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 1, 3),
   (24, 1, 3, 3),
   (36, 2, 3, 3),
   (32, 1, 3, 3),
   (26, 1, 1, 3),
   (32, 2, 1, 3),
   (21, 1, 3, 3),
   (13, 2, 3, 3),
   (25, 1, 3, 3),
   (25, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (7, 1, 3, 3),
   (22, 1, 3, 3),
   (13, 1, 3, 3),
   (7, 2, 3, 3),
   (7, 2, 3, 3),
   (7, 1, 3, 3),
   (36, 2, 3, 3),
   (32, 2, 3, 3),
   (7, 1, 3, 3),
   (24, 2, 3, 3),
   (32, 1, 3, 1),
   (7, 1, 3, 1),
   (32, 2, 3, 1),
   (20, 2, 3, 1),
   (38, 1, 1, 1),
   (32, 2, 3, 1),
   (38, 3, 3, 1),
   (26, 1, 3, 1),
   (32, 1, 3, 2),
   (26, 1, 3, 2),
   (32, 1, 3, 2),
   (38, 1, 3, 2),
   (32, 2, 3, 2),
   (38, 2, 3, 2),
   (29, 1, 3, 2),
   (25, 1, 1, 2),
   (32, 1, 3, 2),
   (32, 1, 3, 2),
   (9, 1, 3, 2),
   (25, 2, 3, 2),
   (32, 2, 3, 2),
   (32, 1, 3, 3),
   (25, 1, 3, 3),
   (32, 2, 3, 3),
   (34, 1, 3, 3),
   (34, 1, 3, 3),
   (32, 4, 3, 3),
   (7, 1, 3, 3),
   (32, 2, 3, 3),
   (7, 2, 3, 3),
   (32, 2, 3, 3),
   (32, 4, 3, 3),
   (7, 1, 3, 3),
   (32, 2, 3, 3),
   (7, 1, 3, 3),
   (32, 4, 3, 3),
   (7, 1, 3, 3),
   (2, 2, 1, 3),
   (25, 1, 3, 3),
   (31, 2, 3, 3),
   (29, 2, 3, 3),
   (25, 2, 3, 3),
   (41, 1, 3, 3),
   (32, 1, 1, 3),
   (25, 1, 3, 3),
   (36, 1, 3, 3),
   (32, 2, 1, 3),
   (32, 1, 3, 3),
   (36, 1, 3, 3),
   (17, 1, 3, 3),
   (18, 2, 3, 3),
   (32, 2, 3, 3),
   (15, 2, 3, 3),
   (32, 2, 3, 3),
   (7, 1, 3, 3),
   (7, 2, 3, 3),
   (26, 2, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (13, 1, 3, 3),
   (26, 2, 3, 3),
   (46, 1, 3, 3),
   (38, 4, 3, 3),
   (38, 4, 3, 3),
   (32, 2, 3, 3),
   (32, 2, 3, 3),
   (34, 1, 3, 3),
   (32, 4, 3, 3),
   (34, 4, 3, 3),
   (36, 2, 3, 3),
   (46, 2, 3, 3),
   (32, 4, 3, 3),
   (32, 4, 3, 3),
   (46, 4, 3, 3),
   (34, 4, 3, 3),
   (34, 2, 3, 3),
   (32, 1, 3, 3),
   (7, 1, 3, 1),
   (14, 1, 3, 1),
   (32, 2, 3, 1),
   (44, 1, 3, 1),
   (15, 3, 3, 1),
   (4, 2, 3, 1),
   (41, 1, 3, 2),
   (32, 2, 3, 2),
   (13, 1, 1, 3),
   (32, 1, 3, 3),
   (25, 1, 3, 3),
   (15, 1, 3, 3),
   (18, 2, 3, 3),
   (24, 2, 3, 3),
   (18, 2, 3, 3),
   (26, 1, 3, 3),
   (32, 1, 3, 3),
   (26, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (32, 1, 3, 3),
   (29, 2, 3, 3)]),
 (1,
  [(35, 1, 1, 1),
   (25, 2, 1, 1),
   (45, 2, 1, 1),
   (35, 2, 1, 1),
   (26, 2, 1, 1),
   (26, 2, 1, 1),
   (40, 2, 1, 1),
   (36, 2, 1, 1),
   (41, 2, 1, 1),
   (44, 2, 1, 1),
   (25, 1, 1, 1),
   (26, 2, 1, 1),
   (44, 2, 1, 1),
   (26, 2, 1, 1),
   (35, 1, 2, 1),
   (26, 2, 2, 1),
   (44, 2, 2, 1),
   (33, 2, 2, 1),
   (33, 2, 2, 1),
   (26, 2, 2, 1),
   (43, 2, 2, 1),
   (25, 2, 2, 1),
   (16, 2, 2, 1),
   (43, 2, 2, 1),
   (44, 2, 2, 1),
   (39, 2, 2, 1),
   (26, 1, 1, 1),
   (16, 2, 1, 1),
   (35, 2, 1, 1),
   (26, 2, 1, 1),
   (11, 2, 1, 1),
   (48, 1, 1, 1),
   (35, 2, 1, 1),
   (20, 2, 1, 1),
   (26, 2, 1, 1),
   (18, 2, 1, 1),
   (11, 2, 1, 1),
   (24, 2, 1, 1),
   (40, 2, 1, 1),
   (11, 2, 1, 1),
   (11, 2, 1, 1),
   (44, 2, 1, 1),
   (11, 2, 1, 1),
   (24, 2, 1, 1),
   (40, 2, 1, 1),
   (36, 2, 1, 1),
   (41, 1, 1, 1),
   (26, 2, 1, 1),
   (20, 2, 1, 1),
   (40, 1, 1, 1),
   (44, 2, 1, 1),
   (11, 2, 1, 1),
   (24, 1, 1, 1),
   (40, 2, 1, 1),
   (11, 2, 1, 1),
   (44, 2, 1, 1),
   (24, 2, 1, 1),
   (28, 1, 1, 2),
   (24, 1, 1, 2),
   (28, 1, 1, 2),
   (44, 1, 1, 3),
   (26, 2, 1, 3),
   (36, 2, 1, 3),
   (41, 2, 1, 3),
   (26, 2, 1, 3),
   (20, 2, 1, 3),
   (40, 2, 1, 3),
   (11, 2, 1, 3),
   (44, 2, 1, 3),
   (28, 2, 1, 3),
   (47, 2, 1, 3),
   (25, 1, 1, 3),
   (45, 2, 1, 3),
   (26, 2, 1, 3),
   (20, 1, 1, 3),
   (40, 2, 1, 3),
   (44, 2, 1, 3),
   (36, 2, 1, 3),
   (46, 2, 1, 3),
   (41, 2, 1, 3),
   (28, 1, 1, 3),
   (23, 1, 1, 3),
   (16, 1, 2, 3),
   (35, 2, 2, 3),
   (25, 2, 2, 3),
   (26, 2, 1, 3),
   (47, 2, 1, 3),
   (20, 1, 1, 3),
   (40, 1, 1, 3),
   (46, 2, 1, 3),
   (41, 2, 1, 3),
   (44, 2, 1, 3),
   (36, 1, 1, 3),
   (36, 2, 1, 3),
   (46, 2, 1, 3),
   (28, 1, 1, 3),
   (23, 1, 1, 3),
   (35, 2, 1, 3),
   (26, 2, 1, 3),
   (25, 1, 1, 3),
   (35, 2, 1, 3),
   (28, 2, 1, 3),
   (35, 2, 1, 3),
   (33, 2, 1, 3),
   (35, 2, 1, 3),
   (24, 2, 1, 3),
   (23, 1, 1, 3),
   (18, 2, 1, 3),
   (33, 2, 1, 3),
   (23, 1, 1, 3),
   (23, 2, 1, 3),
   (36, 1, 2, 3),
   (23, 2, 2, 3),
   (41, 1, 1, 3),
   (26, 2, 1, 3),
   (23, 1, 1, 3),
   (26, 2, 1, 3),
   (26, 2, 1, 3),
   (35, 2, 1, 3),
   (25, 2, 1, 3),
   (45, 2, 1, 3),
   (25, 1, 1, 3),
   (1, 1, 1, 3),
   (23, 1, 1, 3),
   (23, 2, 1, 3),
   (23, 1, 1, 3),
   (20, 1, 1, 3),
   (40, 2, 1, 3),
   (46, 2, 1, 3),
   (36, 2, 1, 3),
   (41, 2, 1, 3),
   (44, 2, 1, 3),
   (33, 2, 1, 3),
   (47, 1, 1, 3),
   (27, 1, 1, 3),
   (11, 1, 1, 3),
   (11, 2, 1, 3),
   (18, 1, 1, 3),
   (39, 2, 1, 3),
   (23, 1, 3, 1),
   (7, 2, 3, 1),
   (25, 2, 3, 1),
   (26, 2, 3, 1),
   (16, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 2, 3, 1),
   (7, 1, 3, 1),
   (11, 2, 3, 1),
   (24, 2, 3, 1),
   (40, 2, 3, 1),
   (46, 2, 3, 1),
   (36, 2, 3, 1),
   (41, 2, 3, 1),
   (18, 2, 3, 1),
   (20, 2, 3, 1),
   (40, 2, 3, 1),
   (26, 1, 3, 1),
   (44, 2, 3, 1),
   (18, 2, 3, 1),
   (33, 2, 3, 1),
   (0, 1, 3, 1),
   (28, 1, 3, 1),
   (36, 1, 3, 1),
   (28, 2, 3, 1),
   (0, 2, 3, 1),
   (23, 2, 3, 1),
   (36, 2, 3, 1),
   (46, 2, 3, 1),
   (46, 2, 3, 1),
   (36, 2, 3, 1),
   (16, 2, 3, 1),
   (33, 4, 3, 1),
   (23, 1, 3, 1),
   (41, 2, 3, 1),
   (20, 4, 3, 1),
   (26, 2, 3, 1),
   (40, 4, 3, 1),
   (46, 2, 3, 1),
   (36, 4, 3, 1),
   (44, 2, 3, 1),
   (33, 2, 3, 1),
   (11, 1, 3, 1),
   (44, 1, 3, 1),
   (11, 2, 3, 1),
   (39, 1, 3, 1),
   (36, 1, 3, 2),
   (23, 2, 3, 2),
   (41, 2, 3, 2),
   (36, 2, 3, 2),
   (33, 1, 3, 2),
   (23, 2, 3, 2),
   (28, 1, 3, 2),
   (23, 1, 3, 2),
   (18, 2, 3, 2),
   (35, 2, 3, 2),
   (25, 2, 3, 2),
   (28, 1, 3, 2),
   (25, 2, 3, 2),
   (16, 1, 3, 2),
   (35, 4, 3, 2),
   (20, 4, 3, 2),
   (26, 4, 3, 2),
   (35, 4, 3, 2),
   (40, 2, 3, 2),
   (46, 2, 3, 2),
   (41, 2, 3, 2),
   (36, 2, 3, 2),
   (20, 2, 3, 2),
   (44, 2, 3, 2),
   (18, 2, 3, 2),
   (5, 2, 3, 2),
   (12, 2, 3, 2),
   (26, 4, 3, 2),
   (25, 1, 3, 2),
   (26, 2, 3, 2),
   (36, 2, 3, 2),
   (44, 2, 3, 2),
   (26, 2, 3, 2),
   (23, 1, 3, 2),
   (23, 2, 3, 2),
   (23, 2, 3, 2),
   (10, 1, 3, 2),
   (35, 1, 3, 3),
   (25, 4, 3, 3),
   (18, 4, 3, 3),
   (26, 4, 3, 3),
   (11, 2, 3, 3),
   (46, 4, 3, 3),
   (40, 1, 3, 3),
   (20, 1, 3, 3),
   (41, 1, 3, 3),
   (36, 2, 3, 3),
   (44, 1, 3, 3),
   (11, 1, 3, 3),
   (11, 2, 3, 3),
   (27, 1, 3, 3),
   (39, 1, 3, 3),
   (36, 4, 3, 3),
   (39, 3, 3, 3),
   (44, 4, 3, 3),
   (39, 2, 3, 3),
   (40, 2, 3, 3),
   (26, 1, 3, 3),
   (46, 2, 3, 3),
   (41, 1, 3, 3),
   (20, 2, 3, 3),
   (36, 2, 3, 3),
   (44, 1, 3, 3),
   (36, 1, 3, 3),
   (19, 2, 3, 3),
   (36, 1, 3, 3),
   (41, 2, 3, 3),
   (23, 4, 3, 3),
   (44, 2, 3, 3),
   (28, 1, 3, 3),
   (36, 1, 3, 3),
   (28, 2, 3, 3),
   (41, 1, 3, 3),
   (24, 2, 3, 3),
   (33, 2, 3, 3),
   (23, 2, 3, 3),
   (23, 3, 3, 3),
   (44, 2, 3, 3),
   (33, 2, 3, 3),
   (7, 1, 3, 3),
   (28, 1, 3, 3),
   (35, 1, 3, 3),
   (25, 2, 3, 3),
   (35, 1, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (26, 2, 3, 3),
   (35, 1, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (26, 2, 3, 3),
   (35, 1, 3, 3),
   (26, 2, 3, 3),
   (44, 2, 3, 3),
   (35, 2, 3, 3),
   (26, 2, 3, 3),
   (47, 2, 3, 3),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (36, 4, 3, 3),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (7, 2, 3, 3),
   (16, 4, 3, 3),
   (16, 2, 3, 3),
   (23, 4, 3, 3),
   (23, 4, 3, 1),
   (23, 1, 3, 1),
   (28, 1, 3, 1),
   (23, 1, 3, 1),
   (35, 2, 3, 1),
   (26, 4, 3, 1),
   (20, 4, 3, 1),
   (26, 4, 3, 1),
   (26, 4, 3, 1),
   (23, 1, 3, 1),
   (6, 2, 3, 1),
   (6, 1, 3, 1),
   (41, 2, 3, 1),
   (18, 2, 3, 1),
   (21, 2, 3, 1),
   (45, 2, 3, 1),
   (44, 1, 3, 1),
   (35, 2, 3, 1),
   (26, 2, 3, 1),
   (42, 2, 3, 1),
   (44, 2, 3, 1),
   (33, 2, 3, 1),
   (28, 1, 3, 2),
   (33, 1, 3, 2),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (36, 2, 3, 3),
   (46, 4, 3, 3),
   (26, 1, 3, 3),
   (36, 1, 3, 3),
   (28, 2, 3, 3),
   (36, 1, 3, 3),
   (7, 2, 3, 3),
   (35, 4, 3, 3),
   (25, 2, 3, 3),
   (35, 1, 3, 3),
   (26, 2, 3, 3),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (35, 4, 3, 3),
   (26, 1, 3, 3),
   (36, 2, 3, 3),
   (18, 3, 3, 3),
   (12, 1, 3, 3),
   (23, 1, 3, 3),
   (36, 2, 3, 3),
   (28, 1, 3, 3),
   (36, 1, 3, 3),
   (23, 1, 3, 1),
   (41, 4, 3, 1),
   (35, 2, 3, 1),
   (26, 2, 3, 1),
   (44, 1, 3, 1),
   (18, 4, 3, 1),
   (12, 2, 3, 1),
   (28, 4, 3, 1),
   (36, 2, 3, 1),
   (41, 2, 3, 1),
   (44, 4, 3, 1),
   (35, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 4, 3, 1),
   (26, 2, 3, 1),
   (47, 2, 3, 1),
   (35, 1, 3, 1),
   (33, 2, 3, 1),
   (46, 2, 3, 1),
   (18, 2, 3, 1),
   (41, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 2, 3, 1),
   (44, 2, 3, 1),
   (29, 2, 3, 1),
   (20, 2, 3, 1),
   (18, 2, 3, 1),
   (33, 2, 3, 1),
   (46, 2, 3, 1),
   (18, 1, 3, 1),
   (41, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 1, 3, 1),
   (44, 2, 3, 1),
   (33, 1, 3, 1),
   (26, 1, 3, 1),
   (7, 1, 3, 1),
   (25, 2, 3, 1),
   (26, 2, 3, 1),
   (28, 1, 3, 1),
   (7, 1, 3, 2),
   (25, 2, 3, 2),
   (26, 2, 3, 2),
   (11, 1, 3, 2),
   (46, 1, 3, 2),
   (18, 2, 3, 2),
   (41, 2, 3, 2),
   (20, 2, 3, 2),
   (26, 2, 3, 2),
   (44, 2, 3, 2),
   (11, 2, 3, 2),
   (28, 1, 3, 2),
   (11, 1, 3, 2),
   (28, 2, 3, 2),
   (11, 1, 3, 3),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (7, 2, 3, 3),
   (20, 2, 3, 3),
   (35, 4, 3, 3),
   (25, 2, 3, 3),
   (16, 1, 3, 3),
   (46, 2, 3, 3),
   (18, 2, 3, 3),
   (41, 2, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (16, 2, 3, 3),
   (44, 2, 3, 3),
   (1, 2, 3, 3),
   (18, 2, 3, 3),
   (46, 2, 3, 3),
   (18, 2, 3, 3),
   (41, 2, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (44, 2, 3, 3),
   (16, 2, 3, 3),
   (7, 2, 3, 3),
   (25, 2, 3, 3),
   (26, 2, 3, 3),
   (36, 1, 3, 3),
   (42, 2, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (28, 4, 3, 3),
   (16, 1, 3, 3),
   (25, 1, 3, 3),
   (28, 1, 3, 3),
   (42, 1, 3, 3),
   (44, 4, 3, 3),
   (46, 4, 3, 3),
   (41, 4, 3, 3),
   (20, 2, 3, 3),
   (26, 4, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (44, 2, 3, 3),
   (42, 2, 3, 3),
   (28, 1, 3, 3),
   (18, 1, 3, 3),
   (28, 1, 3, 3),
   (23, 1, 3, 3),
   (24, 4, 3, 3),
   (47, 4, 3, 3),
   (25, 1, 3, 3),
   (46, 4, 3, 3),
   (41, 2, 3, 3),
   (20, 2, 3, 3),
   (26, 4, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (44, 2, 3, 3),
   (25, 4, 3, 3),
   (23, 4, 3, 3),
   (23, 4, 3, 3),
   (23, 1, 3, 3),
   (23, 2, 3, 3),
   (45, 4, 3, 3),
   (34, 1, 1, 3),
   (23, 1, 3, 3),
   (25, 2, 3, 3),
   (26, 2, 3, 3),
   (35, 2, 3, 3),
   (25, 2, 3, 3),
   (35, 2, 3, 3),
   (23, 1, 3, 3),
   (33, 2, 3, 3),
   (41, 1, 3, 1),
   (25, 1, 3, 1),
   (6, 1, 3, 1),
   (28, 1, 3, 1),
   (23, 4, 3, 1),
   (35, 2, 3, 1),
   (20, 2, 3, 1),
   (26, 2, 3, 1),
   (25, 2, 3, 1),
   (26, 2, 3, 1),
   (35, 2, 3, 1),
   (25, 2, 3, 1),
   (28, 1, 3, 1),
   (33, 4, 3, 1),
   (36, 1, 3, 1),
   (18, 2, 3, 1),
   (41, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 2, 3, 1),
   (44, 2, 3, 1),
   (45, 4, 3, 1),
   (23, 1, 3, 1),
   (35, 4, 3, 1),
   (25, 4, 3, 1),
   (35, 1, 3, 1),
   (36, 2, 3, 1),
   (18, 2, 3, 1),
   (41, 2, 3, 1),
   (26, 2, 3, 1),
   (20, 2, 3, 1),
   (44, 2, 3, 1),
   (35, 2, 3, 1),
   (25, 2, 3, 1),
   (18, 1, 3, 1),
   (33, 2, 3, 1),
   (45, 1, 3, 2),
   (28, 1, 3, 2),
   (23, 1, 3, 2),
   (25, 4, 3, 2),
   (35, 4, 3, 2),
   (25, 4, 3, 2),
   (35, 2, 3, 2),
   (45, 2, 3, 2),
   (28, 2, 3, 2),
   (24, 2, 3, 2),
   (25, 2, 3, 2),
   (35, 2, 3, 2),
   (45, 2, 3, 2),
   (24, 2, 3, 2),
   (28, 1, 3, 2),
   (35, 1, 3, 3),
   (18, 1, 3, 3),
   (7, 4, 1, 3),
   (45, 2, 1, 3),
   (45, 2, 1, 3),
   (36, 2, 1, 3),
   (18, 2, 1, 3),
   (41, 2, 1, 3),
   (26, 2, 1, 3),
   (20, 2, 1, 3),
   (44, 2, 1, 3),
   (35, 1, 1, 3),
   (25, 2, 1, 3),
   (45, 1, 1, 3),
   (47, 1, 1, 3),
   (28, 1, 1, 3),
   (23, 1, 1, 3),
   (36, 2, 1, 3),
   (18, 2, 1, 3),
   (41, 2, 1, 3),
   (26, 2, 1, 3),
   (20, 2, 1, 3),
   (44, 2, 1, 3),
   (42, 2, 1, 3),
   (28, 1, 1, 3),
   (23, 1, 1, 3),
   (28, 2, 1, 3),
   (26, 2, 1, 3),
   (45, 2, 1, 3),
   (39, 1, 1, 1),
   (28, 1, 1, 1),
   (39, 2, 1, 1),
   (23, 1, 1, 1),
   (44, 2, 1, 1),
   (18, 2, 1, 1),
   (45, 4, 3, 1),
   (41, 1, 3, 1),
   (44, 2, 3, 1),
   (25, 2, 3, 1),
   (3, 1, 3, 1),
   (33, 2, 3, 1),
   (43, 1, 3, 1),
   (39, 2, 3, 1),
   (44, 2, 3, 1),
   (39, 2, 3, 1),
   (28, 1, 3, 1),
   (23, 1, 3, 2),
   (33, 3, 3, 2),
   (11, 1, 3, 2),
   (47, 2, 3, 2),
   (27, 1, 3, 2),
   (27, 2, 3, 2),
   (43, 1, 3, 2),
   (24, 2, 3, 2),
   (35, 2, 3, 2),
   (25, 2, 3, 2),
   (35, 1, 3, 3),
   (26, 2, 3, 3),
   (39, 1, 3, 3),
   (36, 1, 3, 3),
   (39, 1, 3, 3),
   (36, 2, 3, 3),
   (46, 1, 3, 3),
   (36, 2, 3, 3),
   (36, 1, 3, 3),
   (18, 4, 3, 3),
   (7, 1, 3, 3),
   (18, 1, 3, 3),
   (7, 2, 3, 3),
   (44, 1, 3, 3),
   (7, 2, 3, 3),
   (35, 1, 3, 3),
   (25, 4, 3, 3),
   (35, 4, 3, 3),
   (25, 4, 3, 3),
   (26, 4, 3, 3),
   (45, 2, 3, 3),
   (28, 1, 3, 3),
   (45, 1, 3, 3),
   (23, 2, 3, 3),
   (46, 2, 3, 3),
   (18, 2, 3, 3),
   (45, 2, 3, 3),
   (44, 2, 3, 3),
   (7, 2, 3, 3),
   (42, 2, 3, 3),
   (36, 1, 3, 3),
   (44, 2, 3, 3),
   (7, 2, 3, 3),
   (35, 2, 3, 3),
   (25, 4, 3, 3),
   (23, 1, 3, 3),
   (2, 4, 3, 3),
   (45, 2, 3, 3),
   (35, 1, 3, 3),
   (8, 1, 3, 3),
   (26, 1, 3, 3),
   (36, 1, 3, 3),
   (42, 1, 3, 3),
   (44, 1, 3, 3),
   (46, 4, 3, 3),
   (18, 2, 3, 3),
   (36, 4, 3, 3),
   (44, 2, 3, 3),
   (42, 2, 3, 3),
   (35, 1, 3, 3),
   (25, 2, 3, 3),
   (43, 1, 3, 3),
   (47, 1, 3, 3),
   (44, 1, 3, 3),
   (35, 2, 3, 3),
   (47, 2, 3, 3),
   (27, 2, 3, 3),
   (33, 1, 3, 3),
   (41, 1, 3, 1),
   (44, 4, 3, 1),
   (33, 2, 3, 1),
   (35, 1, 3, 1),
   (25, 2, 3, 1),
   (24, 2, 3, 1),
   (25, 2, 3, 1),
   (37, 2, 3, 1),
   (45, 2, 3, 1),
   (35, 1, 3, 1),
   (30, 2, 3, 1),
   (33, 2, 3, 1),
   (26, 1, 3, 1),
   (46, 2, 3, 1),
   (18, 4, 3, 1),
   (36, 2, 3, 1),
   (41, 2, 3, 1),
   (44, 2, 3, 1),
   (45, 2, 3, 1),
   (36, 1, 3, 1),
   (39, 2, 3, 1),
   (44, 1, 3, 1),
   (39, 2, 3, 1),
   (18, 2, 3, 1),
   (23, 1, 3, 2),
   (35, 2, 3, 2),
   (28, 1, 3, 2),
   (23, 1, 3, 2),
   (35, 4, 3, 2),
   (25, 2, 3, 2),
   (35, 2, 3, 2),
   (16, 4, 3, 2),
   (7, 2, 3, 2),
   (44, 4, 3, 2),
   (36, 2, 3, 2),
   (18, 2, 3, 2),
   (26, 1, 3, 2),
   (46, 2, 3, 2),
   (41, 2, 3, 2),
   (36, 2, 3, 2),
   (18, 2, 3, 2),
   (44, 2, 3, 2),
   (7, 2, 3, 2),
   (26, 2, 3, 2),
   (7, 2, 3, 2),
   (39, 2, 3, 2),
   (45, 1, 3, 2),
   (44, 2, 3, 2),
   (26, 2, 3, 2),
   (25, 2, 3, 2),
   (35, 2, 3, 2),
   (44, 2, 3, 2),
   (35, 2, 3, 2),
   (25, 4, 3, 2),
   (18, 2, 3, 2),
   (35, 2, 3, 2),
   (25, 2, 3, 2),
   (23, 1, 3, 2),
   (35, 2, 3, 2),
   (26, 2, 3, 2),
   (35, 1, 3, 2),
   (23, 1, 3, 3),
   (23, 4, 3, 3),
   (23, 2, 3, 3),
   (23, 2, 3, 3),
   (23, 2, 3, 3),
   (45, 1, 3, 3),
   (35, 1, 3, 3),
   (20, 4, 3, 3),
   (26, 2, 3, 3),
   (35, 4, 3, 3),
   (18, 2, 3, 3),
   (41, 2, 3, 3),
   (41, 2, 3, 3),
   (25, 2, 3, 3),
   (44, 2, 3, 3),
   (46, 2, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (26, 2, 3, 3),
   (20, 2, 3, 3),
   (41, 2, 3, 3),
   (44, 2, 3, 3),
   (45, 2, 3, 3),
   (26, 2, 3, 3),
   (36, 2, 3, 3),
   (46, 1, 3, 3),
   (18, 2, 3, 3),
   (20, 2, 3, 3),
   (26, 1, 3, 3),
   (41, 2, 3, 3),
   (44, 2, 3, 3),
   (26, 1, 3, 3),
   (35, 2, 3, 3),
   (3, 1, 3, 3),
   (36, 1, 3, 3),
   (3, 2, 3, 3),
   (26, 4, 3, 3),
   (1, 4, 3, 3),
   (18, 4, 3, 3),
   (7, 3, 3, 3),
   (28, 1, 3, 3),
   (7, 1, 3, 3),
   (28, 1, 3, 3),
   (35, 2, 3, 3),
   (26, 2, 3, 3),
   (18, 4, 3, 3),
   (1, 2, 3, 3),
   (28, 4, 3, 3),
   (26, 4, 3, 3),
   (24, 4, 3, 3),
   (42, 1, 3, 3),
   (20, 2, 3, 3),
   (41, 2, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (26, 2, 3, 3),
   (24, 2, 3, 3),
   (44, 2, 3, 3),
   (46, 2, 3, 3),
   (20, 2, 3, 3),
   (41, 2, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (26, 2, 3, 3),
   (44, 2, 3, 3),
   (42, 2, 3, 3),
   (47, 1, 3, 3),
   (44, 2, 3, 3),
   (47, 2, 3, 3),
   (46, 1, 3, 3),
   (36, 2, 3, 3),
   (20, 1, 3, 3),
   (41, 1, 3, 3),
   (44, 2, 3, 3),
   (18, 1, 3, 3),
   (26, 1, 3, 3),
   (39, 2, 3, 3),
   (24, 1, 3, 3),
   (39, 2, 3, 3),
   (46, 1, 3, 3),
   (20, 2, 3, 3),
   (41, 2, 3, 3),
   (36, 2, 3, 3),
   (18, 2, 3, 3),
   (26, 2, 3, 3),
   (44, 2, 3, 3),
   (27, 2, 3, 3),
   (33, 2, 3, 3),
   (33, 2, 3, 3),
   (44, 2, 3, 3),
   (11, 2, 3, 3),
   (24, 2, 3, 3),
   (16, 2, 3, 3),
   (27, 2, 3, 3),
   (35, 1, 3, 3),
   (26, 2, 3, 3)])]

In [ ]: