In [156]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as stats
In [157]:
groceries=pd.read_csv('Original_OG.csv')
In [158]:
groceries.shape
Out[158]:
(628, 34)
In [159]:
groceries.head()
Out[159]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom last_4_orders shopping_frequency go_inside_store why_go_inside other_store_shop ... accept_return_later reject_sub get_sub_another_store get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN Make a separate trip to buy the right item at ... Open-Ended Response Open-Ended Response
1 Novice Pickup 2-3 times a month All of the time NaN 0.0 6-12 times a year No NaN 0.0 ... Never Never Never Never 8 or more times Never Never Never 7 100
2 Novice Pickup Once a month All of the time NaN 0.0 6-12 times a year No NaN 1.0 ... Never 3-4 times Never Never 1 time Never Never 5-7 times 3 66
3 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 0.0 ... Never Never Never Never Never 1 time Never Never 7 100
4 Novice Pickup 2-3 times a month Most of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never Never 5-7 times 3-4 times 1 time 3-4 times Never 5-7 times 1 36

5 rows × 34 columns

In [160]:
# Dropping the first row
newg=groceries.drop([0,0])
In [161]:
newg.head(10)
Out[161]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom last_4_orders shopping_frequency go_inside_store why_go_inside other_store_shop ... accept_return_later reject_sub get_sub_another_store get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs
1 Novice Pickup 2-3 times a month All of the time NaN 0.0 6-12 times a year No NaN 0.0 ... Never Never Never Never 8 or more times Never Never Never 7 100
2 Novice Pickup Once a month All of the time NaN 0.0 6-12 times a year No NaN 1.0 ... Never 3-4 times Never Never 1 time Never Never 5-7 times 3 66
3 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 0.0 ... Never Never Never Never Never 1 time Never Never 7 100
4 Novice Pickup 2-3 times a month Most of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never Never 5-7 times 3-4 times 1 time 3-4 times Never 5-7 times 1 36
5 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week No NaN 0.0 ... Never 1-2 times Never Never Never Never Never Never 4 73
6 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week No NaN 1.0 ... Never 5-7 times NaN Never 3-4 times 3-4 times Never 8 or more times 1 14
7 Novice Pickup NaN All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... 3-4 times 1-2 times 3-4 times Never 1 time 3-4 times 1 time 1 time NaN NaN
8 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week 1 I sometimes forget to add items to my order. 0.0 ... Never 3-4 times Never Never NaN 3-4 times Never Never 7 100
9 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never 3-4 times 3-4 times Never Never Never Never 3-4 times 3 36
10 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never 3-4 times 1 time Never 1 time Never Never 3-4 times 4 51

10 rows × 34 columns

In [162]:
groceries.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 628 entries, 0 to 627
Data columns (total 34 columns):
 #   Column                      Non-Null Count  Dtype  
---  ------                      --------------  -----  
 0   Novice_Old                  627 non-null    object 
 1   P_or_D                      627 non-null    object 
 2   Frequency                   622 non-null    object 
 3   Pickup_Dom                  402 non-null    object 
 4   Delivery_Dom                262 non-null    object 
 5   last_4_orders               627 non-null    float64
 6   shopping_frequency          627 non-null    object 
 7   go_inside_store             375 non-null    object 
 8   why_go_inside               69 non-null     object 
 9   other_store_shop            375 non-null    float64
 10  Why_other_store             162 non-null    object 
 11  Unnamed: 11                 41 non-null     object 
 12  Speed_R                     621 non-null    object 
 13  Quality_R                   621 non-null    object 
 14  Saving_R                    621 non-null    object 
 15  Novelty_R                   621 non-null    object 
 16  Convenience_R               621 non-null    object 
 17  Limitations_R               621 non-null    object 
 18  Easier_diet_R               621 non-null    object 
 19  Findability_R               621 non-null    object 
 20  Unnamed: 20                 0 non-null      float64
 21  percent_time_gettings_subs  599 non-null    float64
 22  accept_use_sub              601 non-null    object 
 23  accept_use_sub.1            601 non-null    object 
 24  accept_return_later         601 non-null    object 
 25  reject_sub                  601 non-null    object 
 26  get_sub_another_store       574 non-null    object 
 27  get_sub_same_store          575 non-null    object 
 28  change_meal_plan            524 non-null    object 
 29  wait                        565 non-null    object 
 30  another_online_store        569 non-null    object 
 31  Unnamed: 31                 577 non-null    object 
 32  Feel_subs                   541 non-null    object 
 33  satisfaction_with_subs      538 non-null    object 
dtypes: float64(4), object(30)
memory usage: 166.9+ KB
In [163]:
groceries.describe(include='object')
Out[163]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom shopping_frequency go_inside_store why_go_inside Why_other_store Unnamed: 11 ... accept_return_later reject_sub get_sub_another_store get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs
count 627 627 622 402 262 627 375 69 162 41 ... 601 601 574 575 524 565 569 577 541 538
unique 2 4 6 4 3 4 2 5 3 21 ... 5 5 5 5 5 5 5 6 9 85
top Novice Pickup 2-3 times a month All of the time All of the time 2-3 times per month No I sometimes forget to add items to my order. I stop at the second store when my online orde... In between orders ... Never Never Never Never Never 3-4 times Never Never 4 100
freq 489 350 317 316 182 296 308 25 77 2 ... 556 368 359 491 310 191 473 268 150 75

4 rows × 30 columns

In [164]:
groceries.Pickup_Dom.unique()
Out[164]:
array([nan, 'All of the time', 'Most of the time', 'Some of the time',
       '50'], dtype=object)
In [165]:
groceries.Delivery_Dom.unique()
Out[165]:
array([nan, 'Some of the time', 'All of the time', 'Most of the time'],
      dtype=object)
In [166]:
# recode variables nan = 1, some of the time = 2, most of the time= 3, all of the time = 4
modeF= ['NaN', 'Some of the time', 'Most of the time', 'All of the time']
dummy_vars=[1, 2, 3, 4]
newg['Pickup_mode_frequency'] = newg['Pickup_Dom'].replace(modeF, dummy_vars)
newg['Pickup_mode_frequency'] = newg['Pickup_mode_frequency'].fillna(1)
newg['Pickup_mode_frequency'] = newg['Pickup_mode_frequency'].astype(float)
newg.tail(10)
Out[166]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom last_4_orders shopping_frequency go_inside_store why_go_inside other_store_shop ... reject_sub get_sub_another_store get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs Pickup_mode_frequency
618 Repeat delivery About once a week Some of the time Most of the time 1.0 2-3 times per month NaN NaN NaN ... 1-2 times 3-4 times Never Never 5-7 times Never 3-4 times NaN NaN 2.0
619 Repeat delivery More than once a week NaN All of the time 1.0 6-12 times a year NaN NaN NaN ... Never Never Never 1 time 1 time Never 1 time 4 51 1.0
620 Repeat delivery NaN NaN All of the time 1.0 2-3 times per month NaN NaN NaN ... 1-2 times Never Never NaN 3-4 times Never 1 time NaN NaN 1.0
621 Repeat delivery 2-3 times a month NaN All of the time 1.0 2-3 times per month NaN NaN NaN ... Never Never Never Never 8 or more times Never Never NaN NaN 1.0
622 Repeat delivery More than once a week NaN All of the time 1.0 1-2 times per week NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0
623 Repeat delivery About once a week NaN All of the time 1.0 1-2 times per week NaN NaN NaN ... 1-2 times Never 1 time Never 3-4 times Never Never 5 77 1.0
624 Repeat delivery About once a week NaN Most of the time 1.0 6-12 times a year NaN NaN NaN ... Never 1 time Never 1 time 3-4 times Never 1 time NaN NaN 1.0
625 Repeat delivery 2-3 times a month All of the time Some of the time 0.0 1-2 times per week 1 I just want to browse. 1.0 ... Never 3-4 times Never 3-4 times 3-4 times Never 3-4 times 6 83 4.0
626 Repeat delivery 2-3 times a month NaN All of the time 1.0 2-3 times per month NaN NaN NaN ... 1-2 times Never Never 1 time 5-7 times Never Never 3 64 1.0
627 Repeat delivery 2-3 times a month NaN All of the time 1.0 Never NaN NaN NaN ... Never Never Never Never 3-4 times Never Never 7 100 1.0

10 rows × 35 columns

In [170]:
newg['Delivery_mode_frequency'] = newg['Delivery_Dom'].replace(modeF, dummy_vars)
newg['Delivery_mode_frequency'] = newg['Delivery_mode_frequency'].fillna(1)
newg.head(10)
/var/folders/zs/gnl937793yn9_321mtt3zflw0000gn/T/ipykernel_76854/2377009431.py:1: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  newg['Delivery_mode_frequency'] = newg['Delivery_Dom'].replace(modeF, dummy_vars)
Out[170]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom last_4_orders shopping_frequency go_inside_store why_go_inside other_store_shop ... get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs Pickup_mode_frequency Delivery_mode_frequency mode
1 Novice Pickup 2-3 times a month All of the time NaN 0.0 6-12 times a year No NaN 0.0 ... Never 8 or more times Never Never Never 7 100 4.0 1.0 pickup
2 Novice Pickup Once a month All of the time NaN 0.0 6-12 times a year No NaN 1.0 ... Never 1 time Never Never 5-7 times 3 66 4.0 1.0 pickup
3 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 0.0 ... Never Never 1 time Never Never 7 100 4.0 1.0 pickup
4 Novice Pickup 2-3 times a month Most of the time NaN 0.0 2-3 times per month No NaN 1.0 ... 3-4 times 1 time 3-4 times Never 5-7 times 1 36 3.0 1.0 pickup
5 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week No NaN 0.0 ... Never Never Never Never Never 4 73 4.0 1.0 pickup
6 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week No NaN 1.0 ... Never 3-4 times 3-4 times Never 8 or more times 1 14 4.0 1.0 pickup
7 Novice Pickup NaN All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never 1 time 3-4 times 1 time 1 time NaN NaN 4.0 1.0 pickup
8 Novice Pickup 2-3 times a month All of the time NaN 0.0 1-2 times per week 1 I sometimes forget to add items to my order. 0.0 ... Never NaN 3-4 times Never Never 7 100 4.0 1.0 pickup
9 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never Never Never Never 3-4 times 3 36 4.0 1.0 pickup
10 Novice Pickup 2-3 times a month All of the time NaN 0.0 2-3 times per month No NaN 1.0 ... Never 1 time Never Never 3-4 times 4 51 4.0 1.0 pickup

10 rows × 37 columns

In [171]:
newg['mode'] = np.where(
    newg['Pickup_mode_frequency'] > newg['Delivery_mode_frequency'],
    'pickup', 'delivery')
In [172]:
newg.tail()
Out[172]:
Novice_Old P_or_D Frequency Pickup_Dom Delivery_Dom last_4_orders shopping_frequency go_inside_store why_go_inside other_store_shop ... get_sub_same_store change_meal_plan wait another_online_store Unnamed: 31 Feel_subs satisfaction_with_subs Pickup_mode_frequency Delivery_mode_frequency mode
623 Repeat delivery About once a week NaN All of the time 1.0 1-2 times per week NaN NaN NaN ... 1 time Never 3-4 times Never Never 5 77 1.0 4.0 delivery
624 Repeat delivery About once a week NaN Most of the time 1.0 6-12 times a year NaN NaN NaN ... Never 1 time 3-4 times Never 1 time NaN NaN 1.0 3.0 delivery
625 Repeat delivery 2-3 times a month All of the time Some of the time 0.0 1-2 times per week 1 I just want to browse. 1.0 ... Never 3-4 times 3-4 times Never 3-4 times 6 83 4.0 2.0 pickup
626 Repeat delivery 2-3 times a month NaN All of the time 1.0 2-3 times per month NaN NaN NaN ... Never 1 time 5-7 times Never Never 3 64 1.0 4.0 delivery
627 Repeat delivery 2-3 times a month NaN All of the time 1.0 Never NaN NaN NaN ... Never Never 3-4 times Never Never 7 100 1.0 4.0 delivery

5 rows × 37 columns

In [173]:
cols = ['mode', 'Novice_Old', 'satisfaction_with_subs', 'Saving_R', 'Speed_R',
        'Quality_R', 'Convenience_R', 'Limitations_R', 'Novelty_R', 'Findability_R', 'shopping_frequency', 'percent_time_gettings_subs', 
        'accept_use_sub', 'reject_sub','accept_return_later', 'accept_use_sub.1'   ]
