Initial Data Exploration and Data Splits

Load the data from housings.csv file uploaded to Colab. The original dataset is from https://raw.githubusercontent.com/ageron/handson-ml2/master/datasets/housing/housing.tgz

import pandas as pd
import numpy as np
housing = pd.read_csv('housing.csv')

head() function shows the first five rows

housing.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY

info() function shows description of the data, in particular the total number of rows, each attribute’s type, and the number of nonnull values.

Note that the total bedrooms has many NULL values. These have to be taken care of later.

housing.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20640 entries, 0 to 20639
Data columns (total 10 columns):
 #   Column              Non-Null Count  Dtype  
---  ------              --------------  -----  
 0   longitude           20640 non-null  float64
 1   latitude            20640 non-null  float64
 2   housing_median_age  20640 non-null  float64
 3   total_rooms         20640 non-null  float64
 4   total_bedrooms      20433 non-null  float64
 5   population          20640 non-null  float64
 6   households          20640 non-null  float64
 7   median_income       20640 non-null  float64
 8   median_house_value  20640 non-null  float64
 9   ocean_proximity     20640 non-null  object 
dtypes: float64(9), object(1)
memory usage: 1.6+ MB

lets find the unique values of the categorical column

housing["ocean_proximity"].value_counts()
<1H OCEAN     9136
INLAND        6551
NEAR OCEAN    2658
NEAR BAY      2290
ISLAND           5
Name: ocean_proximity, dtype: int64

# lets find some information on numerical columns

housing.describe()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value
count 20640.000000 20640.000000 20640.000000 20640.000000 20433.000000 20640.000000 20640.000000 20640.000000 20640.000000
mean -119.569704 35.631861 28.639486 2635.763081 537.870553 1425.476744 499.539680 3.870671 206855.816909
std 2.003532 2.135952 12.585558 2181.615252 421.385070 1132.462122 382.329753 1.899822 115395.615874
min -124.350000 32.540000 1.000000 2.000000 1.000000 3.000000 1.000000 0.499900 14999.000000
25% -121.800000 33.930000 18.000000 1447.750000 296.000000 787.000000 280.000000 2.563400 119600.000000
50% -118.490000 34.260000 29.000000 2127.000000 435.000000 1166.000000 409.000000 3.534800 179700.000000
75% -118.010000 37.710000 37.000000 3148.000000 647.000000 1725.000000 605.000000 4.743250 264725.000000
max -114.310000 41.950000 52.000000 39320.000000 6445.000000 35682.000000 6082.000000 15.000100 500001.000000

Make sure the mean, median, percentiles are all observed and if required any data modifications have to be done.

To vizualize the numerical columns we can use matplotlib and see the histograms

import matplotlib.pyplot as plt
housing.hist(bins=50,figsize=(20,15))
plt.show()

Observe the different values and see if they make sense. If they don't make sense, then go back and check if its a data error or else if the data values are on a different scale. In the above case, look at the median income and it becomes evident it is probably in so many 100Ks i.e. 200K, 400K and so on..

Some of the data columns seem to have been capped. Look at housing median value and housing median age. See the last bar. That indicates the values may have been capped. Anything above 52(for age) and 500000k (for value) is capped to those values. This may need to be fixed by either removing such data or collecting proper values without capping.

Scale of different columns are all over the place. We will need to bring them all to same scale. This is Feature Scaling..

Also, the data distributions are not like a bell curve. It is "tail heavy" in many cases. If possible they will have to be transformed to make the data distribution to be like a bell curve.

Dont do any more data analysis, otherwise you run the risk of "data snooping" bias. Create a test set asap

Split the data into train and test

Lets define a function to split train and test

def split_train_test_random(data, test_ratio):
    np.random.seed(42)
    shuffled_indices = np.random.permutation(len(data))
    test_set_size = int(len(data) * test_ratio)
    test_indices = shuffled_indices[:test_set_size]
    train_indices = shuffled_indices[test_set_size:]
    return data.iloc[train_indices], data.iloc[test_indices]

call the function above and split the data randomly. Since we used a seed, it will always split the same set of records even if we rerun the code.

random_train, random_test = split_train_test_random(housing, 0.2)
random_train.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity
14196 -117.03 32.71 33.0 3126.0 627.0 2300.0 623.0 3.2596 103000.0 NEAR OCEAN
8267 -118.16 33.77 49.0 3382.0 787.0 1314.0 756.0 3.8125 382100.0 NEAR OCEAN
17445 -120.48 34.66 4.0 1897.0 331.0 915.0 336.0 4.1563 172600.0 NEAR OCEAN
14265 -117.11 32.69 36.0 1421.0 367.0 1418.0 355.0 1.9425 93400.0 NEAR OCEAN
2271 -119.80 36.78 43.0 2382.0 431.0 874.0 380.0 3.5542 96500.0 INLAND
random_test.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity
20046 -119.01 36.06 25.0 1505.0 NaN 1392.0 359.0 1.6812 47700.0 INLAND
3024 -119.46 35.14 30.0 2943.0 NaN 1565.0 584.0 2.5313 45800.0 INLAND
15663 -122.44 37.80 52.0 3830.0 NaN 1310.0 963.0 3.4801 500001.0 NEAR BAY
20484 -118.72 34.28 17.0 3051.0 NaN 1705.0 495.0 5.7376 218600.0 <1H OCEAN
9814 -121.93 36.62 34.0 2351.0 NaN 1063.0 428.0 3.7250 278000.0 NEAR OCEAN

The problem with above approach is that when/if the data is updated with new rows, then the split will change and we do not want that.

If possible, we need to find some unique identifier in the data and use that information to do the splits

Hashing is one such approach

from zlib import crc32

def test_set_check(identifier, test_ratio):
    return crc32(np.int64(identifier)) & 0xffffffff < test_ratio * 2**32

def split_train_test_by_hash_id(data, test_ratio, id_column):
    ids = data[id_column]
    in_test_set = ids.apply(lambda id_: test_set_check(id_, test_ratio))
    return data.loc[~in_test_set], data.loc[in_test_set]

The above functions are to create the ids and then split based on ids

However, in the current dataset, we do not have any such unique identifier

We can use row_id of the dataframe, but that is not a good approach since new data can possibly come in between the set of rows and not necessarily get appended always

A better approach is to use Latitude and Longitude in case of this dataset since that will remain unique for a larger span of time.

Below, I am creating a new dataframe and adding a new column and copying the data from housing df

housing_with_id = housing.assign(id=np.nan)
housing_with_id.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity id
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY NaN
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY NaN
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY NaN
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY NaN
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY NaN
housing_with_id["id"] = housing["longitude"] * 1000 + housing["latitude"]
housing_with_id.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity id
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY -122192.12
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY -122182.14
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY -122202.15
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY -122212.15
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY -122212.15

Note - There are other ways to add a column to dataframe. Example below.

housing_with_id_2 = housing
housing_with_id_2['id'] = housing["longitude"] * 1000 + housing["latitude"]
housing_with_id_2.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity id
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY -122192.12
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY -122182.14
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY -122202.15
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY -122212.15
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY -122212.15
hash_train_set, hash_test_set = split_train_test_by_hash_id(housing_with_id, 0.2, "id")
hash_train_set.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity id
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY -122192.12
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY -122182.14
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY -122202.15
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY -122212.15
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY -122212.15

Sklearn has libraries for splitting. Below is the most common one.

from sklearn.model_selection import train_test_split

train_set, test_set = train_test_split(data, test_size=0.2, random_state=42)


All the above splits were done randomly.

But, many times, we have to pick test data from different examples in the data.

For example, in this dataset, we have to make sure that test set also contains low median income rows. We cannot be sure of it if the split is random.

In such cases, we create new columns which can create a Category column which creates such groups in the data.

housing["income_cat"] = pd.cut(housing["median_income"],
                               bins=[0., 1.5, 3.0, 4.5, 6., np.inf],
                               labels=[1, 2, 3, 4, 5])
housing.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity id income_cat
0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY -122192.12 5
1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY -122182.14 5
2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY -122202.15 5
3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY -122212.15 4
4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY -122212.15 3
housing["income_cat"].hist()
<matplotlib.axes._subplots.AxesSubplot at 0x7f330fdb2278>

As we can see in the histogram, there are very few rows of data for low income category and a random split can create a bias for that.

We have used the "strata" of the incomes and we will use this info to split data by taking samples from each strata

from sklearn.model_selection import StratifiedShuffleSplit

split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
for train_index, test_index in split.split(housing, housing["income_cat"]):
    strat_train_set = housing.loc[train_index]
    strat_test_set = housing.loc[test_index]
strat_test_set["income_cat"].value_counts() / len(strat_test_set)
3    0.350533
2    0.318798
4    0.176357
5    0.114583
1    0.039729
Name: income_cat, dtype: float64
strat_train_set["income_cat"].value_counts() / len(strat_test_set)
3    1.402374
2    1.275436
4    0.705184
5    0.457607
1    0.159399
Name: income_cat, dtype: float64
housing["income_cat"].value_counts() / len(housing)
3    0.350581
2    0.318847
4    0.176308
5    0.114438
1    0.039826
Name: income_cat, dtype: float64

As seen above, the data distribution is good across all income groups

We now remove the income category since it is no longer needed.

for set_ in (strat_train_set, strat_test_set):
    set_.drop("income_cat", axis=1, inplace=True)

Data vizualizations after the data split

housing_train = strat_train_set.copy()

made a copy of the train data and calling it housing_train

Lets look at some viz of the data.

Geographical data is first since we have it..

housing_train.plot(kind='scatter', x= 'longitude', y='latitude')
<matplotlib.axes._subplots.AxesSubplot at 0x7f33103332b0>

alpha parameter is used to change the transparency.

The darker regions indicate that there are overlapping scatter plots in those regions which in turn indicates data density.

housing_train.plot(kind='scatter', x= 'longitude', y='latitude', alpha=0.1)
<matplotlib.axes._subplots.AxesSubplot at 0x7f3310324f98>

Lets plot other columns

s option is the size of circles

c is for color

cmap is for color map. jet color map is used.

housing_train.plot(kind="scatter", x="longitude", y="latitude", alpha=0.4,
    s=housing_train["population"]/100, label="population", figsize=(10,7),
    c="median_house_value", cmap=plt.get_cmap("jet"), colorbar=True,
)
plt.legend()
<matplotlib.legend.Legend at 0x7f3310960b00>

We can also look for correlations between different columns.

This works if the dataset is small

housing_train.drop("id", axis=1, inplace=True)

We will drop the id column since it is no longer needed.

corr_matrix = housing_train.corr()
print(corr_matrix)
                    longitude  latitude  ...  median_income  median_house_value
longitude            1.000000 -0.924478  ...      -0.019583           -0.047432
latitude            -0.924478  1.000000  ...      -0.075205           -0.142724
housing_median_age  -0.105848  0.005766  ...      -0.111360            0.114110
total_rooms          0.048871 -0.039184  ...       0.200087            0.135097
total_bedrooms       0.076598 -0.072419  ...      -0.009740            0.047689
population           0.108030 -0.115222  ...       0.002380           -0.026920
households           0.063070 -0.077647  ...       0.010781            0.064506
median_income       -0.019583 -0.075205  ...       1.000000            0.687160
median_house_value  -0.047432 -0.142724  ...       0.687160            1.000000

[9 rows x 9 columns]
corr_matrix['median_house_value']
longitude            -0.047432
latitude             -0.142724
housing_median_age    0.114110
total_rooms           0.135097
total_bedrooms        0.047689
population           -0.026920
households            0.064506
median_income         0.687160
median_house_value    1.000000
Name: median_house_value, dtype: float64
housing_train.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity
17606 -121.89 37.29 38.0 1568.0 351.0 710.0 339.0 2.7042 286600.0 <1H OCEAN
18632 -121.93 37.05 14.0 679.0 108.0 306.0 113.0 6.4214 340600.0 <1H OCEAN
14650 -117.20 32.77 31.0 1952.0 471.0 936.0 462.0 2.8621 196900.0 NEAR OCEAN
3230 -119.61 36.31 25.0 1847.0 371.0 1460.0 353.0 1.8839 46300.0 INLAND
3555 -118.59 34.23 17.0 6592.0 1525.0 4459.0 1463.0 3.0347 254500.0 <1H OCEAN

Another thing to look out is whether we can create new attributes from existing attributes.

Sometimes new attributes that we create will correlate much better to the dependent variable that we want to predict.

Most of the times, date columns can be split to make new columns like Year, Month, Day, Week, MonthEnd, QuarterEnd etc.

In this dataset we do not have any Date attribute though.

Below is datepart function taken from fastai library

This function converts a column of df from a datetime64 to many columns containing the information from the date.

This applies changes inplace.

Parameters:
-----------
df: A pandas data frame. df gain several new columns.
fldname: A string that is the name of the date column you wish to expand.
    If it is not a datetime64 series, it will be converted to one with pd.to_datetime.
drop: If true then the original date column will be removed.
time: If true time features: Hour, Minute, Second will be added.

Examples:
---------

df = pd.DataFrame({ 'A' :pd.to_datetime(['3/11/2000', '3/12/2000', '3/13/2000'], infer_datetime_format=False) }) >>> df

    A
0   2000-03-11
1   2000-03-12
2   2000-03-13

>>> add_datepart(df, 'A')
>>> df

    AYear AMonth AWeek ADay ADayofweek ADayofyear AIs_month_end AIs_month_start AIs_quarter_end AIs_quarter_start AIs_year_end AIs_year_start AElapsed