grocersmall = newg[cols]
grocersmall.head()
Out[173]:
mode Novice_Old satisfaction_with_subs Saving_R Speed_R Quality_R Convenience_R Limitations_R Novelty_R Findability_R shopping_frequency percent_time_gettings_subs accept_use_sub reject_sub accept_return_later accept_use_sub.1
1 pickup Novice 100 Somewhat Agree Strongly Agree - Top reason Somewhat Agree Strongly Agree - Top reason Strongly Disagree Strongly Disagree Strongly Agree - Top reason 6-12 times a year 98.0 8 or more times Never Never Never
2 pickup Novice 66 Somewhat Agree Strongly Agree - Top reason Somewhat Disagree Somewhat Agree Strongly Disagree Somewhat Agree Somewhat Agree 6-12 times a year 100.0 5-7 times 3-4 times Never 1-2 times
3 pickup Novice 100 Neither Agree nor Disagree Strongly Agree - Top reason Neither Agree nor Disagree Neither Agree nor Disagree Strongly Agree - Top reason Neither Agree nor Disagree Strongly Agree - Top reason 2-3 times per month 5.0 8 or more times Never Never Never
4 pickup Novice 36 Strongly Agree - Top reason Strongly Agree - Top reason Somewhat Disagree Strongly Disagree Strongly Disagree Strongly Disagree Strongly Agree - Top reason 2-3 times per month 21.0 5-7 times Never Never Never
5 pickup Novice 73 Neither Agree nor Disagree Somewhat Agree Neither Agree nor Disagree Strongly Disagree Somewhat Disagree Somewhat Disagree Somewhat Agree 1-2 times per week 100.0 1-2 times 1-2 times Never Never
In [174]:
grocersmall = grocersmall.copy()
In [175]:
grocersmall.dtypes
Out[175]:
mode                           object
Novice_Old                     object
satisfaction_with_subs         object
Saving_R                       object
Speed_R                        object
Quality_R                      object
Convenience_R                  object
Limitations_R                  object
Novelty_R                      object
Findability_R                  object
shopping_frequency             object
percent_time_gettings_subs    float64
accept_use_sub                 object
reject_sub                     object
accept_return_later            object
accept_use_sub.1               object
dtype: object
In [176]:
sns.catplot( data=grocersmall, y='mode',x='percent_time_gettings_subs', kind='box', orient='h',
            hue='mode', aspect=2)
plt.show()
No description has been provided for this image
In [177]:
grocersmall.groupby(['mode', 'Novice_Old'], dropna=True).percent_time_gettings_subs.describe()
Out[177]:
count mean std min 25% 50% 75% max
mode Novice_Old
delivery Novice 122.0 57.754098 36.836990 0.0 21.00 52.0 100.00 100.0
Repeat 116.0 41.396552 31.312139 1.0 14.00 37.5 62.00 100.0
pickup Novice 345.0 63.510145 39.517225 1.0 20.00 86.0 100.00 100.0
Repeat 16.0 45.500000 40.338567 10.0 14.25 20.0 92.25 100.0
In [178]:
sns.catplot( data=grocersmall, y='mode',x='percent_time_gettings_subs', 
            hue='Novice_Old', kind='box',  orient='h', aspect=2)
plt.show()
No description has been provided for this image
In [179]:
grocersmall['satisfaction_with_subs'] = pd.to_numeric(
    grocersmall['satisfaction_with_subs'],
    errors='coerce')
sns.catplot( data=grocersmall, y='mode',x='satisfaction_with_subs', kind='box',   hue='Novice_Old', orient='h')
plt.show()
No description has been provided for this image
In [180]:
grocersmall['satisfaction_with_subs'] = pd.to_numeric(
    grocersmall['satisfaction_with_subs'],
    errors='coerce')
sns.catplot( data=grocersmall, y='mode',x='satisfaction_with_subs', kind='box', hue='mode', aspect=2, orient='h')
plt.show()
No description has been provided for this image
In [181]:
grocersmall.groupby('mode', dropna=True).satisfaction_with_subs.describe()
Out[181]:
count mean std min 25% 50% 75% max
mode
delivery 206.0 62.121359 30.263555 0.0 40.0 66.0 91.0 100.0
pickup 331.0 65.981873 25.979939 0.0 50.0 70.0 89.0 100.0
In [182]:
importance_ranking = ['Strongly Disagree', 'Somewhat Disagree', 'Neither Agree nor Disagree', 'Somewhat Agree', 'Strongly Agree - Top reason']
grocersmall['Speed_R'] = pd.Categorical(grocersmall['Speed_R'], categories=importance_ranking, ordered=True)
grocersmall['Speed_R'].value_counts().sort_index()
grocersmall['Speed_R'].describe()
Out[182]:
count                             621
unique                              5
top       Strongly Agree - Top reason
freq                              370
Name: Speed_R, dtype: object
In [183]:
grocersmall.groupby('mode', dropna=True).Speed_R.value_counts().sort_index()
Out[183]:
mode      Speed_R                    
delivery  Strongly Disagree               14
          Somewhat Disagree               12
          Neither Agree nor Disagree      16
          Somewhat Agree                  66
          Strongly Agree - Top reason    139
pickup    Strongly Disagree               16
          Somewhat Disagree                6
          Neither Agree nor Disagree      13
          Somewhat Agree                 108
          Strongly Agree - Top reason    231
Name: count, dtype: int64
In [184]:
sns.catplot(data=grocersmall, x='Speed_R', hue='mode', kind='count', aspect = 2)
plt.show()
No description has been provided for this image
In [185]:
grocersmall['Quality_R'] = pd.Categorical(grocersmall['Quality_R'], categories=importance_ranking, ordered=True)
grocersmall.groupby('mode', dropna=True).Speed_R.value_counts().sort_index()
Out[185]:
mode      Speed_R                    
delivery  Strongly Disagree               14
          Somewhat Disagree               12
          Neither Agree nor Disagree      16
          Somewhat Agree                  66
          Strongly Agree - Top reason    139
pickup    Strongly Disagree               16
          Somewhat Disagree                6
          Neither Agree nor Disagree      13
          Somewhat Agree                 108
          Strongly Agree - Top reason    231
Name: count, dtype: int64
In [186]:
sns.catplot(data=grocersmall, x='Quality_R', hue='mode', kind='count', aspect = 2)
plt.show()
No description has been provided for this image
In [187]:
grocersmall['Limitations_R'] = pd.Categorical(grocersmall['Limitations_R'], categories=importance_ranking, ordered=True)
grocersmall.groupby('mode', dropna=True).Limitations_R.value_counts().sort_index()
Out[187]:
mode      Limitations_R              
delivery  Strongly Disagree               38
          Somewhat Disagree               24
          Neither Agree nor Disagree      28
          Somewhat Agree                  65
          Strongly Agree - Top reason     92
pickup    Strongly Disagree              113
          Somewhat Disagree               33
          Neither Agree nor Disagree      52
          Somewhat Agree                 108
          Strongly Agree - Top reason     68
Name: count, dtype: int64
In [188]:
sns.catplot(data=grocersmall, x='Limitations_R', hue='mode', kind='count', aspect = 2)
plt.show()
No description has been provided for this image
In [189]:
grocersmall['Convenience_R'] = pd.Categorical(grocersmall['Convenience_R'], categories=importance_ranking, ordered=True)
grocersmall.groupby('mode', dropna=True).Convenience_R.value_counts().sort_index()
Out[189]:
mode      Convenience_R              
delivery  Strongly Disagree               82
          Somewhat Disagree               45
          Neither Agree nor Disagree      50
          Somewhat Agree                  27
          Strongly Agree - Top reason     43
pickup    Strongly Disagree              125
          Somewhat Disagree               52
          Neither Agree nor Disagree      81
          Somewhat Agree                  51
          Strongly Agree - Top reason     65
Name: count, dtype: int64
In [190]:
sns.catplot(data=grocersmall, x='Convenience_R', hue='mode', kind='count', aspect = 2)
plt.show()
No description has been provided for this image
In [191]:
grocersmall['Findability_R'] = pd.Categorical(grocersmall['Findability_R'], categories=importance_ranking, ordered=True)
grocersmall.groupby('mode', dropna=True).Findability_R.value_counts().sort_index()
Out[191]:
mode      Findability_R              
delivery  Strongly Disagree               12
          Somewhat Disagree               34
          Neither Agree nor Disagree      59
          Somewhat Agree                  93
          Strongly Agree - Top reason     49
pickup    Strongly Disagree               30
          Somewhat Disagree               36
          Neither Agree nor Disagree      93
          Somewhat Agree                 158
          Strongly Agree - Top reason     57
Name: count, dtype: int64
In [192]:
sns.catplot(data=grocersmall, x='Findability_R', hue='mode', kind='count',  aspect = 2)
plt.show()
No description has been provided for this image
In [193]:
grocersmall.groupby(['mode'], dropna=True).mode.value_counts()
Out[193]:
mode
delivery    251
pickup      376
Name: count, dtype: int64
In [194]:
sns.catplot(data=grocersmall, x='mode', kind='count', hue='mode', aspect = 2)
plt.show()
No description has been provided for this image
In [195]:
Reasons_df=pd.DataFrame()
In [196]:
Reasons_df=pd.DataFrame()
cols = ['Speed_R', 'Quality_R', 'Saving_R', 'Convenience_R', 
        'Limitations_R', 'Novelty_R', 'Findability_R']      
Reasons_df = grocersmall[cols].copy()
In [197]:
grocersmall.reject_sub.unique()
Out[197]:
array(['Never', '3-4 times', '1-2 times', '5-7 times', nan,
       '8 or more times'], dtype=object)
In [ ]:
 
In [198]:
frequency_order=['Never', '1-2 imes', '3-4 times', '5-7 times', '8 or more times' ]

importance_ranking = ['Strongly Disagree', 'Somewhat Disagree', 'Neither Agree nor Disagree', 'Somewhat Agree', 'Strongly Agree - Top reason']
grocersmall['Speed_R'] = pd.Categorical(grocersmall['Speed_R'], categories=importance_ranking, ordered=True)
grocersmall['Speed_R'].value_counts().sort_index()
grocersmall['Speed_R'].describe()
Out[198]:
count                             621
unique                              5
top       Strongly Agree - Top reason
freq                              370
Name: Speed_R, dtype: object
In [230]:
import pandas as pd
import numpy as np
from scipy.spatial.distance import pdist
from scipy.cluster.hierarchy import linkage
Likert_cols_original = ["Speed_R", "Quality_R", "Saving_R", "Novelty_R", 
                        "Convenience_R", "Limitations_R", "Findability_R"]
# Creating mapping dictionary for YOUR specific response format
likert_map = {
    "Strongly Disagree": 1,
    "Somewhat Disagree": 2,
    "Neither Agree nor Disagree": 3,
    "Somewhat Agree": 4,
    "Strongly Agree - Top reason": 5}
# Step 3: Creating NEW numeric columns by mapping the text
for col in Likert_cols_original:
    grocersmall[col + "_num"] = grocersmall[col].map(likert_map)
# Step 4: Verifying the encoding worked
Likert_cols_numeric = [col + "_num" for col in Likert_cols_original]

# Step 5: Cleaning and converting
df_clean = grocersmall[Likert_cols_numeric].dropna()

X = df_clean.to_numpy(dtype=float)
print("X shape:", X.shape)
print("X dtype:", X.dtype)

# Step 6: Clustering
Y = pdist(X, metric='cityblock')
Z = linkage(Y, method='average')
print("Success! Linkage matrix shape:", Z.shape)
X shape: (621, 7)
X dtype: float64
Success! Linkage matrix shape: (620, 4)
In [231]:
from scipy.cluster.hierarchy import dendrogram
import matplotlib.pyplot as plt