0   2000  3      10    11   5          71         False         False           False           False             False        False          952732800
1   2000  3      10    12   6          72         False         False           False           False             False        False          952819200
2   2000  3      11    13   0          73         False         False           False           False             False        False          952905600
def add_datepart(df, fldname, drop=True, time=False):
    fld = df[fldname]
    if not np.issubdtype(fld.dtype, np.datetime64):
        df[fldname] = fld = pd.to_datetime(fld, infer_datetime_format=True)
    targ_pre = re.sub('[Dd]ate$', '', fldname)
    attr = ['Year', 'Month', 'Week', 'Day', 'Dayofweek', 'Dayofyear',
            'Is_month_end', 'Is_month_start', 'Is_quarter_end', 'Is_quarter_start', 'Is_year_end', 'Is_year_start']
    if time: attr = attr + ['Hour', 'Minute', 'Second']
    for n in attr: df[targ_pre + n] = getattr(fld.dt, n.lower())
    df[targ_pre + 'Elapsed'] = fld.astype(np.int64) // 10 ** 9
    if drop: df.drop(fldname, axis=1, inplace=True)

Data Cleanup and transformations

Before we start with cleanup, lets copy the training data set after removing the independent variable.

The independent variable is copied to a label dataframe.

housing_labels = housing_train["median_house_value"].copy()

The labels will be useful later when we run the ML models and evaluate the outputs and compare with these labels.

We will drop these labels from training data since we already saved it in housing_labels

housing_train = housing_train.drop("median_house_value", axis=1)

We will also need to do Data Cleanup.

Typical cleanups are Null cleanups

We can either remove such rows, remove those features or add some default value i.e. dropna, drop, fillna respectively

Sklearn provides an Imputer class for this. Generally we fill the nulls with median or mean value.

The strategy that you pass to the imputer should be based on that decision

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy="median")

SimpleImputer Class works on DFs which only have numbers. So, we drop the categorical column for now

housing_num = housing_train.drop("ocean_proximity", axis=1)

We can see below that housing_num only has number columns

housing_num.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income
17606 -121.89 37.29 38.0 1568.0 351.0 710.0 339.0 2.7042
18632 -121.93 37.05 14.0 679.0 108.0 306.0 113.0 6.4214
14650 -117.20 32.77 31.0 1952.0 471.0 936.0 462.0 2.8621
3230 -119.61 36.31 25.0 1847.0 371.0 1460.0 353.0 1.8839
3555 -118.59 34.23 17.0 6592.0 1525.0 4459.0 1463.0 3.0347
imputer.fit(housing_num)
SimpleImputer(add_indicator=False, copy=True, fill_value=None,
              missing_values=nan, strategy='median', verbose=0)
housing_num.median().values
array([-118.51  ,   34.26  ,   29.    , 2119.5   ,  433.    , 1164.    ,
        408.    ,    3.5409])
X = imputer.transform(housing_num)
type(X)
numpy.ndarray
X
array([[-121.89  ,   37.29  ,   38.    , ...,  710.    ,  339.    ,
           2.7042],
       [-121.93  ,   37.05  ,   14.    , ...,  306.    ,  113.    ,
           6.4214],
       [-117.2   ,   32.77  ,   31.    , ...,  936.    ,  462.    ,
           2.8621],
       ...,
       [-116.4   ,   34.09  ,    9.    , ..., 2098.    ,  765.    ,
           3.2723],
       [-118.01  ,   33.82  ,   31.    , ..., 1356.    ,  356.    ,
           4.0625],
       [-122.45  ,   37.77  ,   52.    , ..., 1269.    ,  639.    ,
           3.575 ]])

We now have to convert this back to Dataframe

housing_tr = pd.DataFrame(X, columns=housing_num.columns, index=housing_num.index)
housing_tr.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income
17606 -121.89 37.29 38.0 1568.0 351.0 710.0 339.0 2.7042
18632 -121.93 37.05 14.0 679.0 108.0 306.0 113.0 6.4214
14650 -117.20 32.77 31.0 1952.0 471.0 936.0 462.0 2.8621
3230 -119.61 36.31 25.0 1847.0 371.0 1460.0 353.0 1.8839
3555 -118.59 34.23 17.0 6592.0 1525.0 4459.0 1463.0 3.0347
type(housing_tr)
pandas.core.frame.DataFrame

We can check if all the NULL values are filled up.

housing_tr.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 16512 entries, 17606 to 15775
Data columns (total 8 columns):
 #   Column              Non-Null Count  Dtype  
---  ------              --------------  -----  
 0   longitude           16512 non-null  float64
 1   latitude            16512 non-null  float64
 2   housing_median_age  16512 non-null  float64
 3   total_rooms         16512 non-null  float64
 4   total_bedrooms      16512 non-null  float64
 5   population          16512 non-null  float64
 6   households          16512 non-null  float64
 7   median_income       16512 non-null  float64
dtypes: float64(8)
memory usage: 1.1 MB

Lets deal with the categorical column now.

Handle Categorical Attributes

housing_cat = housing_train[["ocean_proximity"]]
type(housing_cat)
pandas.core.frame.DataFrame

Below 2 cells are to just show why we needed double square brackets in above cells when we created housing_cat

housing_cat2= housing_train['ocean_proximity']
type(housing_cat2)
pandas.core.series.Series

We now have to convert the categorical values to numbers since most ML algorithms can use only numbers

There are many classes in sklearn which we can use for this. These are transformer classes.

  1. Ordinal Encoder
  2. One Hot Encoder
  3. Custom Transformer (user has to write it)
from sklearn.preprocessing import OrdinalEncoder
ordinal_encoder = OrdinalEncoder()
housing_cat_encoded = ordinal_encoder.fit_transform(housing_cat)
type(housing_cat_encoded)
numpy.ndarray
print(housing_cat_encoded.tolist())
[[0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [3.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [4.0], [3.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [3.0], [0.0], [4.0], [4.0], [3.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [3.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [3.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [1.0], [4.0], [1.0], [1.0], [4.0], [4.0], [0.0], [4.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [3.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [4.0], [4.0], [4.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [4.0], [1.0], [1.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [3.0], [3.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [4.0], [4.0], [1.0], [3.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [4.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [1.0], [3.0], [0.0], [3.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [3.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [0.0], [4.0], [1.0], [1.0], [1.0], [4.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [3.0], [1.0], [3.0], [3.0], [1.0], [0.0], [1.0], [4.0], [1.0], [4.0], [1.0], [3.0], [1.0], [4.0], [1.0], [4.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [3.0], [1.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [3.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [4.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [4.0], [1.0], [3.0], [1.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [3.0], [3.0], [1.0], [0.0], [3.0], [4.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [1.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [1.0], [4.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [3.0], [3.0], [3.0], [1.0], [1.0], [0.0], [3.0], [1.0], [3.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [4.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [4.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [3.0], [3.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [3.0], [0.0], [3.0], [4.0], [3.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [3.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [3.0], [1.0], [4.0], [4.0], [4.0], [1.0], [1.0], [1.0], [4.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [3.0], [4.0], [3.0], [3.0], [1.0], [1.0], [3.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [3.0], [1.0], [1.0], [3.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [4.0], [0.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [3.0], [3.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [1.0], [1.0], [3.0], [1.0], [4.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [3.0], [3.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [3.0], [3.0], [4.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [3.0], [4.0], [4.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [4.0], [1.0], [1.0], [4.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [3.0], [3.0], [1.0], [1.0], [4.0], [3.0], [4.0], [0.0], [1.0], [3.0], [4.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [3.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [4.0], [0.0], [4.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [3.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [3.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [3.0], [4.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [0.0], [3.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [4.0], [4.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [4.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [1.0], [4.0], [1.0], [3.0], [4.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [4.0], [1.0], [1.0], [4.0], [1.0], [4.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [3.0], [3.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [3.0], [4.0], [4.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [3.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [3.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [3.0], [3.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [3.0], [4.0], [1.0], [3.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [4.0], [4.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [3.0], [4.0], [4.0], [4.0], [0.0], [1.0], [4.0], [4.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [4.0], [3.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [1.0], [1.0], [3.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [0.0], [4.0], [0.0], [3.0], [3.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [3.0], [3.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [3.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [4.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [4.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [4.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [3.0], [1.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [4.0], [4.0], [1.0], [3.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [3.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [0.0], [1.0], [3.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [3.0], [1.0], [0.0], [0.0], [4.0], [0.0], [4.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [1.0], [4.0], [0.0], [1.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [3.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [4.0], [0.0], [3.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [0.0], [4.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [4.0], [4.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [3.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [4.0], [0.0], [3.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [0.0], [4.0], [4.0], [4.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [4.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [3.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [4.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [3.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [3.0], [4.0], [0.0], [4.0], [3.0], [3.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [0.0], [3.0], [3.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [4.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [3.0], [4.0], [3.0], [1.0], [0.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [3.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [3.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [4.0], [4.0], [3.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [4.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [1.0], [4.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [3.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [3.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [1.0], [3.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [3.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [3.0], [0.0], [0.0], [4.0], [1.0], [3.0], [1.0], [0.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [4.0], [4.0], [3.0], [3.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [3.0], [3.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [4.0], [3.0], [0.0], [0.0], [4.0], [4.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [3.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [4.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [0.0], [4.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [3.0], [4.0], [1.0], [3.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [4.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [4.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [4.0], [3.0], [3.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [4.0], [3.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [4.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [4.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [4.0], [3.0], [0.0], [4.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [3.0], [3.0], [1.0], [4.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [3.0], [4.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [4.0], [4.0], [1.0], [3.0], [1.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [4.0], [3.0], [3.0], [3.0], [4.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [3.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [1.0], [4.0], [3.0], [0.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [4.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [4.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [2.0], [4.0], [1.0], [3.0], [3.0], [3.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [3.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [1.0], [4.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [4.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [3.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [4.0], [3.0], [3.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [3.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [4.0], [1.0], [4.0], [4.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [3.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [3.0], [0.0], [3.0], [4.0], [1.0], [3.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [4.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [3.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [0.0], [3.0], [3.0], [0.0], [0.0], [3.0], [3.0], [1.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [4.0], [1.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [4.0], [1.0], [3.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [1.0], [4.0], [3.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [3.0], [0.0], [0.0], [3.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [3.0], [1.0], [3.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [4.0], [4.0], [4.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [3.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [3.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [3.0], [1.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [4.0], [4.0], [3.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [3.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [3.0], [3.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [4.0], [4.0], [3.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [3.0], [4.0], [1.0], [1.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [1.0], [1.0], [4.0], [3.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [4.0], [3.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [4.0], [3.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [3.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [1.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [3.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [4.0], [4.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [3.0], [3.0], [3.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [4.0], [1.0], [0.0], [3.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [3.0], [3.0], [4.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [4.0], [3.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [3.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [4.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [3.0], [1.0], [1.0], [0.0], [4.0], [4.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [3.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [3.0], [1.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [4.0], [3.0], [0.0], [3.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [3.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [4.0], [0.0], [4.0], [3.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [1.0], [4.0], [1.0], [0.0], [1.0], [3.0], [4.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [3.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [4.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [3.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [0.0], [1.0], [1.0], [1.0], [3.0], [3.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [0.0], [4.0], [4.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [3.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [0.0], [3.0], [4.0], [3.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [4.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [4.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [4.0], [1.0], [4.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [4.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [3.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [3.0], [4.0], [3.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [4.0], [3.0], [3.0], [0.0], [0.0], [1.0], [3.0], [3.0], [3.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [4.0], [1.0], [1.0], [4.0], [4.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [1.0], [4.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [3.0], [4.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [1.0], [0.0], [3.0], [3.0], [1.0], [4.0], [4.0], [4.0], [0.0], [4.0], [1.0], [1.0], [4.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [3.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [3.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [4.0], [1.0], [4.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [1.0], [3.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [3.0], [4.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [3.0], [0.0], [3.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [3.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [3.0], [1.0], [3.0], [3.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [3.0], [3.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [1.0], [3.0], [4.0], [0.0], [3.0], [0.0], [4.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [4.0], [0.0], [1.0], [3.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [4.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [3.0], [3.0], [1.0], [0.0], [4.0], [1.0], [3.0], [1.0], [0.0], [4.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [4.0], [3.0], [4.0], [3.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [4.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [3.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [3.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [1.0], [1.0], [4.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [4.0], [1.0], [1.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [1.0], [1.0], [4.0], [3.0], [1.0], [0.0], [4.0], [3.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [4.0], [3.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [3.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [1.0], [3.0], [1.0], [4.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [3.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [1.0], [3.0], [4.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [3.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [3.0], [3.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [4.0], [3.0], [1.0], [3.0], [1.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [3.0], [3.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [3.0], [3.0], [4.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [3.0], [1.0], [3.0], [4.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [3.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [4.0], [1.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [3.0], [4.0], [0.0], [3.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [4.0], [3.0], [0.0], [1.0], [4.0], [1.0], [1.0], [4.0], [3.0], [0.0], [4.0], [3.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [3.0], [4.0], [1.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [4.0], [4.0], [1.0], [4.0], [1.0], [4.0], [1.0], [3.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [4.0], [4.0], [3.0], [4.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [4.0], [3.0], [3.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [1.0], [0.0], [4.0], [0.0], [4.0], [3.0], [3.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [4.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [4.0], [4.0], [0.0], [3.0], [4.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [0.0], [3.0], [1.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [3.0], [4.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [3.0], [0.0], [4.0], [4.0], [4.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [4.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [4.0], [0.0], [1.0], [3.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [4.0], [4.0], [1.0], [3.0], [4.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [1.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [3.0], [3.0], [0.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [3.0], [1.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [3.0], [4.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [4.0], [0.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [3.0], [1.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [4.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [3.0], [3.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [4.0], [1.0], [1.0], [4.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [3.0], [0.0], [3.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [4.0], [4.0], [3.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [3.0], [3.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [4.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [4.0], [3.0], [3.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [3.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [4.0], [0.0], [3.0], [1.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [3.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [4.0], [3.0], [4.0], [0.0], [3.0], [1.0], [4.0], [1.0], [0.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [3.0], [3.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [1.0], [3.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [0.0], [4.0], [1.0], [4.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [3.0], [4.0], [1.0], [3.0], [3.0], [0.0], [1.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [3.0], [4.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [3.0], [3.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [3.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [3.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [4.0], [1.0], [1.0], [1.0], [3.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [3.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [3.0], [1.0], [1.0], [3.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [3.0], [4.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [4.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [4.0], [0.0], [0.0], [4.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [3.0], [0.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [4.0], [4.0], [0.0], [4.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [3.0], [0.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [3.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [3.0], [4.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [3.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [0.0], [3.0], [3.0], [1.0], [4.0], [4.0], [3.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [4.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [1.0], [3.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [3.0], [1.0], [3.0], [1.0], [4.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [3.0], [0.0], [3.0], [0.0], [3.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [0.0], [1.0], [1.0], [3.0], [4.0], [0.0], [4.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [4.0], [1.0], [3.0], [1.0], [1.0], [4.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [4.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [3.0], [3.0], [1.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [3.0], [3.0], [4.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [3.0], [0.0], [3.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [4.0], [1.0], [3.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [4.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [3.0], [3.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [1.0], [1.0], [1.0], [3.0], [1.0], [4.0], [1.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [0.0], [3.0], [1.0], [3.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [3.0], [4.0], [4.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [3.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [3.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [1.0], [4.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [3.0], [0.0], [1.0], [4.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [1.0], [3.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [4.0], [1.0], [4.0], [3.0], [3.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [3.0], [0.0], [1.0], [3.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [4.0], [3.0], [0.0], [0.0], [4.0], [1.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [1.0], [0.0], [3.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [0.0], [1.0], [3.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [4.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [0.0], [3.0], [3.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [3.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [3.0], [3.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [3.0], [0.0], [4.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [3.0], [0.0], [3.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [4.0], [4.0], [1.0], [1.0], [0.0], [0.0], [1.0], [3.0], [0.0], [1.0], [2.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [3.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [1.0], [4.0], [0.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [3.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [1.0], [4.0], [1.0], [0.0], [4.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [4.0], [0.0], [0.0], [1.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [3.0], [3.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [4.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [1.0], [1.0], [3.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [3.0], [3.0], [1.0], [3.0], [1.0], [0.0], [0.0], [4.0], [3.0], [1.0], [0.0], [4.0], [4.0], [1.0], [4.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [3.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [1.0], [1.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [3.0], [1.0], [0.0], [1.0], [4.0], [1.0], [4.0], [4.0], [3.0], [0.0], [4.0], [4.0], [0.0], [4.0], [1.0], [0.0], [1.0], [1.0], [4.0], [3.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [4.0], [1.0], [3.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [4.0], [4.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [3.0], [4.0], [4.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [1.0], [0.0], [1.0], [4.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [1.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [4.0], [1.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [3.0], [4.0], [0.0], [4.0], [1.0], [1.0], [1.0], [4.0], [3.0], [0.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [3.0], [0.0], [1.0], [4.0], [1.0], [0.0], [3.0], [0.0], [3.0], [3.0], [0.0], [1.0], [3.0], [0.0], [3.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [1.0], [3.0], [4.0], [0.0], [4.0], [3.0], [0.0], [4.0], [4.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [3.0], [0.0], [3.0], [1.0], [3.0], [1.0], [4.0], [4.0], [0.0], [1.0], [4.0], [1.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0], [1.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [1.0], [4.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [3.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [1.0], [3.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [4.0], [4.0], [0.0], [3.0], [1.0], [0.0], [1.0], [3.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [0.0], [4.0], [1.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [3.0], [3.0], [0.0], [0.0], [4.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [4.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [4.0], [1.0], [0.0], [0.0], [3.0], [0.0], [1.0], [0.0], [0.0], [1.0], [0.0], [4.0], [3.0], [1.0], [1.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [1.0], [3.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [4.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [4.0], [4.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [3.0], [1.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [1.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [3.0], [0.0], [4.0], [3.0], [1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [3.0], [4.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [4.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [4.0], [3.0], [0.0], [1.0], [3.0], [1.0], [0.0], [4.0], [1.0], [0.0], [0.0], [4.0], [0.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [0.0], [1.0], [3.0], [3.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [1.0], [1.0], [4.0], [0.0], [0.0], [0.0], [0.0], [3.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [1.0], [4.0], [0.0], [4.0], [1.0], [4.0], [1.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [1.0], [0.0], [3.0], [0.0], [0.0], [4.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [1.0], [4.0], [3.0], [4.0], [4.0], [4.0], [1.0], [0.0], [1.0], [0.0], [1.0], [1.0], [0.0], [0.0], [0.0], [4.0], [4.0], [0.0], [1.0], [0.0], [0.0], [0.0], [0.0], [1.0], [1.0], [0.0], [1.0], [0.0], [0.0], [1.0], [4.0], [1.0], [0.0], [0.0], [1.0], [1.0], [4.0], [3.0], [0.0], [3.0], [1.0], [1.0], [0.0], [1.0], [3.0], [1.0], [0.0], [0.0], [0.0], [4.0], [0.0], [1.0], [1.0], [0.0], [1.0], [1.0], [1.0], [0.0], [3.0]]
ordinal_encoder.categories_
[array(['<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN'],
       dtype=object)]

This encoding may not be apt for this ocean proximity data.

We see the class assigned values like 0,1,2,3,4 for the 5 different values i.e. OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN

But we know that 4 is not greater than 3,2 or 1.

In fact, 4 is almost same as 1 i.e. Near Ocean is similar to Ocean.

This encoding may not result in a good prediction.

In such cases, we use One Hot Encoding..

This just creates a sequence of 0s ans 1s for each Categorical value as shown below. Below is just an example to get an idea.

'OCEAN' - 00000

'INLAND' - 01000

'ISLAND' - 00100

'NEAR BAY' - 00010

'NEAR OCEAN' - 00001

from sklearn.preprocessing import OneHotEncoder
cat_encoder = OneHotEncoder()
housing_cat_1hot = cat_encoder.fit_transform(housing_cat)
housing_cat_1hot
<16512x5 sparse matrix of type '<class 'numpy.float64'>'
	with 16512 stored elements in Compressed Sparse Row format>
housing_cat_1hot.toarray()
array([[1., 0., 0., 0., 0.],
       [1., 0., 0., 0., 0.],
       [0., 0., 0., 0., 1.],
       ...,
       [0., 1., 0., 0., 0.],
       [1., 0., 0., 0., 0.],
       [0., 0., 0., 1., 0.]])
cat_encoder.categories_
[array(['<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN'],
       dtype=object)]

Custom Transformers

Although Scikit-Learn provides many useful transformers, you will need to write your own for tasks such as custom cleanup operations or combining specific attributes. You will want your transformer to work seamlessly with Scikit-Learn functionalities (such as pipelines), and since Scikit-Learn relies on duck typing (not inheritance), all you need to do is create a class and implement three methods: fit() (returning self), transform(), and fit_transform().

You can get the last one for free by simply adding TransformerMixin as a base class. If you add BaseEstimator as a base class (and avoid *args and **kargs in your constructor), you will also get two extra methods (get_params() and set_params()) that will be useful for automatic hyperparameter tuning.

For example, here is a small transformer class that adds the combined attributes we discussed earlier:

np.c_ is nothing but column stacking. Similarly we can also do np.r_for row stacking..

from sklearn.base import BaseEstimator, TransformerMixin

rooms_ix, bedrooms_ix, population_ix, households_ix = 3, 4, 5, 6

class CombinedAttributesAdder(BaseEstimator, TransformerMixin):
    def __init__(self, add_bedrooms_per_room=True): # no *args or **kargs
        self.add_bedrooms_per_room = add_bedrooms_per_room
    def fit(self, X, y=None):
        return self  # nothing else to do
    def transform(self, X):
        rooms_per_household = X[:, rooms_ix] / X[:, households_ix]
        population_per_household = X[:, population_ix] / X[:, households_ix]
        if self.add_bedrooms_per_room:
            bedrooms_per_room = X[:, bedrooms_ix] / X[:, rooms_ix]
            return np.c_[X, rooms_per_household, population_per_household,
                         bedrooms_per_room]

        else:
            return np.c_[X, rooms_per_household, population_per_household]

attr_adder = CombinedAttributesAdder(add_bedrooms_per_room=False)
housing_extra_attribs = attr_adder.transform(housing.values)

In this example the transformer has one hyperparameter, add_bedrooms_per_room, set to True by default (it is often helpful to provide sensible defaults). This hyperparameter will allow you to easily find out whether adding this attribute helps the Machine Learning algorithms or not. More generally, you can add a hyperparameter to gate any data preparation step that you are not 100% sure about. The more you automate these data preparation steps, the more combinations you can automatically try out, making it much more likely that you will find a great combination (and saving you a lot of time).

Feature Scaling

Feature Scaling is nothing but making the numerical columns be in similar scale.

If there are numbers for one feature ranging from 0 to 1000 and for other feature ranging from -0.01 to .001 then the ML algorithms do not work well.

That is when feature scaling comes into picture to make the different numbers adhere to similar scale.

Two main approaches -

Min Max Scaling or Normalization

  • A min and max value could be given and all numbers will be changed to fit within that range.

  • Generally the default range is 0 to 1

  • Causes issues when data has outliers
  • MinMaxScaler Class

Standardization

  • Subtract the mean and Divide by Std Dev.
  • Less Affected by outliers
  • StandardScaler Class

NOTE - Any transformation should be used to fit tothe training data only, not to the full dataset (including the test set).

Then they will be used to transform the training set and the test set (and any new data).

Pipelines

Like we saw in previous sections, there are many transformations that we did.

They are done one after the other and the outputs of one transformation generally goes as input to next transformation.

This can be lined up using a sklearn Pipeline class

We have used SimpleImputer to handle NULLs

We have created a Column Adder class to add new columns

We have to do Feature Scaling after the above two

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler

num_pipeline = Pipeline([
        ('imputer', SimpleImputer(strategy="median")),
        ('attribs_adder', CombinedAttributesAdder()),
        ('std_scaler', StandardScaler()),
    ])
housing_num_tr = num_pipeline.fit_transform(housing_num)
type(housing_num_tr)
numpy.ndarray

The Pipeline constructor takes a list of name/estimator pairs defining a sequence of steps. All but the last estimator must be transformers (i.e., they must have a fit_transform() method). The names can be anything you like (as long as they are unique and don’t contain double underscores, __); they will come in handy later for hyperparameter tuning.

When you call the pipeline’s fit() method, it calls fit_transform() sequentially on all transformers, passing the output of each call as the parameter to the next call until it reaches the final estimator, for which it calls the fit() method.

The pipeline exposes the same methods as the final estimator. In this example, the last estimator is a StandardScaler, which is a transformer, so the pipeline has a transform() method that applies all the transforms to the data in sequence (and of course also a fit_transform() method, which is the one we used).

Column Transformer

So far, we have handled the categorical columns and the numerical columns separately. It would be more convenient to have a single transformer able to handle all columns, applying the appropriate transformations to each column.

In version 0.20, Scikit-Learn introduced the ColumnTransformer for this purpose. Without this sklearn-pandas or some other third party library has to be used for achieving this.

from sklearn.compose import ColumnTransformer

num_attribs = list(housing_num)
cat_attribs = list(housing_cat)
num_attribs
['longitude',
 'latitude',
 'housing_median_age',
 'total_rooms',
 'total_bedrooms',
 'population',
 'households',
 'median_income']
cat_attribs
['ocean_proximity']
full_pipeline = ColumnTransformer([
        ("num", num_pipeline, num_attribs),
        ("cat", OneHotEncoder(), cat_attribs),
    ], remainder='passthrough')

We pass the numerical pipeline (of 3 transformers) that we created earlier for Numerical Attributes and the single transformer for Categorical Attributes

Also note the remainder keyword.

If there are any columns that are not taken care of via the numerical pipeline or categorical pipeline, they will be dropped by default.

The 'passthrough' keyword tells the column transformer to pass the remainder columns as is.

In this case, there are none.

We can now pass the training dataset to this full pipeline.

housing_train.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income ocean_proximity
17606 -121.89 37.29 38.0 1568.0 351.0 710.0 339.0 2.7042 <1H OCEAN
18632 -121.93 37.05 14.0 679.0 108.0 306.0 113.0 6.4214 <1H OCEAN
14650 -117.20 32.77 31.0 1952.0 471.0 936.0 462.0 2.8621 NEAR OCEAN
3230 -119.61 36.31 25.0 1847.0 371.0 1460.0 353.0 1.8839 INLAND
3555 -118.59 34.23 17.0 6592.0 1525.0 4459.0 1463.0 3.0347 <1H OCEAN
housing_train.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 16512 entries, 17606 to 15775
Data columns (total 9 columns):
 #   Column              Non-Null Count  Dtype  
---  ------              --------------  -----  
 0   longitude           16512 non-null  float64
 1   latitude            16512 non-null  float64
 2   housing_median_age  16512 non-null  float64
 3   total_rooms         16512 non-null  float64
 4   total_bedrooms      16354 non-null  float64
 5   population          16512 non-null  float64
 6   households          16512 non-null  float64
 7   median_income       16512 non-null  float64
 8   ocean_proximity     16512 non-null  object 
dtypes: float64(8), object(1)
memory usage: 1.3+ MB

Note that the housing train dataframe above is plain data without any transformations or data cleanup (see nulls in total_bedrooms) whatsoever

All that will be taken care of by the single line below since we built the pipeline to handle data cleanup, column additions, feature scaling, encoding categoricals

housing_prepared = full_pipeline.fit_transform(housing_train)
type(housing_prepared)
numpy.ndarray
housing_prepared
array([[-1.15604281,  0.77194962,  0.74333089, ...,  0.        ,
         0.        ,  0.        ],
       [-1.17602483,  0.6596948 , -1.1653172 , ...,  0.        ,
         0.        ,  0.        ],
       [ 1.18684903, -1.34218285,  0.18664186, ...,  0.        ,
         0.        ,  1.        ],
       ...,
       [ 1.58648943, -0.72478134, -1.56295222, ...,  0.        ,
         0.        ,  0.        ],
       [ 0.78221312, -0.85106801,  0.18664186, ...,  0.        ,
         0.        ,  0.        ],
       [-1.43579109,  0.99645926,  1.85670895, ...,  0.        ,
         1.        ,  0.        ]])

Train the ML model using the data

Data exploration is done.

Data split for train/test is done

Data vizualations were done to help with the above two.

All the required data transformations are complete.

The data is now ready to be passed to ML algorithms

Evaluate atleast 2-3 Models

Linear Regression ML Model

housing_prepared
array([[-1.15604281,  0.77194962,  0.74333089, ...,  0.        ,
         0.        ,  0.        ],
       [-1.17602483,  0.6596948 , -1.1653172 , ...,  0.        ,
         0.        ,  0.        ],
       [ 1.18684903, -1.34218285,  0.18664186, ...,  0.        ,
         0.        ,  1.        ],
       ...,
       [ 1.58648943, -0.72478134, -1.56295222, ...,  0.        ,
         0.        ,  0.        ],
       [ 0.78221312, -0.85106801,  0.18664186, ...,  0.        ,
         0.        ,  0.        ],
       [-1.43579109,  0.99645926,  1.85670895, ...,  0.        ,
         1.        ,  0.        ]])
from sklearn.linear_model import LinearRegression

lin_reg = LinearRegression()
lin_reg.fit(housing_prepared, housing_labels)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

Lets pick some training data and get the predictions

some_data = housing_train.iloc[:5]
some_data
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income ocean_proximity
17606 -121.89 37.29 38.0 1568.0 351.0 710.0 339.0 2.7042 <1H OCEAN
18632 -121.93 37.05 14.0 679.0 108.0 306.0 113.0 6.4214 <1H OCEAN
14650 -117.20 32.77 31.0 1952.0 471.0 936.0 462.0 2.8621 NEAR OCEAN
3230 -119.61 36.31 25.0 1847.0 371.0 1460.0 353.0 1.8839 INLAND
3555 -118.59 34.23 17.0 6592.0 1525.0 4459.0 1463.0 3.0347 <1H OCEAN
some_data_prepared = full_pipeline.transform(some_data)
some_data_prepared
array([[-1.15604281,  0.77194962,  0.74333089, -0.49323393, -0.44543821,
        -0.63621141, -0.42069842, -0.61493744, -0.31205452, -0.08649871,
         0.15531753,  1.        ,  0.        ,  0.        ,  0.        ,
         0.        ],
       [-1.17602483,  0.6596948 , -1.1653172 , -0.90896655, -1.0369278 ,
        -0.99833135, -1.02222705,  1.33645936,  0.21768338, -0.03353391,
        -0.83628902,  1.        ,  0.        ,  0.        ,  0.        ,
         0.        ],
       [ 1.18684903, -1.34218285,  0.18664186, -0.31365989, -0.15334458,
        -0.43363936, -0.0933178 , -0.5320456 , -0.46531516, -0.09240499,
         0.4222004 ,  0.        ,  0.        ,  0.        ,  0.        ,
         1.        ],
       [-0.01706767,  0.31357576, -0.29052016, -0.36276217, -0.39675594,
         0.03604096, -0.38343559, -1.04556555, -0.07966124,  0.08973561,
        -0.19645314,  0.        ,  1.        ,  0.        ,  0.        ,
         0.        ],
       [ 0.49247384, -0.65929936, -0.92673619,  1.85619316,  2.41221109,
         2.72415407,  2.57097492, -0.44143679, -0.35783383, -0.00419445,
         0.2699277 ,  1.        ,  0.        ,  0.        ,  0.        ,
         0.        ]])
print("Predictions:", lin_reg.predict(some_data_prepared))
Predictions: [210644.60459286 317768.80697211 210956.43331178  59218.98886849
 189747.55849879]
print("Original Values:", list(housing_labels.iloc[:5]))
Original Values: [286600.0, 340600.0, 196900.0, 46300.0, 254500.0]

Okay.. Its not bad..

Lets predict for entire dataset and also calculate the error

housing_predictions = lin_reg.predict(housing_prepared)
from sklearn.metrics import mean_squared_error
lin_mse = mean_squared_error(housing_labels, housing_predictions)
print(np.sqrt(lin_mse)) # This is nothing but  RMSE
68628.19819848923

A difference of $68K for a prediction is not a good number.

It could be because the model is very simple.. Its a simple Linear Regression Model.

The model is underfitting the data. The features need to enhanced or a different model needs to be chosen.

Lets try Decision Tree

Decision Tree Model

from sklearn.tree import DecisionTreeRegressor

tree_reg = DecisionTreeRegressor()
tree_reg.fit(housing_prepared, housing_labels)
DecisionTreeRegressor(ccp_alpha=0.0, criterion='mse', max_depth=None,
                      max_features=None, max_leaf_nodes=None,
                      min_impurity_decrease=0.0, min_impurity_split=None,
                      min_samples_leaf=1, min_samples_split=2,
                      min_weight_fraction_leaf=0.0, presort='deprecated',
                      random_state=None, splitter='best')
housing_predictions = tree_reg.predict(housing_prepared)
from sklearn.metrics import mean_squared_error
tree_mse = mean_squared_error(housing_labels, housing_predictions)
print(np.sqrt(tree_mse)) # This is nothing but  RMSE from Decision Tree Regressor
0.0

A difference of $0 for a prediction vs original is also not a good number.

It is because the model is overfitting the data.

How do we confirm this? We can evaluate the model on validation set and the error is going to be very high

Another option is Scikit-Learn’s K-fold cross-validation feature

This class (from sklearn.model_selection import cross_val_score) splits the training set into K distinct subsets called folds, then it trains and evaluates the Decision Tree model K times, picking a different fold for evaluation every time and training on the other K-1 folds

from sklearn.model_selection import cross_val_score
scores = cross_val_score(tree_reg, housing_prepared, housing_labels,
                         scoring="neg_mean_squared_error", cv=10)

We have run the cross validation above with K=10

The scoring of the cross validation feature of sklearn is actually negative.

Therefore we do a sqrt of -scores below.

tree_rmse_scores = np.sqrt(-scores)

Below is a small function to display scores mean, std dev and list of scores for each cross validation.

def display_scores(scores):
  print("Mean Score : ", scores.mean(), "\nStd Dev : " ,scores.std(), "\nAll Scores : " ,scores)
display_scores(tree_rmse_scores)
Mean Score :  70666.74616904806 
Std Dev :  2928.322738055112 
All Scores :  [69327.01708558 65486.39211857 71358.25563341 69091.37509104
 70570.20267046 75529.94622521 69895.20650652 70660.14247357
 75843.74719231 68905.17669382]

As expected, the Decision Tree is not accurate in its predictions.

In fact, it seems to be worse than Linear Regression Model.

Lets try Random Forests algorithm next

Random Forest Model

from sklearn.ensemble import RandomForestRegressor
forest_reg = RandomForestRegressor()
forest_reg.fit(housing_prepared, housing_labels)
RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',
                      max_depth=None, max_features='auto', max_leaf_nodes=None,
                      max_samples=None, min_impurity_decrease=0.0,
                      min_impurity_split=None, min_samples_leaf=1,
                      min_samples_split=2, min_weight_fraction_leaf=0.0,
                      n_estimators=100, n_jobs=None, oob_score=False,
                      random_state=None, verbose=0, warm_start=False)
housing_predictions = forest_reg.predict(housing_prepared)
forest_rmse = np.sqrt(mean_squared_error(housing_labels, housing_predictions))
display_scores(forest_rmse)
Mean Score :  18680.294240259147 
Std Dev :  0.0 
All Scores :  18680.294240259147

Looks perfect..!!? No underfitting or overfitting ??

Lets try the cross validation score again

scores = cross_val_score(forest_reg, housing_prepared, housing_labels,
                         scoring="neg_mean_squared_error", cv=10)
display_scores(np.sqrt(-scores))
Mean Score :  50150.018373763225 
Std Dev :  1902.0697041387534 
All Scores :  [49557.6095063  47584.54435547 49605.349788   52325.13724488
 49586.9889247  53154.87424699 48800.48987508 47880.32844243
 52958.68645964 50046.17489414]

Save the Model

We can save the model with joblib library or pickle library.

Below is an example of joblib library.

import joblib
joblib.dump(forest_reg, 'forest_reg_model.pkl')
['forest_reg_model.pkl']
ls
forest_reg_model.pkl  housing.csv  sample_data/
forest_reg_reloaded = joblib.load('forest_reg_model.pkl')

Finetune the Model

We can either manually finetune by changing the various hyperparameters (parameters passed to ML algorithm) OR use sklearn classes to try out various hyperparameters and see which ones are best

GridSearchCV and RandomizedSearchCV are the classes

Another way to finetune is to use ensemble method (similar to Random Forest) of using multiple algorithms

Below is an example for GridSearch.

Details need to be added later once Random Forest Deep Dive is done.

from sklearn.model_selection import GridSearchCV

param_grid = [
    {'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
    {'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]},
  ]

forest_reg = RandomForestRegressor()

grid_search = GridSearchCV(forest_reg, param_grid, cv=5,
                           scoring='neg_mean_squared_error',
                           return_train_score=True)

grid_search.fit(housing_prepared, housing_labels)
GridSearchCV(cv=5, error_score=nan,
             estimator=RandomForestRegressor(bootstrap=True, ccp_alpha=0.0,
                                             criterion='mse', max_depth=None,
                                             max_features='auto',
                                             max_leaf_nodes=None,
                                             max_samples=None,
                                             min_impurity_decrease=0.0,
                                             min_impurity_split=None,
                                             min_samples_leaf=1,
                                             min_samples_split=2,
                                             min_weight_fraction_leaf=0.0,
                                             n_estimators=100, n_jobs=None,
                                             oob_score=False, random_state=None,
                                             verbose=0, warm_start=False),
             iid='deprecated', n_jobs=None,
             param_grid=[{'max_features': [2, 4, 6, 8],
                          'n_estimators': [3, 10, 30]},
                         {'bootstrap': [False], 'max_features': [2, 3, 4],
                          'n_estimators': [3, 10]}],
             pre_dispatch='2*n_jobs', refit=True, return_train_score=True,
             scoring='neg_mean_squared_error', verbose=0)

We can get the best values for the hyperparameters as shown below

grid_search.best_params_
{'max_features': 6, 'n_estimators': 30}

We can also get the best estimator directly

grid_search.best_estimator_
RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',
                      max_depth=None, max_features=6, max_leaf_nodes=None,
                      max_samples=None, min_impurity_decrease=0.0,
                      min_impurity_split=None, min_samples_leaf=1,
                      min_samples_split=2, min_weight_fraction_leaf=0.0,
                      n_estimators=30, n_jobs=None, oob_score=False,
                      random_state=None, verbose=0, warm_start=False)
feature_importances = grid_search.best_estimator_.feature_importances_
feature_importances
array([7.55720671e-02, 6.39878625e-02, 4.24072059e-02, 1.82928273e-02,
       1.68924417e-02, 1.75601900e-02, 1.66881781e-02, 3.03268232e-01,
       6.31565549e-02, 1.08958622e-01, 8.44196144e-02, 8.53515062e-03,
       1.73063945e-01, 8.08024120e-05, 2.96250425e-03, 4.15380176e-03])

You can select this model and test it on the test set

final_model = grid_search.best_estimator_

X_test = strat_test_set.drop("median_house_value", axis=1)
y_test = strat_test_set["median_house_value"].copy()

X_test_prepared = full_pipeline.transform(X_test)

final_predictions = final_model.predict(X_test_prepared)

final_mse = mean_squared_error(y_test, final_predictions)
final_rmse = np.sqrt(final_mse) 
/usr/local/lib/python3.6/dist-packages/sklearn/compose/_column_transformer.py:430: FutureWarning: Given feature/column names or counts do not match the ones for the data given during fit. This will fail from v0.24.
  FutureWarning)
print(final_rmse)
48760.26530172545

Model can be deployed on web and predict method can be used to evaluate and get the model's output for new data.