# Create the dendrogram
plt.figure(figsize=(10, 7))
dendrogram(Z)
Out[231]:
{'icoord': [[5.0, 5.0, 15.0, 15.0],
  [25.0, 25.0, 35.0, 35.0],
  [10.0, 10.0, 30.0, 30.0],
  [45.0, 45.0, 55.0, 55.0],
  [65.0, 65.0, 75.0, 75.0],
  [50.0, 50.0, 70.0, 70.0],
  [105.0, 105.0, 115.0, 115.0],
  [125.0, 125.0, 135.0, 135.0],
  [110.0, 110.0, 130.0, 130.0],
  [95.0, 95.0, 120.0, 120.0],
  [85.0, 85.0, 107.5, 107.5],
  [60.0, 60.0, 96.25, 96.25],
  [20.0, 20.0, 78.125, 78.125],
  [155.0, 155.0, 165.0, 165.0],
  [195.0, 195.0, 205.0, 205.0],
  [185.0, 185.0, 200.0, 200.0],
  [175.0, 175.0, 192.5, 192.5],
  [160.0, 160.0, 183.75, 183.75],
  [145.0, 145.0, 171.875, 171.875],
  [215.0, 215.0, 225.0, 225.0],
  [235.0, 235.0, 245.0, 245.0],
  [220.0, 220.0, 240.0, 240.0],
  [265.0, 265.0, 275.0, 275.0],
  [285.0, 285.0, 295.0, 295.0],
  [270.0, 270.0, 290.0, 290.0],
  [255.0, 255.0, 280.0, 280.0],
  [230.0, 230.0, 267.5, 267.5],
  [158.4375, 158.4375, 248.75, 248.75],
  [305.0, 305.0, 315.0, 315.0],
  [335.0, 335.0, 345.0, 345.0],
  [325.0, 325.0, 340.0, 340.0],
  [310.0, 310.0, 332.5, 332.5],
  [355.0, 355.0, 365.0, 365.0],
  [375.0, 375.0, 385.0, 385.0],
  [360.0, 360.0, 380.0, 380.0],
  [395.0, 395.0, 405.0, 405.0],
  [415.0, 415.0, 425.0, 425.0],
  [445.0, 445.0, 455.0, 455.0],
  [465.0, 465.0, 475.0, 475.0],
  [450.0, 450.0, 470.0, 470.0],
  [435.0, 435.0, 460.0, 460.0],
  [495.0, 495.0, 505.0, 505.0],
  [515.0, 515.0, 525.0, 525.0],
  [500.0, 500.0, 520.0, 520.0],
  [485.0, 485.0, 510.0, 510.0],
  [447.5, 447.5, 497.5, 497.5],
  [420.0, 420.0, 472.5, 472.5],
  [400.0, 400.0, 446.25, 446.25],
  [370.0, 370.0, 423.125, 423.125],
  [321.25, 321.25, 396.5625, 396.5625],
  [203.59375, 203.59375, 358.90625, 358.90625],
  [49.0625, 49.0625, 281.25, 281.25],
  [535.0, 535.0, 545.0, 545.0],
  [575.0, 575.0, 585.0, 585.0],
  [565.0, 565.0, 580.0, 580.0],
  [555.0, 555.0, 572.5, 572.5],
  [595.0, 595.0, 605.0, 605.0],
  [625.0, 625.0, 635.0, 635.0],
  [615.0, 615.0, 630.0, 630.0],
  [600.0, 600.0, 622.5, 622.5],
  [645.0, 645.0, 655.0, 655.0],
  [665.0, 665.0, 675.0, 675.0],
  [685.0, 685.0, 695.0, 695.0],
  [670.0, 670.0, 690.0, 690.0],
  [650.0, 650.0, 680.0, 680.0],
  [611.25, 611.25, 665.0, 665.0],
  [563.75, 563.75, 638.125, 638.125],
  [540.0, 540.0, 600.9375, 600.9375],
  [165.15625, 165.15625, 570.46875, 570.46875],
  [705.0, 705.0, 715.0, 715.0],
  [725.0, 725.0, 735.0, 735.0],
  [710.0, 710.0, 730.0, 730.0],
  [755.0, 755.0, 765.0, 765.0],
  [745.0, 745.0, 760.0, 760.0],
  [775.0, 775.0, 785.0, 785.0],
  [805.0, 805.0, 815.0, 815.0],
  [795.0, 795.0, 810.0, 810.0],
  [780.0, 780.0, 802.5, 802.5],
  [835.0, 835.0, 845.0, 845.0],
  [855.0, 855.0, 865.0, 865.0],
  [875.0, 875.0, 885.0, 885.0],
  [860.0, 860.0, 880.0, 880.0],
  [840.0, 840.0, 870.0, 870.0],
  [825.0, 825.0, 855.0, 855.0],
  [905.0, 905.0, 915.0, 915.0],
  [895.0, 895.0, 910.0, 910.0],
  [935.0, 935.0, 945.0, 945.0],
  [925.0, 925.0, 940.0, 940.0],
  [965.0, 965.0, 975.0, 975.0],
  [955.0, 955.0, 970.0, 970.0],
  [932.5, 932.5, 962.5, 962.5],
  [985.0, 985.0, 995.0, 995.0],
  [1005.0, 1005.0, 1015.0, 1015.0],
  [990.0, 990.0, 1010.0, 1010.0],
  [947.5, 947.5, 1000.0, 1000.0],
  [1055.0, 1055.0, 1065.0, 1065.0],
  [1045.0, 1045.0, 1060.0, 1060.0],
  [1035.0, 1035.0, 1052.5, 1052.5],
  [1025.0, 1025.0, 1043.75, 1043.75],
  [1085.0, 1085.0, 1095.0, 1095.0],
  [1115.0, 1115.0, 1125.0, 1125.0],
  [1105.0, 1105.0, 1120.0, 1120.0],
  [1090.0, 1090.0, 1112.5, 1112.5],
  [1075.0, 1075.0, 1101.25, 1101.25],
  [1034.375, 1034.375, 1088.125, 1088.125],
  [973.75, 973.75, 1061.25, 1061.25],
  [902.5, 902.5, 1017.5, 1017.5],
  [840.0, 840.0, 960.0, 960.0],
  [791.25, 791.25, 900.0, 900.0],
  [752.5, 752.5, 845.625, 845.625],
  [1145.0, 1145.0, 1155.0, 1155.0],
  [1135.0, 1135.0, 1150.0, 1150.0],
  [1165.0, 1165.0, 1175.0, 1175.0],
  [1185.0, 1185.0, 1195.0, 1195.0],
  [1170.0, 1170.0, 1190.0, 1190.0],
  [1205.0, 1205.0, 1215.0, 1215.0],
  [1225.0, 1225.0, 1235.0, 1235.0],
  [1210.0, 1210.0, 1230.0, 1230.0],
  [1180.0, 1180.0, 1220.0, 1220.0],
  [1142.5, 1142.5, 1200.0, 1200.0],
  [1245.0, 1245.0, 1255.0, 1255.0],
  [1265.0, 1265.0, 1275.0, 1275.0],
  [1250.0, 1250.0, 1270.0, 1270.0],
  [1285.0, 1285.0, 1295.0, 1295.0],
  [1305.0, 1305.0, 1315.0, 1315.0],
  [1290.0, 1290.0, 1310.0, 1310.0],
  [1325.0, 1325.0, 1335.0, 1335.0],
  [1300.0, 1300.0, 1330.0, 1330.0],
  [1345.0, 1345.0, 1355.0, 1355.0],
  [1365.0, 1365.0, 1375.0, 1375.0],
  [1350.0, 1350.0, 1370.0, 1370.0],
  [1385.0, 1385.0, 1395.0, 1395.0],
  [1405.0, 1405.0, 1415.0, 1415.0],
  [1425.0, 1425.0, 1435.0, 1435.0],
  [1410.0, 1410.0, 1430.0, 1430.0],
  [1390.0, 1390.0, 1420.0, 1420.0],
  [1360.0, 1360.0, 1405.0, 1405.0],
  [1315.0, 1315.0, 1382.5, 1382.5],
  [1260.0, 1260.0, 1348.75, 1348.75],
  [1171.25, 1171.25, 1304.375, 1304.375],
  [1455.0, 1455.0, 1465.0, 1465.0],
  [1475.0, 1475.0, 1485.0, 1485.0],
  [1460.0, 1460.0, 1480.0, 1480.0],
  [1445.0, 1445.0, 1470.0, 1470.0],
  [1505.0, 1505.0, 1515.0, 1515.0],
  [1495.0, 1495.0, 1510.0, 1510.0],
  [1525.0, 1525.0, 1535.0, 1535.0],
  [1545.0, 1545.0, 1555.0, 1555.0],
  [1530.0, 1530.0, 1550.0, 1550.0],
  [1502.5, 1502.5, 1540.0, 1540.0],
  [1575.0, 1575.0, 1585.0, 1585.0],
  [1565.0, 1565.0, 1580.0, 1580.0],
  [1595.0, 1595.0, 1605.0, 1605.0],
  [1625.0, 1625.0, 1635.0, 1635.0],
  [1645.0, 1645.0, 1655.0, 1655.0],
  [1665.0, 1665.0, 1675.0, 1675.0],
  [1685.0, 1685.0, 1695.0, 1695.0],
  [1670.0, 1670.0, 1690.0, 1690.0],
  [1650.0, 1650.0, 1680.0, 1680.0],
  [1630.0, 1630.0, 1665.0, 1665.0],
  [1615.0, 1615.0, 1647.5, 1647.5],
  [1600.0, 1600.0, 1631.25, 1631.25],
  [1572.5, 1572.5, 1615.625, 1615.625],
  [1521.25, 1521.25, 1594.0625, 1594.0625],
  [1457.5, 1457.5, 1557.65625, 1557.65625],
  [1715.0, 1715.0, 1725.0, 1725.0],
  [1705.0, 1705.0, 1720.0, 1720.0],
  [1745.0, 1745.0, 1755.0, 1755.0],
  [1765.0, 1765.0, 1775.0, 1775.0],
  [1750.0, 1750.0, 1770.0, 1770.0],
  [1735.0, 1735.0, 1760.0, 1760.0],
  [1712.5, 1712.5, 1747.5, 1747.5],
  [1785.0, 1785.0, 1795.0, 1795.0],
  [1815.0, 1815.0, 1825.0, 1825.0],
  [1845.0, 1845.0, 1855.0, 1855.0],
  [1835.0, 1835.0, 1850.0, 1850.0],
  [1820.0, 1820.0, 1842.5, 1842.5],
  [1805.0, 1805.0, 1831.25, 1831.25],
  [1865.0, 1865.0, 1875.0, 1875.0],
  [1885.0, 1885.0, 1895.0, 1895.0],
  [1945.0, 1945.0, 1955.0, 1955.0],
  [1935.0, 1935.0, 1950.0, 1950.0],
  [1925.0, 1925.0, 1942.5, 1942.5],
  [1915.0, 1915.0, 1933.75, 1933.75],
  [1905.0, 1905.0, 1924.375, 1924.375],
  [1890.0, 1890.0, 1914.6875, 1914.6875],
  [1870.0, 1870.0, 1902.34375, 1902.34375],
  [1975.0, 1975.0, 1985.0, 1985.0],
  [2005.0, 2005.0, 2015.0, 2015.0],
  [1995.0, 1995.0, 2010.0, 2010.0],
  [1980.0, 1980.0, 2002.5, 2002.5],
  [2035.0, 2035.0, 2045.0, 2045.0],
  [2055.0, 2055.0, 2065.0, 2065.0],
  [2040.0, 2040.0, 2060.0, 2060.0],
  [2025.0, 2025.0, 2050.0, 2050.0],
  [1991.25, 1991.25, 2037.5, 2037.5],
  [1965.0, 1965.0, 2014.375, 2014.375],
  [2075.0, 2075.0, 2085.0, 2085.0],
  [2095.0, 2095.0, 2105.0, 2105.0],
  [2115.0, 2115.0, 2125.0, 2125.0],
  [2100.0, 2100.0, 2120.0, 2120.0],
  [2080.0, 2080.0, 2110.0, 2110.0],
  [1989.6875, 1989.6875, 2095.0, 2095.0],
  [1886.171875, 1886.171875, 2042.34375, 2042.34375],
  [1818.125, 1818.125, 1964.2578125, 1964.2578125],
  [2135.0, 2135.0, 2145.0, 2145.0],
  [2155.0, 2155.0, 2165.0, 2165.0],
  [2140.0, 2140.0, 2160.0, 2160.0],
  [2185.0, 2185.0, 2195.0, 2195.0],
  [2175.0, 2175.0, 2190.0, 2190.0],
  [2205.0, 2205.0, 2215.0, 2215.0],
  [2225.0, 2225.0, 2235.0, 2235.0],
  [2255.0, 2255.0, 2265.0, 2265.0],
  [2245.0, 2245.0, 2260.0, 2260.0],
  [2275.0, 2275.0, 2285.0, 2285.0],
  [2295.0, 2295.0, 2305.0, 2305.0],
  [2280.0, 2280.0, 2300.0, 2300.0],
  [2252.5, 2252.5, 2290.0, 2290.0],
  [2230.0, 2230.0, 2271.25, 2271.25],
  [2325.0, 2325.0, 2335.0, 2335.0],
  [2315.0, 2315.0, 2330.0, 2330.0],
  [2250.625, 2250.625, 2322.5, 2322.5],
  [2210.0, 2210.0, 2286.5625, 2286.5625],
  [2182.5, 2182.5, 2248.28125, 2248.28125],
  [2150.0, 2150.0, 2215.390625, 2215.390625],
  [1891.19140625, 1891.19140625, 2182.6953125, 2182.6953125],
  [1790.0, 1790.0, 2036.943359375, 2036.943359375],
  [1730.0, 1730.0, 1913.4716796875, 1913.4716796875],
  [1507.578125, 1507.578125, 1821.73583984375, 1821.73583984375],
  [1237.8125, 1237.8125, 1664.656982421875, 1664.656982421875],
  [2345.0, 2345.0, 2355.0, 2355.0],
  [2375.0, 2375.0, 2385.0, 2385.0],
  [2365.0, 2365.0, 2380.0, 2380.0],
  [2350.0, 2350.0, 2372.5, 2372.5],
  [2405.0, 2405.0, 2415.0, 2415.0],
  [2425.0, 2425.0, 2435.0, 2435.0],
  [2410.0, 2410.0, 2430.0, 2430.0],
  [2445.0, 2445.0, 2455.0, 2455.0],
  [2475.0, 2475.0, 2485.0, 2485.0],
  [2465.0, 2465.0, 2480.0, 2480.0],
  [2450.0, 2450.0, 2472.5, 2472.5],
  [2495.0, 2495.0, 2505.0, 2505.0],
  [2515.0, 2515.0, 2525.0, 2525.0],
  [2545.0, 2545.0, 2555.0, 2555.0],
  [2535.0, 2535.0, 2550.0, 2550.0],
  [2520.0, 2520.0, 2542.5, 2542.5],
  [2500.0, 2500.0, 2531.25, 2531.25],
  [2461.25, 2461.25, 2515.625, 2515.625],
  [2420.0, 2420.0, 2488.4375, 2488.4375],
  [2395.0, 2395.0, 2454.21875, 2454.21875],
  [2565.0, 2565.0, 2575.0, 2575.0],
  [2585.0, 2585.0, 2595.0, 2595.0],
  [2570.0, 2570.0, 2590.0, 2590.0],
  [2605.0, 2605.0, 2615.0, 2615.0],
  [2580.0, 2580.0, 2610.0, 2610.0],
  [2625.0, 2625.0, 2635.0, 2635.0],
  [2645.0, 2645.0, 2655.0, 2655.0],
  [2630.0, 2630.0, 2650.0, 2650.0],
  [2595.0, 2595.0, 2640.0, 2640.0],
  [2665.0, 2665.0, 2675.0, 2675.0],
  [2685.0, 2685.0, 2695.0, 2695.0],
  [2705.0, 2705.0, 2715.0, 2715.0],
  [2690.0, 2690.0, 2710.0, 2710.0],
  [2670.0, 2670.0, 2700.0, 2700.0],
  [2745.0, 2745.0, 2755.0, 2755.0],
  [2735.0, 2735.0, 2750.0, 2750.0],
  [2725.0, 2725.0, 2742.5, 2742.5],
  [2685.0, 2685.0, 2733.75, 2733.75],
  [2617.5, 2617.5, 2709.375, 2709.375],
  [2424.609375, 2424.609375, 2663.4375, 2663.4375],
  [2775.0, 2775.0, 2785.0, 2785.0],
  [2815.0, 2815.0, 2825.0, 2825.0],
  [2805.0, 2805.0, 2820.0, 2820.0],
  [2795.0, 2795.0, 2812.5, 2812.5],
  [2780.0, 2780.0, 2803.75, 2803.75],
  [2765.0, 2765.0, 2791.875, 2791.875],
  [2845.0, 2845.0, 2855.0, 2855.0],
  [2835.0, 2835.0, 2850.0, 2850.0],
  [2778.4375, 2778.4375, 2842.5, 2842.5],
  [2544.0234375, 2544.0234375, 2810.46875, 2810.46875],
  [2361.25, 2361.25, 2677.24609375, 2677.24609375],
  [1451.2347412109375, 1451.2347412109375, 2519.248046875, 2519.248046875],
  [2875.0, 2875.0, 2885.0, 2885.0],
  [2865.0, 2865.0, 2880.0, 2880.0],
  [2895.0, 2895.0, 2905.0, 2905.0],
  [2915.0, 2915.0, 2925.0, 2925.0],
  [2935.0, 2935.0, 2945.0, 2945.0],
  [2920.0, 2920.0, 2940.0, 2940.0],
  [2955.0, 2955.0, 2965.0, 2965.0],
  [2975.0, 2975.0, 2985.0, 2985.0],
  [2960.0, 2960.0, 2980.0, 2980.0],
  [2930.0, 2930.0, 2970.0, 2970.0],
  [2900.0, 2900.0, 2950.0, 2950.0],
  [3005.0, 3005.0, 3015.0, 3015.0],
  [2995.0, 2995.0, 3010.0, 3010.0],
  [3025.0, 3025.0, 3035.0, 3035.0],
  [3045.0, 3045.0, 3055.0, 3055.0],
  [3030.0, 3030.0, 3050.0, 3050.0],
  [3002.5, 3002.5, 3040.0, 3040.0],
  [2925.0, 2925.0, 3021.25, 3021.25],
  [2872.5, 2872.5, 2973.125, 2973.125],
  [3065.0, 3065.0, 3075.0, 3075.0],
  [3095.0, 3095.0, 3105.0, 3105.0],
  [3085.0, 3085.0, 3100.0, 3100.0],
  [3070.0, 3070.0, 3092.5, 3092.5],
  [3125.0, 3125.0, 3135.0, 3135.0],
  [3115.0, 3115.0, 3130.0, 3130.0],
  [3081.25, 3081.25, 3122.5, 3122.5],
  [3155.0, 3155.0, 3165.0, 3165.0],
  [3175.0, 3175.0, 3185.0, 3185.0],
  [3205.0, 3205.0, 3215.0, 3215.0],
  [3195.0, 3195.0, 3210.0, 3210.0],
  [3180.0, 3180.0, 3202.5, 3202.5],
  [3160.0, 3160.0, 3191.25, 3191.25],
  [3145.0, 3145.0, 3175.625, 3175.625],
  [3101.875, 3101.875, 3160.3125, 3160.3125],
  [3225.0, 3225.0, 3235.0, 3235.0],
  [3245.0, 3245.0, 3255.0, 3255.0],
  [3230.0, 3230.0, 3250.0, 3250.0],
  [3275.0, 3275.0, 3285.0, 3285.0],
  [3265.0, 3265.0, 3280.0, 3280.0],
  [3240.0, 3240.0, 3272.5, 3272.5],
  [3131.09375, 3131.09375, 3256.25, 3256.25],
  [3295.0, 3295.0, 3305.0, 3305.0],
  [3315.0, 3315.0, 3325.0, 3325.0],
  [3300.0, 3300.0, 3320.0, 3320.0],
  [3345.0, 3345.0, 3355.0, 3355.0],
  [3335.0, 3335.0, 3350.0, 3350.0],
  [3395.0, 3395.0, 3405.0, 3405.0],
  [3385.0, 3385.0, 3400.0, 3400.0],
  [3375.0, 3375.0, 3392.5, 3392.5],
  [3415.0, 3415.0, 3425.0, 3425.0],
  [3383.75, 3383.75, 3420.0, 3420.0],
  [3365.0, 3365.0, 3401.875, 3401.875],
  [3342.5, 3342.5, 3383.4375, 3383.4375],
  [3435.0, 3435.0, 3445.0, 3445.0],
  [3455.0, 3455.0, 3465.0, 3465.0],
  [3440.0, 3440.0, 3460.0, 3460.0],
  [3475.0, 3475.0, 3485.0, 3485.0],
  [3495.0, 3495.0, 3505.0, 3505.0],
  [3480.0, 3480.0, 3500.0, 3500.0],
  [3450.0, 3450.0, 3490.0, 3490.0],
  [3362.96875, 3362.96875, 3470.0, 3470.0],
  [3310.0, 3310.0, 3416.484375, 3416.484375],
  [3525.0, 3525.0, 3535.0, 3535.0],
  [3545.0, 3545.0, 3555.0, 3555.0],
  [3530.0, 3530.0, 3550.0, 3550.0],
  [3575.0, 3575.0, 3585.0, 3585.0],
  [3615.0, 3615.0, 3625.0, 3625.0],
  [3605.0, 3605.0, 3620.0, 3620.0],
  [3595.0, 3595.0, 3612.5, 3612.5],
  [3635.0, 3635.0, 3645.0, 3645.0],
  [3603.75, 3603.75, 3640.0, 3640.0],
  [3580.0, 3580.0, 3621.875, 3621.875],
  [3565.0, 3565.0, 3600.9375, 3600.9375],
  [3540.0, 3540.0, 3582.96875, 3582.96875],
  [3515.0, 3515.0, 3561.484375, 3561.484375],
  [3655.0, 3655.0, 3665.0, 3665.0],
  [3675.0, 3675.0, 3685.0, 3685.0],
  [3695.0, 3695.0, 3705.0, 3705.0],
  [3680.0, 3680.0, 3700.0, 3700.0],
  [3660.0, 3660.0, 3690.0, 3690.0],
  [3715.0, 3715.0, 3725.0, 3725.0],
  [3735.0, 3735.0, 3745.0, 3745.0],
  [3720.0, 3720.0, 3740.0, 3740.0],
  [3675.0, 3675.0, 3730.0, 3730.0],
  [3755.0, 3755.0, 3765.0, 3765.0],
  [3775.0, 3775.0, 3785.0, 3785.0],
  [3760.0, 3760.0, 3780.0, 3780.0],
  [3795.0, 3795.0, 3805.0, 3805.0],
  [3825.0, 3825.0, 3835.0, 3835.0],
  [3815.0, 3815.0, 3830.0, 3830.0],
  [3800.0, 3800.0, 3822.5, 3822.5],
  [3855.0, 3855.0, 3865.0, 3865.0],
  [3845.0, 3845.0, 3860.0, 3860.0],
  [3885.0, 3885.0, 3895.0, 3895.0],
  [3905.0, 3905.0, 3915.0, 3915.0],
  [3890.0, 3890.0, 3910.0, 3910.0],
  [3875.0, 3875.0, 3900.0, 3900.0],
  [3852.5, 3852.5, 3887.5, 3887.5],
  [3811.25, 3811.25, 3870.0, 3870.0],
  [3770.0, 3770.0, 3840.625, 3840.625],
  [3702.5, 3702.5, 3805.3125, 3805.3125],
  [3925.0, 3925.0, 3935.0, 3935.0],
  [3945.0, 3945.0, 3955.0, 3955.0],
  [3930.0, 3930.0, 3950.0, 3950.0],
  [3965.0, 3965.0, 3975.0, 3975.0],
  [3985.0, 3985.0, 3995.0, 3995.0],
  [3970.0, 3970.0, 3990.0, 3990.0],
  [4025.0, 4025.0, 4035.0, 4035.0],
  [4015.0, 4015.0, 4030.0, 4030.0],
  [4005.0, 4005.0, 4022.5, 4022.5],
  [4045.0, 4045.0, 4055.0, 4055.0],
  [4065.0, 4065.0, 4075.0, 4075.0],
  [4050.0, 4050.0, 4070.0, 4070.0],
  [4013.75, 4013.75, 4060.0, 4060.0],
  [3980.0, 3980.0, 4036.875, 4036.875],
  [4105.0, 4105.0, 4115.0, 4115.0],
  [4095.0, 4095.0, 4110.0, 4110.0],
  [4085.0, 4085.0, 4102.5, 4102.5],
  [4008.4375, 4008.4375, 4093.75, 4093.75],
  [3940.0, 3940.0, 4051.09375, 4051.09375],
  [3753.90625, 3753.90625, 3995.546875, 3995.546875],
  [4135.0, 4135.0, 4145.0, 4145.0],
  [4165.0, 4165.0, 4175.0, 4175.0],
  [4155.0, 4155.0, 4170.0, 4170.0],
  [4195.0, 4195.0, 4205.0, 4205.0],
  [4185.0, 4185.0, 4200.0, 4200.0],
  [4162.5, 4162.5, 4192.5, 4192.5],
  [4140.0, 4140.0, 4177.5, 4177.5],
  [4125.0, 4125.0, 4158.75, 4158.75],
  [4215.0, 4215.0, 4225.0, 4225.0],
  [4235.0, 4235.0, 4245.0, 4245.0],
  [4220.0, 4220.0, 4240.0, 4240.0],
  [4141.875, 4141.875, 4230.0, 4230.0],
  [4265.0, 4265.0, 4275.0, 4275.0],
  [4255.0, 4255.0, 4270.0, 4270.0],
  [4285.0, 4285.0, 4295.0, 4295.0],
  [4305.0, 4305.0, 4315.0, 4315.0],
  [4290.0, 4290.0, 4310.0, 4310.0],
  [4335.0, 4335.0, 4345.0, 4345.0],
  [4325.0, 4325.0, 4340.0, 4340.0],
  [4300.0, 4300.0, 4332.5, 4332.5],
  [4262.5, 4262.5, 4316.25, 4316.25],
  [4365.0, 4365.0, 4375.0, 4375.0],
  [4355.0, 4355.0, 4370.0, 4370.0],
  [4385.0, 4385.0, 4395.0, 4395.0],
  [4405.0, 4405.0, 4415.0, 4415.0],
  [4425.0, 4425.0, 4435.0, 4435.0],
  [4445.0, 4445.0, 4455.0, 4455.0],
  [4485.0, 4485.0, 4495.0, 4495.0],
  [4475.0, 4475.0, 4490.0, 4490.0],
  [4465.0, 4465.0, 4482.5, 4482.5],
  [4450.0, 4450.0, 4473.75, 4473.75],
  [4430.0, 4430.0, 4461.875, 4461.875],
  [4410.0, 4410.0, 4445.9375, 4445.9375],
  [4390.0, 4390.0, 4427.96875, 4427.96875],
  [4362.5, 4362.5, 4408.984375, 4408.984375],
  [4505.0, 4505.0, 4515.0, 4515.0],
  [4525.0, 4525.0, 4535.0, 4535.0],
  [4545.0, 4545.0, 4555.0, 4555.0],
  [4530.0, 4530.0, 4550.0, 4550.0],
  [4575.0, 4575.0, 4585.0, 4585.0],
  [4565.0, 4565.0, 4580.0, 4580.0],
  [4540.0, 4540.0, 4572.5, 4572.5],
  [4510.0, 4510.0, 4556.25, 4556.25],
  [4385.7421875, 4385.7421875, 4533.125, 4533.125],
  [4289.375, 4289.375, 4459.43359375, 4459.43359375],
  [4185.9375, 4185.9375, 4374.404296875, 4374.404296875],
  [3874.7265625, 3874.7265625, 4280.1708984375, 4280.1708984375],
  [3538.2421875, 3538.2421875, 4077.44873046875, 4077.44873046875],
  [4605.0, 4605.0, 4615.0, 4615.0],
  [4595.0, 4595.0, 4610.0, 4610.0],
  [4635.0, 4635.0, 4645.0, 4645.0],
  [4655.0, 4655.0, 4665.0, 4665.0],
  [4640.0, 4640.0, 4660.0, 4660.0],
  [4675.0, 4675.0, 4685.0, 4685.0],
  [4695.0, 4695.0, 4705.0, 4705.0],
  [4680.0, 4680.0, 4700.0, 4700.0],
  [4650.0, 4650.0, 4690.0, 4690.0],
  [4625.0, 4625.0, 4670.0, 4670.0],
  [4725.0, 4725.0, 4735.0, 4735.0],
  [4715.0, 4715.0, 4730.0, 4730.0],
  [4745.0, 4745.0, 4755.0, 4755.0],
  [4775.0, 4775.0, 4785.0, 4785.0],
  [4765.0, 4765.0, 4780.0, 4780.0],
  [4750.0, 4750.0, 4772.5, 4772.5],
  [4722.5, 4722.5, 4761.25, 4761.25],
  [4647.5, 4647.5, 4741.875, 4741.875],
  [4602.5, 4602.5, 4694.6875, 4694.6875],
  [4805.0, 4805.0, 4815.0, 4815.0],
  [4825.0, 4825.0, 4835.0, 4835.0],
  [4845.0, 4845.0, 4855.0, 4855.0],
  [4830.0, 4830.0, 4850.0, 4850.0],
  [4810.0, 4810.0, 4840.0, 4840.0],
  [4795.0, 4795.0, 4825.0, 4825.0],
  [4865.0, 4865.0, 4875.0, 4875.0],
  [4885.0, 4885.0, 4895.0, 4895.0],
  [4905.0, 4905.0, 4915.0, 4915.0],
  [4890.0, 4890.0, 4910.0, 4910.0],
  [4925.0, 4925.0, 4935.0, 4935.0],
  [4955.0, 4955.0, 4965.0, 4965.0],
  [4945.0, 4945.0, 4960.0, 4960.0],
  [4930.0, 4930.0, 4952.5, 4952.5],
  [4900.0, 4900.0, 4941.25, 4941.25],
  [4870.0, 4870.0, 4920.625, 4920.625],
  [4810.0, 4810.0, 4895.3125, 4895.3125],
  [4648.59375, 4648.59375, 4852.65625, 4852.65625],
  [3807.845458984375, 3807.845458984375, 4750.625, 4750.625],
  [3363.2421875, 3363.2421875, 4279.2352294921875, 4279.2352294921875],
  [4975.0, 4975.0, 4985.0, 4985.0],
  [4995.0, 4995.0, 5005.0, 5005.0],
  [4980.0, 4980.0, 5000.0, 5000.0],
  [5035.0, 5035.0, 5045.0, 5045.0],
  [5025.0, 5025.0, 5040.0, 5040.0],
  [5015.0, 5015.0, 5032.5, 5032.5],
  [5055.0, 5055.0, 5065.0, 5065.0],
  [5075.0, 5075.0, 5085.0, 5085.0],
  [5095.0, 5095.0, 5105.0, 5105.0],
  [5125.0, 5125.0, 5135.0, 5135.0],
  [5115.0, 5115.0, 5130.0, 5130.0],
  [5100.0, 5100.0, 5122.5, 5122.5],
  [5080.0, 5080.0, 5111.25, 5111.25],
  [5060.0, 5060.0, 5095.625, 5095.625],
  [5023.75, 5023.75, 5077.8125, 5077.8125],
  [4990.0, 4990.0, 5050.78125, 5050.78125],
  [5145.0, 5145.0, 5155.0, 5155.0],
  [5165.0, 5165.0, 5175.0, 5175.0],
  [5150.0, 5150.0, 5170.0, 5170.0],
  [5205.0, 5205.0, 5215.0, 5215.0],
  [5195.0, 5195.0, 5210.0, 5210.0],
  [5185.0, 5185.0, 5202.5, 5202.5],
  [5160.0, 5160.0, 5193.75, 5193.75],
  [5245.0, 5245.0, 5255.0, 5255.0],
  [5235.0, 5235.0, 5250.0, 5250.0],
  [5225.0, 5225.0, 5242.5, 5242.5],
  [5176.875, 5176.875, 5233.75, 5233.75],
  [5020.390625, 5020.390625, 5205.3125, 5205.3125],
  [5265.0, 5265.0, 5275.0, 5275.0],
  [5305.0, 5305.0, 5315.0, 5315.0],
  [5295.0, 5295.0, 5310.0, 5310.0],
  [5285.0, 5285.0, 5302.5, 5302.5],
  [5270.0, 5270.0, 5293.75, 5293.75],
  [5325.0, 5325.0, 5335.0, 5335.0],
  [5355.0, 5355.0, 5365.0, 5365.0],
  [5345.0, 5345.0, 5360.0, 5360.0],
  [5330.0, 5330.0, 5352.5, 5352.5],
  [5375.0, 5375.0, 5385.0, 5385.0],
  [5395.0, 5395.0, 5405.0, 5405.0],
  [5380.0, 5380.0, 5400.0, 5400.0],
  [5341.25, 5341.25, 5390.0, 5390.0],
  [5281.875, 5281.875, 5365.625, 5365.625],
  [5425.0, 5425.0, 5435.0, 5435.0],
  [5415.0, 5415.0, 5430.0, 5430.0],
  [5445.0, 5445.0, 5455.0, 5455.0],
  [5422.5, 5422.5, 5450.0, 5450.0],
  [5475.0, 5475.0, 5485.0, 5485.0],
  [5465.0, 5465.0, 5480.0, 5480.0],
  [5436.25, 5436.25, 5472.5, 5472.5],
  [5495.0, 5495.0, 5505.0, 5505.0],
  [5515.0, 5515.0, 5525.0, 5525.0],
  [5500.0, 5500.0, 5520.0, 5520.0],
  [5535.0, 5535.0, 5545.0, 5545.0],
  [5575.0, 5575.0, 5585.0, 5585.0],
  [5565.0, 5565.0, 5580.0, 5580.0],
  [5555.0, 5555.0, 5572.5, 5572.5],
  [5540.0, 5540.0, 5563.75, 5563.75],
  [5510.0, 5510.0, 5551.875, 5551.875],
  [5454.375, 5454.375, 5530.9375, 5530.9375],
  [5323.75, 5323.75, 5492.65625, 5492.65625],
  [5595.0, 5595.0, 5605.0, 5605.0],
  [5625.0, 5625.0, 5635.0, 5635.0],
  [5615.0, 5615.0, 5630.0, 5630.0],
  [5600.0, 5600.0, 5622.5, 5622.5],
  [5655.0, 5655.0, 5665.0, 5665.0],
  [5675.0, 5675.0, 5685.0, 5685.0],
  [5660.0, 5660.0, 5680.0, 5680.0],
  [5645.0, 5645.0, 5670.0, 5670.0],
  [5705.0, 5705.0, 5715.0, 5715.0],
  [5695.0, 5695.0, 5710.0, 5710.0],
  [5725.0, 5725.0, 5735.0, 5735.0],
  [5745.0, 5745.0, 5755.0, 5755.0],
  [5765.0, 5765.0, 5775.0, 5775.0],
  [5785.0, 5785.0, 5795.0, 5795.0],
  [5770.0, 5770.0, 5790.0, 5790.0],
  [5750.0, 5750.0, 5780.0, 5780.0],
  [5730.0, 5730.0, 5765.0, 5765.0],
  [5702.5, 5702.5, 5747.5, 5747.5],
  [5657.5, 5657.5, 5725.0, 5725.0],
  [5611.25, 5611.25, 5691.25, 5691.25],
  [5408.203125, 5408.203125, 5651.25, 5651.25],
  [5112.8515625, 5112.8515625, 5529.7265625, 5529.7265625],
  [3821.2387084960938, 3821.2387084960938, 5321.2890625, 5321.2890625],
  [5805.0, 5805.0, 5815.0, 5815.0],
  [5835.0, 5835.0, 5845.0, 5845.0],
  [5825.0, 5825.0, 5840.0, 5840.0],
  [5810.0, 5810.0, 5832.5, 5832.5],
  [5875.0, 5875.0, 5885.0, 5885.0],
  [5865.0, 5865.0, 5880.0, 5880.0],
  [5855.0, 5855.0, 5872.5, 5872.5],
  [5895.0, 5895.0, 5905.0, 5905.0],
  [5925.0, 5925.0, 5935.0, 5935.0],
  [5915.0, 5915.0, 5930.0, 5930.0],
  [5900.0, 5900.0, 5922.5, 5922.5],
  [5945.0, 5945.0, 5955.0, 5955.0],
  [5965.0, 5965.0, 5975.0, 5975.0],
  [5950.0, 5950.0, 5970.0, 5970.0],
  [5911.25, 5911.25, 5960.0, 5960.0],
  [5863.75, 5863.75, 5935.625, 5935.625],
  [5821.25, 5821.25, 5899.6875, 5899.6875],
  [5985.0, 5985.0, 5995.0, 5995.0],
  [6005.0, 6005.0, 6015.0, 6015.0],
  [6035.0, 6035.0, 6045.0, 6045.0],
  [6025.0, 6025.0, 6040.0, 6040.0],
  [6075.0, 6075.0, 6085.0, 6085.0],
  [6065.0, 6065.0, 6080.0, 6080.0],
  [6105.0, 6105.0, 6115.0, 6115.0],
  [6095.0, 6095.0, 6110.0, 6110.0],
  [6072.5, 6072.5, 6102.5, 6102.5],
  [6055.0, 6055.0, 6087.5, 6087.5],
  [6032.5, 6032.5, 6071.25, 6071.25],
  [6125.0, 6125.0, 6135.0, 6135.0],
  [6155.0, 6155.0, 6165.0, 6165.0],
  [6145.0, 6145.0, 6160.0, 6160.0],
  [6130.0, 6130.0, 6152.5, 6152.5],
  [6051.875, 6051.875, 6141.25, 6141.25],
  [6010.0, 6010.0, 6096.5625, 6096.5625],
  [5990.0, 5990.0, 6053.28125, 6053.28125],
  [5860.46875, 5860.46875, 6021.640625, 6021.640625],
  [6195.0, 6195.0, 6205.0, 6205.0],
  [6185.0, 6185.0, 6200.0, 6200.0],
  [6175.0, 6175.0, 6192.5, 6192.5],
  [5941.0546875, 5941.0546875, 6183.75, 6183.75],
  [4571.263885498047, 4571.263885498047, 6062.40234375, 6062.40234375],
  [3193.671875, 3193.671875, 5316.833114624023, 5316.833114624023],
  [2922.8125, 2922.8125, 4255.252494812012, 4255.252494812012],
  [1985.2413940429688,
   1985.2413940429688,
   3589.032497406006,
   3589.032497406006],
  [799.0625, 799.0625, 2787.1369457244873, 2787.1369457244873],
  [720.0, 720.0, 1793.0997228622437, 1793.0997228622437],
  [367.8125, 367.8125, 1256.5498614311218, 1256.5498614311218]],
 'dcoord': [[0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(2.5), np.float64(2.5), np.float64(1.0)],
  [0.0, np.float64(3.4), np.float64(3.4), np.float64(2.5)],
  [np.float64(3.0), np.float64(6.0), np.float64(6.0), np.float64(3.4)],
  [np.float64(4.0), np.float64(8.3), np.float64(8.3), np.float64(6.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0,
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [np.float64(0.0),
   np.float64(3.5),
   np.float64(3.5),
   np.float64(1.3333333333333333)],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(3.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [np.float64(3.0), np.float64(5.7), np.float64(5.7), np.float64(4.0)],
  [np.float64(5.0),
   np.float64(6.444444444444445),
   np.float64(6.444444444444445),
   np.float64(5.7)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(5.0), np.float64(5.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), 0.0],
  [np.float64(0.0), np.float64(4.5), np.float64(4.5), np.float64(3.0)],
  [0.0, np.float64(3.0), np.float64(3.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(2.5), np.float64(2.5), np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [np.float64(0.0), np.float64(2.5), np.float64(2.5), np.float64(1.0)],
  [0.0, np.float64(3.25), np.float64(3.25), np.float64(2.5)],
  [np.float64(2.5),
   np.float64(3.6799999999999997),
   np.float64(3.6799999999999997),
   np.float64(3.25)],
  [np.float64(0.0),
   np.float64(4.0),
   np.float64(4.0),
   np.float64(3.6799999999999997)],
  [np.float64(3.0),
   np.float64(5.333333333333333),
   np.float64(5.333333333333333),
   np.float64(4.0)],
  [np.float64(4.5),
   np.float64(6.714285714285714),
   np.float64(6.714285714285714),
   np.float64(5.333333333333333)],
  [np.float64(5.0),
   np.float64(7.066666666666666),
   np.float64(7.066666666666666),
   np.float64(6.714285714285714)],
  [np.float64(6.444444444444445),
   np.float64(9.173913043478262),
   np.float64(9.173913043478262),
   np.float64(7.066666666666666)],
  [np.float64(8.3),
   np.float64(10.456043956043956),
   np.float64(10.456043956043956),
   np.float64(9.173913043478262)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(2.0)],
  [np.float64(0.0), np.float64(5.0), np.float64(5.0), np.float64(2.0)],
  [np.float64(4.0),
   np.float64(5.866666666666667),
   np.float64(5.866666666666667),
   np.float64(5.0)],
  [np.float64(5.0),
   np.float64(6.840909090909091),
   np.float64(6.840909090909091),
   np.float64(5.866666666666667)],
  [np.float64(0.0),
   np.float64(10.733333333333333),
   np.float64(10.733333333333333),
   np.float64(6.840909090909091)],
  [np.float64(10.456043956043956),
   np.float64(11.176470588235293),
   np.float64(11.176470588235293),
   np.float64(10.733333333333333)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(5.0), np.float64(5.0), np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(4.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.0),
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(2.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(1.0),
   np.float64(1.8333333333333333),
   np.float64(1.8333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(2.6), np.float64(2.6), np.float64(1.8333333333333333)],
  [np.float64(2.0),
   np.float64(3.8333333333333335),
   np.float64(3.8333333333333335),
   np.float64(2.6)],
  [np.float64(3.6666666666666665),
   np.float64(5.199999999999999),
   np.float64(5.199999999999999),
   np.float64(3.8333333333333335)],
  [np.float64(4.0),
   np.float64(5.984126984126984),
   np.float64(5.984126984126984),
   np.float64(5.199999999999999)],
  [np.float64(5.0),
   np.float64(7.029761904761904),
   np.float64(7.029761904761904),
   np.float64(5.984126984126984)],
  [np.float64(5.0),
   np.float64(7.090322580645163),
   np.float64(7.090322580645163),
   np.float64(7.029761904761904)],
  [np.float64(4.0),
   np.float64(7.916666666666667),
   np.float64(7.916666666666667),
   np.float64(7.090322580645163)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.0), np.float64(2.5), np.float64(2.5), np.float64(2.0)],
  [np.float64(2.0), np.float64(3.75), np.float64(3.75), np.float64(2.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [np.float64(1.5), np.float64(3.25), np.float64(3.25), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(3.0),
   np.float64(3.8333333333333335),
   np.float64(3.8333333333333335),
   np.float64(3.0)],
  [np.float64(3.25),
   np.float64(4.566666666666667),
   np.float64(4.566666666666667),
   np.float64(3.8333333333333335)],
  [np.float64(4.0),
   np.float64(5.125),
   np.float64(5.125),
   np.float64(4.566666666666667)],
  [np.float64(3.75),
   np.float64(5.868181818181818),
   np.float64(5.868181818181818),
   np.float64(5.125)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(4.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(1.0),
   np.float64(2.8333333333333335),
   np.float64(2.8333333333333335),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(0.0),
   np.float64(1.6666666666666667),
   np.float64(1.6666666666666667),
   np.float64(1.5)],
  [0.0, np.float64(2.25), np.float64(2.25), np.float64(1.6666666666666667)],
  [np.float64(0.0),
   np.float64(2.7777777777777777),
   np.float64(2.7777777777777777),
   np.float64(2.25)],
  [np.float64(2.0),
   np.float64(3.757575757575758),
   np.float64(3.757575757575758),
   np.float64(2.7777777777777777)],
  [np.float64(2.8333333333333335),
   np.float64(5.285714285714285),
   np.float64(5.285714285714285),
   np.float64(3.757575757575758)],
  [np.float64(5.0),
   np.float64(5.885714285714286),
   np.float64(5.885714285714286),
   np.float64(5.285714285714285)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(2.0)],
  [np.float64(2.0),
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(2.6), np.float64(2.6), np.float64(1.3333333333333333)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(1.2), np.float64(1.2), np.float64(1.0)],
  [np.float64(0.0),
   np.float64(2.3333333333333335),
   np.float64(2.3333333333333335),
   np.float64(1.2)],
  [np.float64(2.0),
   np.float64(3.5),
   np.float64(3.5),
   np.float64(2.3333333333333335)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(1.3333333333333333),
   np.float64(2.2),
   np.float64(2.2),
   np.float64(1.5)],
  [0.0, np.float64(2.9), np.float64(2.9), np.float64(2.2)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(2.9),
   np.float64(3.8484848484848486),
   np.float64(3.8484848484848486),
   np.float64(3.0)],
  [np.float64(3.5),
   np.float64(4.094117647058823),
   np.float64(4.094117647058823),
   np.float64(3.8484848484848486)],
  [np.float64(2.6),
   np.float64(4.3395061728395055),
   np.float64(4.3395061728395055),
   np.float64(4.094117647058823)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(0.0),
   np.float64(1.7142857142857142),
   np.float64(1.7142857142857142),
   np.float64(1.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.7142857142857142),
   np.float64(2.3333333333333335),
   np.float64(2.3333333333333335),
   np.float64(2.0)],
  [np.float64(2.0),
   np.float64(3.5),
   np.float64(3.5),
   np.float64(2.3333333333333335)],
  [np.float64(3.0),
   np.float64(4.309523809523809),
   np.float64(4.309523809523809),
   np.float64(3.5)],
  [np.float64(4.0),
   np.float64(4.705882352941177),
   np.float64(4.705882352941177),
   np.float64(4.309523809523809)],
  [np.float64(4.3395061728395055),
   np.float64(5.212121212121211),
   np.float64(5.212121212121211),
   np.float64(4.705882352941177)],
  [np.float64(0.0),
   np.float64(5.925925925925926),
   np.float64(5.925925925925926),
   np.float64(5.212121212121211)],
  [np.float64(2.6666666666666665),
   np.float64(6.21875),
   np.float64(6.21875),
   np.float64(5.925925925925926)],
  [np.float64(5.885714285714286),
   np.float64(6.627403846153846),
   np.float64(6.627403846153846),
   np.float64(6.21875)],
  [np.float64(5.868181818181818),
   np.float64(6.817921146953405),
   np.float64(6.817921146953405),
   np.float64(6.627403846153846)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(6.0), np.float64(6.0), np.float64(4.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [np.float64(0.0),
   np.float64(2.8),
   np.float64(2.8),
   np.float64(1.3333333333333333)],
  [np.float64(1.3333333333333333),
   np.float64(3.1142857142857143),
   np.float64(3.1142857142857143),
   np.float64(2.8)],
  [np.float64(2.0),
   np.float64(3.9166666666666665),
   np.float64(3.9166666666666665),
   np.float64(3.1142857142857143)],
  [0.0,
   np.float64(4.5625),
   np.float64(4.5625),
   np.float64(3.9166666666666665)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [np.float64(2.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(3.0),
   np.float64(4.166666666666667),
   np.float64(4.166666666666667),
   np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(3.0), np.float64(4.25), np.float64(4.25), np.float64(3.0)],
  [np.float64(4.166666666666667),
   np.float64(4.76),
   np.float64(4.76),
   np.float64(4.25)],
  [np.float64(4.5625),
   np.float64(5.355882352941176),
   np.float64(5.355882352941176),
   np.float64(4.76)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0,
   np.float64(3.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [np.float64(3.6666666666666665),
   np.float64(6.476190476190477),
   np.float64(6.476190476190477),
   np.float64(4.0)],
  [np.float64(5.355882352941176),
   np.float64(7.0864864864864865),
   np.float64(7.0864864864864865),
   np.float64(6.476190476190477)],
  [np.float64(6.0),
   np.float64(7.995744680851064),
   np.float64(7.995744680851064),
   np.float64(7.0864864864864865)],
  [np.float64(6.817921146953405),
   np.float64(8.396217418944692),
   np.float64(8.396217418944692),
   np.float64(7.995744680851064)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(2.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [np.float64(1.0), np.float64(4.5), np.float64(4.5), np.float64(3.0)],
  [np.float64(4.0),
   np.float64(5.742857142857143),
   np.float64(5.742857142857143),
   np.float64(4.5)],
  [np.float64(3.0),
   np.float64(7.9411764705882355),
   np.float64(7.9411764705882355),
   np.float64(5.742857142857143)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [np.float64(2.6666666666666665),
   np.float64(3.5333333333333337),
   np.float64(3.5333333333333337),
   np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(0.0), np.float64(3.6), np.float64(3.6), np.float64(3.0)],
  [0.0,
   np.float64(4.714285714285714),
   np.float64(4.714285714285714),
   np.float64(3.6)],
  [np.float64(3.5333333333333337),
   np.float64(5.875),
   np.float64(5.875),
   np.float64(4.714285714285714)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(2.0)],
  [np.float64(4.0), np.float64(6.0), np.float64(6.0), np.float64(5.0)],
  [np.float64(5.875),
   np.float64(7.392857142857142),
   np.float64(7.392857142857142),
   np.float64(6.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0,
   np.float64(1.6666666666666667),
   np.float64(1.6666666666666667),
   np.float64(1.0)],
  [np.float64(1.0),
   np.float64(2.904761904761905),
   np.float64(2.904761904761905),
   np.float64(1.6666666666666667)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(1.0), np.float64(3.0), np.float64(3.0), np.float64(1.0)],
  [np.float64(2.904761904761905),
   np.float64(3.4),
   np.float64(3.4),
   np.float64(3.0)],
  [np.float64(2.0),
   np.float64(4.111111111111111),
   np.float64(4.111111111111111),
   np.float64(3.4)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(1.3333333333333333)],
  [np.float64(2.0),
   np.float64(3.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(3.0)],
  [0.0,
   np.float64(4.3076923076923075),
   np.float64(4.3076923076923075),
   np.float64(3.6666666666666665)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.5), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(0.0), np.float64(1.6), np.float64(1.6), np.float64(1.5)],
  [np.float64(1.3333333333333333),
   np.float64(2.0999999999999996),
   np.float64(2.0999999999999996),
   np.float64(1.6)],
  [np.float64(2.0),
   np.float64(3.3846153846153846),
   np.float64(3.3846153846153846),
   np.float64(2.0999999999999996)],
  [np.float64(3.0),
   np.float64(3.5294117647058822),
   np.float64(3.5294117647058822),
   np.float64(3.3846153846153846)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(1.0), np.float64(2.25), np.float64(2.25), np.float64(1.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(2.25), np.float64(3.5), np.float64(3.5), np.float64(3.0)],
  [np.float64(2.0), np.float64(3.9375), np.float64(3.9375), np.float64(3.5)],
  [np.float64(3.5294117647058822),
   np.float64(4.468518518518518),
   np.float64(4.468518518518518),
   np.float64(3.9375)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [np.float64(0.0),
   np.float64(1.6666666666666667),
   np.float64(1.6666666666666667),
   np.float64(1.3333333333333333)],
  [0.0, np.float64(1.75), np.float64(1.75), np.float64(1.6666666666666667)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.75),
   np.float64(3.888888888888889),
   np.float64(3.888888888888889),
   np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(1.0),
   np.float64(2.1666666666666665),
   np.float64(2.1666666666666665),
   np.float64(1.0)],
  [np.float64(1.0),
   np.float64(3.095238095238095),
   np.float64(3.095238095238095),
   np.float64(2.1666666666666665)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [np.float64(0.0),
   np.float64(1.5),
   np.float64(1.5),
   np.float64(1.3333333333333333)],
  [np.float64(0.0), np.float64(1.6), np.float64(1.6), np.float64(1.5)],
  [np.float64(1.0),
   np.float64(2.0000000000000004),
   np.float64(2.0000000000000004),
   np.float64(1.6)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.0), np.float64(2.5), np.float64(2.5), np.float64(2.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.5)],
  [np.float64(2.0000000000000004),
   np.float64(3.6370370370370373),
   np.float64(3.6370370370370373),
   np.float64(3.0)],
  [np.float64(3.095238095238095),
   np.float64(4.333333333333333),
   np.float64(4.333333333333333),
   np.float64(3.6370370370370373)],
  [np.float64(3.888888888888889),
   np.float64(4.819004524886877),
   np.float64(4.819004524886877),
   np.float64(4.333333333333333)],
  [np.float64(4.468518518518518),
   np.float64(5.032141240380263),
   np.float64(5.032141240380263),
   np.float64(4.819004524886877)],
  [np.float64(4.3076923076923075),
   np.float64(5.124620060790273),
   np.float64(5.124620060790273),
   np.float64(5.032141240380263)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(1.0), np.float64(2.5), np.float64(2.5), np.float64(2.0)],
  [0.0, np.float64(3.25), np.float64(3.25), np.float64(2.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(1.0)],
  [np.float64(2.0),
   np.float64(3.3333333333333335),
   np.float64(3.3333333333333335),
   np.float64(2.6666666666666665)],
  [np.float64(3.25),
   np.float64(4.083333333333333),
   np.float64(4.083333333333333),
   np.float64(3.3333333333333335)],
  [np.float64(3.0),
   np.float64(4.901960784313726),
   np.float64(4.901960784313726),
   np.float64(4.083333333333333)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0,
   np.float64(3.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(2.0)],
  [np.float64(2.0),
   np.float64(3.0),
   np.float64(3.0),
   np.float64(2.6666666666666665)],
  [np.float64(0.0),
   np.float64(4.444444444444445),
   np.float64(4.444444444444445),
   np.float64(3.0)],
  [np.float64(3.6666666666666665),
   np.float64(5.0519480519480515),
   np.float64(5.0519480519480515),
   np.float64(4.444444444444445)],
  [np.float64(4.901960784313726),
   np.float64(5.755555555555555),
   np.float64(5.755555555555555),
   np.float64(5.0519480519480515)],
  [np.float64(5.124620060790273),
   np.float64(5.942007797270956),
   np.float64(5.942007797270956),
   np.float64(5.755555555555555)],
  [np.float64(4.111111111111111),
   np.float64(6.2216687422166865),
   np.float64(6.2216687422166865),
   np.float64(5.942007797270956)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), 0.0],
  [np.float64(0.0), np.float64(3.5), np.float64(3.5), np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.6666666666666667),
   np.float64(1.6666666666666667),
   np.float64(1.0)],
  [np.float64(1.0),
   np.float64(2.3),
   np.float64(2.3),
   np.float64(1.6666666666666667)],
  [np.float64(0.0),
   np.float64(3.5714285714285716),
   np.float64(3.5714285714285716),
   np.float64(2.3)],
  [np.float64(2.0),
   np.float64(4.611111111111111),
   np.float64(4.611111111111111),
   np.float64(3.5714285714285716)],
  [np.float64(3.5),
   np.float64(5.019230769230769),
   np.float64(5.019230769230769),
   np.float64(4.611111111111111)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [np.float64(2.0), np.float64(4.25), np.float64(4.25), np.float64(4.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0,
   np.float64(4.333333333333333),
   np.float64(4.333333333333333),
   np.float64(3.0)],
  [np.float64(4.25),
   np.float64(5.5625),
   np.float64(5.5625),
   np.float64(4.333333333333333)],
  [np.float64(5.019230769230769),
   np.float64(5.9754901960784315),
   np.float64(5.9754901960784315),
   np.float64(5.5625)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0,
   np.float64(2.6666666666666665),
   np.float64(2.6666666666666665),
   np.float64(2.0)],
  [np.float64(0.0),
   np.float64(3.0),
   np.float64(3.0),
   np.float64(2.6666666666666665)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(1.3333333333333333),
   np.float64(1.3333333333333333),
   np.float64(1.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [np.float64(0.0), np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(1.3333333333333333),
   np.float64(3.05),
   np.float64(3.05),
   np.float64(1.5)],
  [np.float64(3.0),
   np.float64(4.111111111111112),
   np.float64(4.111111111111112),
   np.float64(3.05)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [np.float64(1.0),
   np.float64(1.8333333333333335),
   np.float64(1.8333333333333335),
   np.float64(1.0)],
  [0.0, np.float64(2.0), np.float64(2.0), 0.0],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(1.8333333333333335),
   np.float64(3.733333333333333),
   np.float64(3.733333333333333),
   np.float64(3.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(0.0)],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0,
   np.float64(2.3333333333333335),
   np.float64(2.3333333333333335),
   np.float64(1.0)],
  [np.float64(1.0),
   np.float64(3.25),
   np.float64(3.25),
   np.float64(2.3333333333333335)],
  [np.float64(3.0), np.float64(4.0), np.float64(4.0), np.float64(3.25)],
  [np.float64(3.733333333333333),
   np.float64(4.325),
   np.float64(4.325),
   np.float64(4.0)],
  [np.float64(4.111111111111112),
   np.float64(5.133333333333334),
   np.float64(5.133333333333334),
   np.float64(4.325)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(2.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [np.float64(2.0), np.float64(3.75), np.float64(3.75), np.float64(3.0)],
  [np.float64(2.0),
   np.float64(4.7272727272727275),
   np.float64(4.7272727272727275),
   np.float64(3.75)],
  [np.float64(4.0),
   np.float64(5.4),
   np.float64(5.4),
   np.float64(4.7272727272727275)],
  [np.float64(5.133333333333334),
   np.float64(6.012987012987013),
   np.float64(6.012987012987013),
   np.float64(5.4)],
  [np.float64(5.9754901960784315),
   np.float64(6.623882503192847),
   np.float64(6.623882503192847),
   np.float64(6.012987012987013)],
  [np.float64(6.2216687422166865),
   np.float64(7.189472174411933),
   np.float64(7.189472174411933),
   np.float64(6.623882503192847)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(0.0), np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(3.0), np.float64(3.0), np.float64(2.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), 0.0],
  [0.0, np.float64(1.5), np.float64(1.5), np.float64(1.0)],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(1.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [np.float64(0.0), np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [np.float64(2.0), np.float64(4.0), np.float64(4.0), np.float64(2.0)],
  [np.float64(3.0),
   np.float64(4.638888888888889),
   np.float64(4.638888888888889),
   np.float64(4.0)],
  [np.float64(3.0),
   np.float64(5.184615384615385),
   np.float64(5.184615384615385),
   np.float64(4.638888888888889)],
  [0.0, np.float64(3.0), np.float64(3.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(2.0), np.float64(2.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(1.0),
   np.float64(1.6666666666666667),
   np.float64(1.6666666666666667),
   np.float64(1.0)],
  [0.0, np.float64(2.5), np.float64(2.5), np.float64(1.6666666666666667)],
  [np.float64(2.0),
   np.float64(3.619047619047619),
   np.float64(3.619047619047619),
   np.float64(2.5)],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(0.0), np.float64(0.0), 0.0],
  [0.0, np.float64(1.0), np.float64(1.0), np.float64(0.0)],
  [np.float64(0.0),
   np.float64(3.6666666666666665),
   np.float64(3.6666666666666665),
   np.float64(1.0)],
  [np.float64(3.619047619047619),
   np.float64(4.52),
   np.float64(4.52),
   np.float64(3.6666666666666665)],
  [np.float64(0.0),
   np.float64(4.866666666666666),
   np.float64(4.866666666666666),
   np.float64(4.52)],
  [np.float64(3.0),
   np.float64(5.735294117647059),
   np.float64(5.735294117647059),
   np.float64(4.866666666666666)],
  [np.float64(5.184615384615385),
   np.float64(5.991228070175438),
   np.float64(5.991228070175438),
   np.float64(5.735294117647059)],
  [0.0, np.float64(4.0), np.float64(4.0), 0.0],
  [0.0, np.float64(5.0), np.float64(5.0), np.float64(4.0)],
  [0.0, np.float64(7.0), np.float64(7.0), np.float64(5.0)],
  [np.float64(5.991228070175438),
   np.float64(8.277027027027026),
   np.float64(8.277027027027026),
   np.float64(7.0)],
  [np.float64(7.189472174411933),
   np.float64(8.41774365950831),
   np.float64(8.41774365950831),
   np.float64(8.277027027027026)],
  [np.float64(7.392857142857142),
   np.float64(8.813728409767721),
   np.float64(8.813728409767721),
   np.float64(8.41774365950831)],
  [np.float64(7.9411764705882355),
   np.float64(9.02206349206349),
   np.float64(9.02206349206349),
   np.float64(8.813728409767721)],
  [np.float64(8.396217418944692),
   np.float64(9.128375463721852),
   np.float64(9.128375463721852),
   np.float64(9.02206349206349)],
  [np.float64(7.916666666666667),
   np.float64(9.69367050272562),
   np.float64(9.69367050272562),
   np.float64(9.128375463721852)],
  [np.float64(3.0),
   np.float64(11.73217550274223),
   np.float64(11.73217550274223),
   np.float64(9.69367050272562)],
  [np.float64(11.176470588235293),
   np.float64(12.097899922219339),
   np.float64(12.097899922219339),
   np.float64(11.73217550274223)]],
 'ivl': ['12',
  '196',
  '34',
  '218',
  '47',
  '231',
  '88',
  '268',
  '516',
  '480',
  '29',
  '213',
  '354',
  '555',
  '484',
  '91',
  '271',
  '448',
  '534',
  '101',
  '280',
  '64',
  '247',
  '406',
  '607',
  '458',
  '9',
  '193',
  '130',
  '304',
  '5',
  '189',
  '548',
  '395',
  '596',
  '16',
  '200',
  '430',
  '438',
  '439',
  '443',
  '385',
  '586',
  '436',
  '361',
  '562',
  '407',
  '608',
  '447',
  '403',
  '604',
  '422',
  '496',
  '359',
  '560',
  '520',
  '457',
  '98',
  '277',
  '155',
  '323',
  '468',
  '369',
  '570',
  '373',
  '574',
  '380',
  '581',
  '424',
  '440',
  '35',
  '219',
  '370',
  '571',
  '145',
  '6',
  '190',
  '404',
  '605',
  '513',
  '371',
  '572',
  '515',
  '414',
  '615',
  '42',
  '226',
  '83',
  '263',
  '477',
  '140',
  '313',
  '503',
  '356',
  '557',
  '543',
  '160',
  '328',
  '392',
  '593',
  '451',
  '492',
  '478',
  '618',
  '602',
  '401',
  '417',
  '133',
  '71',
  '473',
  '540',
  '383',
  '584',
  '538',
  '162',
  '330',
  '408',
  '609',
  '387',
  '588',
  '63',
  '246',
  '89',
  '269',
  '85',
  '265',
  '97',
  '276',
  '353',
  '554',
  '433',
  '498',
  '493',
  '531',
  '72',
  '253',
  '166',
  '334',
  '363',
  '564',
  '68',
  '250',
  '81',
  '262',
  '82',
  '27',
  '211',
  '124',
  '298',
  '432',
  '179',
  '347',
  '412',
  '613',
  '398',
  '599',
  '491',
  '59',
  '242',
  '15',
  '199',
  '425',
  '153',
  '321',
  '4',
  '188',
  '122',
  '296',
  '109',
  '287',
  '107',
  '138',
  '311',
  '434',
  '3',
  '187',
  '358',
  '559',
  '125',
  '299',
  '522',
  '28',
  '212',
  '118',
  '56',
  '239',
  '508',
  '527',
  '65',
  '248',
  '485',
  '482',
  '315',
  '201',
  '17',
  '143',
  '471',
  '75',
  '256',
  '111',
  '77',
  '258',
  '420',
  '36',
  '220',
  '70',
  '252',
  '181',
  '349',
  '78',
  '259',
  '180',
  '348',
  '374',
  '575',
  '183',
  '351',
  '549',
  '375',
  '576',
  '450',
  '462',
  '44',
  '228',
  '579',
  '378',
  '463',
  '74',
  '255',
  '127',
  '301',
  '429',
  '116',
  '292',
  '76',
  '257',
  '437',
  '419',
  '620',
  '455',
  '55',
  '238',
  '84',
  '264',
  '51',
  '235',
  '110',
  '131',
  '305',
  '139',
  '312',
  '176',
  '344',
  '528',
  '148',
  '318',
  '115',
  '291',
  '126',
  '300',
  '537',
  '552',
  '33',
  '217',
  '119',
  '481',
  '170',
  '338',
  '1',
  '185',
  '13',
  '197',
  '539',
  '530',
  '31',
  '215',
  '152',
  '129',
  '303',
  '309',
  '184',
  '0',
  '136',
  '475',
  '164',
  '332',
  '525',
  '366',
  '567',
  '376',
  '577',
  '32',
  '216',
  '43',
  '227',
  '135',
  '308',
  '362',
  '563',
  '545',
  '52',
  '236',
  '25',
  '209',
  '69',
  '251',
  '175',
  '343',
  '547',
  '400',
  '601',
  '445',
  '80',
  '261',
  '442',
  '167',
  '335',
  '365',
  '566',
  '465',
  '411',
  '612',
  '38',
  '222',
  '39',
  '223',
  '546',
  '460',
  '532',
  '100',
  '279',
  '96',
  '275',
  '428',
  '86',
  '266',
  '427',
  '580',
  '379',
  '157',
  '325',
  '381',
  '582',
  '14',
  '198',
  '73',
  '254',
  '61',
  '244',
  '382',
  '583',
  '470',
  '128',
  '302',
  '150',
  '319',
  '483',
  '396',
  '597',
  '569',
  '368',
  '2',
  '186',
  '174',
  '342',
  '405',
  '606',
  '177',
  '345',
  '409',
  '610',
  '113',
  '289',
  '360',
  '561',
  '10',
  '194',
  '45',
  '229',
  '112',
  '288',
  '541',
  '30',
  '214',
  '544',
  '94',
  '273',
  '510',
  '58',
  '241',
  '147',
  '317',
  '134',
  '307',
  '418',
  '619',
  '151',
  '320',
  '367',
  '568',
  '316',
  '282',
  '103',
  '144',
  '19',
  '203',
  '104',
  '283',
  '490',
  '529',
  '49',
  '233',
  '431',
  '393',
  '594',
  '533',
  '79',
  '260',
  '454',
  '168',
  '336',
  '106',
  '285',
  '158',
  '326',
  '459',
  '23',
  '207',
  '8',
  '192',
  '50',
  '234',
  '509',
  '182',
  '350',
  '466',
  '413',
  '614',
  '357',
  '558',
  '24',
  '208',
  '7',
  '191',
  '90',
  '270',
  '324',
  '322',
  '154',
  '156',
  '26',
  '210',
  '132',
  '306',
  '173',
  '341',
  '506',
  '48',
  '232',
  '542',
  '41',
  '225',
  '472',
  '391',
  '592',
  '402',
  '603',
  '60',
  '243',
  '171',
  '339',
  '507',
  '178',
  '346',
  '364',
  '565',
  '499',
  '105',
  '284',
  '514',
  '18',
  '202',
  '99',
  '278',
  '102',
  '281',
  '397',
  '598',
  '95',
  '274',
  '386',
  '587',
  '21',
  '205',
  '502',
  '394',
  '595',
  '479',
  '495',
  '149',
  '474',
  '505',
  '456',
  '92',
  '272',
  '159',
  '327',
  '489',
  '535',
  '415',
  '616',
  '452',
  '53',
  '237',
  '37',
  '221',
  '142',
  '314',
  '461',
  '500',
  '123',
  '297',
  '521',
  '141',
  '377',
  '578',
  '121',
  '295',
  '524',
  '421',
  '114',
  '290',
  '57',
  '240',
  '469',
  '137',
  '310',
  '120',
  '294',
  '54',
  '487',
  '536',
  '416',
  '617',
  '488',
  '523',
  '551',
  '67',
  '511',
  '352',
  '553',
  '384',
  '585',
  '449',
  '494',
  '486',
  '435',
  '40',
  '224',
  '108',
  '286',
  '517',
  '172',
  '340',
  '446',
  '66',
  '249',
  '117',
  '293',
  '476',
  '46',
  '230',
  '169',
  '337',
  '161',
  '329',
  '11',
  '195',
  '165',
  '333',
  '20',
  '204',
  '526',
  '399',
  '600',
  '518',
  '146',
  '389',
  '590',
  '410',
  '611',
  '467',
  '93',
  '441',
  '62',
  '245',
  '372',
  '573',
  '453',
  '504',
  '163',
  '331',
  '426',
  '22',
  '206',
  '464',
  '512',
  '87',
  '267',
  '501',
  '388',
  '589',
  '390',
  '591',
  '550',
  '355',
  '556',
  '423',
  '497',
  '444',
  '519'],
 'leaves': [12,
  196,
  34,
  218,
  47,
  231,
  88,
  268,
  516,
  480,
  29,
  213,
  354,
  555,
  484,
  91,
  271,
  448,
  534,
  101,
  280,
  64,
  247,
  406,
  607,
  458,
  9,
  193,
  130,
  304,
  5,
  189,
  548,
  395,
  596,
  16,
  200,
  430,
  438,
  439,
  443,
  385,
  586,
  436,
  361,
  562,
  407,
  608,
  447,
  403,
  604,
  422,
  496,
  359,
  560,
  520,
  457,
  98,
  277,
  155,
  323,
  468,
  369,
  570,
  373,
  574,
  380,
  581,
  424,
  440,
  35,
  219,
  370,
  571,
  145,
  6,
  190,
  404,
  605,
  513,
  371,
  572,
  515,
  414,
  615,
  42,
  226,
  83,
  263,
  477,
  140,
  313,
  503,
  356,
  557,
  543,
  160,
  328,
  392,
  593,
  451,
  492,
  478,
  618,
  602,
  401,
  417,
  133,
  71,
  473,
  540,
  383,
  584,
  538,
  162,
  330,
  408,
  609,
  387,
  588,
  63,
  246,
  89,
  269,
  85,
  265,
  97,
  276,
  353,
  554,
  433,
  498,
  493,
  531,
  72,
  253,
  166,
  334,
  363,
  564,
  68,
  250,
  81,
  262,
  82,
  27,
  211,
  124,
  298,
  432,
  179,
  347,
  412,
  613,
  398,
  599,
  491,
  59,
  242,
  15,
  199,
  425,
  153,
  321,
  4,
  188,
  122,
  296,
  109,
  287,
  107,
  138,
  311,
  434,
  3,
  187,
  358,
  559,
  125,
  299,
  522,
  28,
  212,
  118,
  56,
  239,
  508,
  527,
  65,
  248,
  485,
  482,
  315,
  201,
  17,
  143,
  471,
  75,
  256,
  111,
  77,
  258,
  420,
  36,
  220,
  70,
  252,
  181,
  349,
  78,
  259,
  180,
  348,
  374,
  575,
  183,
  351,
  549,
  375,
  576,
  450,
  462,
  44,
  228,
  579,
  378,
  463,
  74,
  255,
  127,
  301,
  429,
  116,
  292,
  76,
  257,
  437,
  419,
  620,
  455,
  55,
  238,
  84,
  264,
  51,
  235,
  110,
  131,
  305,
  139,
  312,
  176,
  344,
  528,
  148,
  318,
  115,
  291,
  126,
  300,
  537,
  552,
  33,
  217,
  119,
  481,
  170,
  338,
  1,
  185,
  13,
  197,
  539,
  530,
  31,
  215,
  152,
  129,
  303,
  309,
  184,
  0,
  136,
  475,
  164,
  332,
  525,
  366,
  567,
  376,
  577,
  32,
  216,
  43,
  227,
  135,
  308,
  362,
  563,
  545,
  52,
  236,
  25,
  209,
  69,
  251,
  175,
  343,
  547,
  400,
  601,
  445,
  80,
  261,
  442,
  167,
  335,
  365,
  566,
  465,
  411,
  612,
  38,
  222,
  39,
  223,
  546,
  460,
  532,
  100,
  279,
  96,
  275,
  428,
  86,
  266,
  427,
  580,
  379,
  157,
  325,
  381,
  582,
  14,
  198,
  73,
  254,
  61,
  244,
  382,
  583,
  470,
  128,
  302,
  150,
  319,
  483,
  396,
  597,
  569,
  368,
  2,
  186,
  174,
  342,
  405,
  606,
  177,
  345,
  409,
  610,
  113,
  289,
  360,
  561,
  10,
  194,
  45,
  229,
  112,
  288,
  541,
  30,
  214,
  544,
  94,
  273,
  510,
  58,
  241,
  147,
  317,
  134,
  307,
  418,
  619,
  151,
  320,
  367,
  568,
  316,
  282,
  103,
  144,
  19,
  203,
  104,
  283,
  490,
  529,
  49,
  233,
  431,
  393,
  594,
  533,
  79,
  260,
  454,
  168,
  336,
  106,
  285,
  158,
  326,
  459,
  23,
  207,
  8,
  192,
  50,
  234,
  509,
  182,
  350,
  466,
  413,
  614,
  357,
  558,
  24,
  208,
  7,
  191,
  90,
  270,
  324,
  322,
  154,
  156,
  26,
  210,
  132,
  306,
  173,
  341,
  506,
  48,
  232,
  542,
  41,
  225,
  472,
  391,
  592,
  402,
  603,
  60,
  243,
  171,
  339,
  507,
  178,
  346,
  364,
  565,
  499,
  105,
  284,
  514,
  18,
  202,
  99,
  278,
  102,
  281,
  397,
  598,
  95,
  274,
  386,
  587,
  21,
  205,
  502,
  394,
  595,
  479,
  495,
  149,
  474,
  505,
  456,
  92,
  272,
  159,
  327,
  489,
  535,
  415,
  616,
  452,
  53,
  237,
  37,
  221,
  142,
  314,
  461,
  500,
  123,
  297,
  521,
  141,
  377,
  578,
  121,
  295,
  524,
  421,
  114,
  290,
  57,
  240,
  469,
  137,
  310,
  120,
  294,
  54,
  487,
  536,
  416,
  617,
  488,
  523,
  551,
  67,
  511,
  352,
  553,
  384,
  585,
  449,
  494,
  486,
  435,
  40,
  224,
  108,
  286,
  517,
  172,
  340,
  446,
  66,
  249,
  117,
  293,
  476,
  46,
  230,
  169,
  337,
  161,
  329,
  11,
  195,
  165,
  333,
  20,
  204,
  526,
  399,
  600,
  518,
  146,
  389,
  590,
  410,
  611,
  467,
  93,
  441,
  62,
  245,
  372,
  573,
  453,
  504,
  163,
  331,
  426,
  22,
  206,
  464,
  512,
  87,
  267,
  501,
  388,
  589,
  390,
  591,
  550,
  355,
  556,
  423,
  497,
  444,
  519],
 'color_list': ['C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C0',
  'C0',
  'C4',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C0',
  'C0',
  'C6',
  'C6',
  'C6',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C0',
  'C0',
  'C0',
  'C0',
  'C0',
  'C0'],
 'leaves_color_list': ['C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C3',
  'C4',
  'C4',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C5',
  'C6',
  'C6',
  'C6',
  'C6',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C7',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C8',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C9',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2',
  'C2']}
No description has been provided for this image
In [232]:
plt.figure(figsize=(10, 7))
dendrogram(Z, truncate_mode='lastp', p=30)  # show last 30 merges
plt.title('Hierarchical Clustering Dendrogram (Truncated)')
plt.xlabel('Cluster Size')
plt.ylabel('Distance')
plt.show()
No description has been provided for this image
In [234]:
plt.figure(figsize=(10, 10))
dendrogram(Z, orientation='left', truncate_mode='lastp', p=20)
plt.title('Dendrogram (Horizontal)')
plt.xlabel('Distance')
plt.show()
No description has been provided for this image
In [ ]: