Problem 3

Consider the Gini index, classification error, and entropy in a simple classification setting with two classes. Create a single plot that displays each of these quantities as a function of pˆm1. The x-axis should display pˆm1, ranging from 0 to 1, and the y-axis should display the value of the Gini index, classification error, and entropy. Hint: In a setting with two classes, pˆm1 =1 − pˆm2. You could make this plot by hand, but it will be much easier to make in R

p=seq(0,1,0.0001)
#Gini
G=2*p*(1-p)
#Classification Error
E=1-pmax(p,1-p)
#Entropy
D=-(p*log(p) + (1-p)*log(1-p))

plot(p,D, col="red",ylab="")
lines(p,E,col='green')
lines(p,G,col='blue')
legend(0.3,0.15,c("Entropy", "Missclassification","Gini"),lty=c(1,1,1),lwd=c(2.5,2.5,2.5),col=c('red','green','blue'))

Problem 8

In the lab, a classification tree was applied to the Carseats data set after converting Sales into a qualitative response variable. Now we will seek to predict Sales using regression trees and related approaches, treating the response as a quantitative variable.

  1. Split the data set into a training set and a test set.
library(ISLR2)
## Warning: package 'ISLR2' was built under R version 4.3.3
library(caret)
## Warning: package 'caret' was built under R version 4.3.3
## Loading required package: ggplot2
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 4.3.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'tibble' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'readr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.1     ✔ stringr   1.5.1
## ✔ lubridate 1.9.4     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ purrr::lift()   masks caret::lift()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(rpart)
## Warning: package 'rpart' was built under R version 4.3.3
library(DT)
library(rpart.plot)
library(randomForest)
## Warning: package 'randomForest' was built under R version 4.3.3
## randomForest 4.7-1.2
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## 
## The following object is masked from 'package:dplyr':
## 
##     combine
## 
## The following object is masked from 'package:ggplot2':
## 
##     margin
library(xgboost)
## Warning: package 'xgboost' was built under R version 4.3.3
## 
## Attaching package: 'xgboost'
## 
## The following object is masked from 'package:dplyr':
## 
##     slice
library(themis)
## Warning: package 'themis' was built under R version 4.3.3
## Loading required package: recipes
## 
## Attaching package: 'recipes'
## 
## The following object is masked from 'package:stringr':
## 
##     fixed
## 
## The following object is masked from 'package:stats':
## 
##     step
library(recipes)

data(Carseats)
head(Carseats)
##   Sales CompPrice Income Advertising Population Price ShelveLoc Age Education
## 1  9.50       138     73          11        276   120       Bad  42        17
## 2 11.22       111     48          16        260    83      Good  65        10
## 3 10.06       113     35          10        269    80    Medium  59        12
## 4  7.40       117    100           4        466    97    Medium  55        14
## 5  4.15       141     64           3        340   128       Bad  38        13
## 6 10.81       124    113          13        501    72       Bad  78        16
##   Urban  US
## 1   Yes Yes
## 2   Yes Yes
## 3   Yes Yes
## 4   Yes Yes
## 5   Yes  No
## 6    No Yes
train_idx <- createDataPartition(Carseats$Sales, p = .8, list = FALSE)
train_df <- Carseats[train_idx, ]
test_df <- Carseats[-train_idx, ]
  1. Fit a regression tree to the training set. Plot the tree, and interpret the results. What test MSE do you obtain?
no_cv <- trainControl(method = "none")

set.seed(42)
tree_full <- train(
  Sales ~ .,
  data = test_df,
  method = "rpart",
  trControl = no_cv,
  tuneGrid = data.frame(cp = 0)
)

rpart.plot(tree_full$finalModel, type = 2, fallen.leaves = TRUE)

pred.full <- predict(tree_full, newdata = test_df)
print(mean((pred.full - test_df$Sales)^2))
## [1] 3.573815
  1. Use cross-validation in order to determine the optimal level of tree complexity. Does pruning the tree improve the test MSE?
cv <- trainControl(method = "cv", number = 10)

set.seed(42)
cv_tree <- train(
  Sales ~ .,
  data = train_df,
  method = "rpart",
  trControl = cv,
  tuneLength = 10 
)
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo,
## : There were missing values in resampled performance measures.
rpart.plot(cv_tree$finalModel, type = 2, fallen.leaves = TRUE)

pred.pruned <- predict(cv_tree, newdata = test_df)
print(mean((pred.pruned- test_df$Sales)^2))
## [1] 4.109234
  1. Use the bagging approach in order to analyze this data. What test MSE do you obtain? Use the feature_importance_ values to determine which variables are most important.
set.seed(1)
bag_fit <- train(
  Sales ~ .,
  data = train_df,
  method = "treebag",
  trControl = cv,
  importance = TRUE
)

pred_bag <- predict(bag_fit, newdata = test_df)
mse_bag <- mean((pred_bag - test_df$Sales)^2)
print(mse_bag)
## [1] 3.125146
varImp(bag_fit)
## treebag variable importance
## 
##                   Overall
## Price           100.00000
## Age              82.66471
## CompPrice        74.29577
## Advertising      68.50321
## Income           53.53561
## Population       30.16667
## Education        24.54921
## ShelveLocMedium  21.34672
## USYes             7.96713
## ShelveLocGood     0.09579
## UrbanYes          0.00000
plot(varImp(bag_fit))

  1. Use random forests to analyze this data. What test MSE do you obtain? Use the feature_importance_ values to determine which variables are most important. Describe the effect of m, the number of variables considered at each split, on the error rate obtained.
set.seed(42)
rf_fit <- train(
  Sales ~ .,
  data = train_df,
  method = "rf",
  trControl = cv,
  importance = TRUE,
  tuneGrid = expand.grid(mtry = 1:10) 
)

print(rf_fit$bestTune$mtry)
## [1] 10
pred_rf <- predict(rf_fit, newdata = test_df)
mse_rf <- mean((pred_rf - test_df$Sales)^2)
print(mse_rf)
## [1] 2.608174
varImp(rf_fit)
## rf variable importance
## 
##                 Overall
## ShelveLocGood   100.000
## Price            86.130
## CompPrice        47.692
## ShelveLocMedium  40.086
## Advertising      37.785
## Age              30.136
## Income           12.934
## Education        11.463
## USYes            10.729
## UrbanYes          6.415
## Population        0.000
plot(varImp(rf_fit))

  1. Now analyze the data using BART, and report your results
library(BART)
## Warning: package 'BART' was built under R version 4.3.3
## Loading required package: nlme
## Warning: package 'nlme' was built under R version 4.3.3
## 
## Attaching package: 'nlme'
## The following object is masked from 'package:dplyr':
## 
##     collapse
## Loading required package: survival
## Warning: package 'survival' was built under R version 4.3.3
## 
## Attaching package: 'survival'
## The following object is masked from 'package:caret':
## 
##     cluster
x_train <- train_df[, -1]
y_train <- train_df$Sales
x_test  <- test_df[, -1]
y_test  <- test_df$Sales

set.seed(1)
bart_fit <- gbart(x_train, y_train, x.test = x_test)
## *****Calling gbart: type=1
## *****Data:
## data:n,p,np: 321, 14, 79
## y1,yn: 1.954953, 2.164953
## x1,x[n*p]: 138.000000, 1.000000
## xp1,xp[np*p]: 111.000000, 0.000000
## *****Number of Trees: 200
## *****Number of Cut Points: 70 ... 1
## *****burn,nd,thin: 100,1000,1
## *****Prior:beta,alpha,tau,nu,lambda,offset: 2,0.95,0.287616,3,0.187591,7.54505
## *****sigma: 0.981343
## *****w (weights): 1.000000 ... 1.000000
## *****Dirichlet:sparse,theta,omega,a,b,rho,augment: 0,0,1,0.5,1,14,0
## *****printevery: 100
## 
## MCMC
## done 0 (out of 1100)
## done 100 (out of 1100)
## done 200 (out of 1100)
## done 300 (out of 1100)
## done 400 (out of 1100)
## done 500 (out of 1100)
## done 600 (out of 1100)
## done 700 (out of 1100)
## done 800 (out of 1100)
## done 900 (out of 1100)
## done 1000 (out of 1100)
## time: 3s
## trcnt,tecnt: 1000,1000
pred_bart <- bart_fit$yhat.test.mean
mse_bart <- mean((pred_bart - y_test)^2)
print(mse_bart)
## [1] 1.687287

Problem 9

This problem involves the OJ data set which is part of the ISLP package.

  1. Create a training set containing a random sample of 800 observations, and a test set containing the remaining observations.
data(OJ)
head(OJ)
##   Purchase WeekofPurchase StoreID PriceCH PriceMM DiscCH DiscMM SpecialCH
## 1       CH            237       1    1.75    1.99   0.00    0.0         0
## 2       CH            239       1    1.75    1.99   0.00    0.3         0
## 3       CH            245       1    1.86    2.09   0.17    0.0         0
## 4       MM            227       1    1.69    1.69   0.00    0.0         0
## 5       CH            228       7    1.69    1.69   0.00    0.0         0
## 6       CH            230       7    1.69    1.99   0.00    0.0         0
##   SpecialMM  LoyalCH SalePriceMM SalePriceCH PriceDiff Store7 PctDiscMM
## 1         0 0.500000        1.99        1.75      0.24     No  0.000000
## 2         1 0.600000        1.69        1.75     -0.06     No  0.150754
## 3         0 0.680000        2.09        1.69      0.40     No  0.000000
## 4         0 0.400000        1.69        1.69      0.00     No  0.000000
## 5         0 0.956535        1.69        1.69      0.00    Yes  0.000000
## 6         1 0.965228        1.99        1.69      0.30    Yes  0.000000
##   PctDiscCH ListPriceDiff STORE
## 1  0.000000          0.24     1
## 2  0.000000          0.24     1
## 3  0.091398          0.23     1
## 4  0.000000          0.00     1
## 5  0.000000          0.00     0
## 6  0.000000          0.30     0
set.seed(42)
train_idx.oj <- sample(1:nrow(OJ), 800)

OJ_train <- OJ[train_idx.oj, ]
OJ_test  <- OJ[-train_idx.oj, ]
  1. Fit a tree to the training data, with Purchase as the response and the other variables as predictors. What is the training error rate?
ctrl <- trainControl(method = "none") 
tree_fit <- train(Purchase ~ ., data = OJ_train,
                   method = "rpart",
                   trControl = ctrl,
                   tuneGrid = data.frame(cp = 0.001))

train_pred <- predict(tree_fit, OJ_train)
train_err  <- mean(train_pred != OJ_train$Purchase)
print(train_err)
## [1] 0.1325
  1. Create a plot of the tree, and interpret the results. How many terminal nodes does the tree have?
rpart.plot(tree_fit$finalModel, extra = 104, fallen.leaves = TRUE)

n_terminal <- sum(tree_fit$finalModel$frame$var == "<leaf>")
print(n_terminal)
## [1] 18
  1. Use the export_tree() function to produce a text summary of the fitted tree. Pick one of the terminal nodes, and interpret the information displayed.
print(tree_fit$finalModel)          
## n= 800 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##   1) root 800 308 CH (0.61500000 0.38500000)  
##     2) LoyalCH>=0.48285 515  84 CH (0.83689320 0.16310680)  
##       4) LoyalCH>=0.705699 313  19 CH (0.93929712 0.06070288)  
##         8) PriceDiff>=-0.39 298  11 CH (0.96308725 0.03691275) *
##         9) PriceDiff< -0.39 15   7 MM (0.46666667 0.53333333) *
##       5) LoyalCH< 0.705699 202  65 CH (0.67821782 0.32178218)  
##        10) ListPriceDiff>=0.235 120  22 CH (0.81666667 0.18333333)  
##          20) PriceDiff>=0.31 40   2 CH (0.95000000 0.05000000) *
##          21) PriceDiff< 0.31 80  20 CH (0.75000000 0.25000000)  
##            42) StoreID>=2.5 56   9 CH (0.83928571 0.16071429) *
##            43) StoreID< 2.5 24  11 CH (0.54166667 0.45833333)  
##              86) LoyalCH< 0.635456 17   6 CH (0.64705882 0.35294118) *
##              87) LoyalCH>=0.635456 7   2 MM (0.28571429 0.71428571) *
##        11) ListPriceDiff< 0.235 82  39 MM (0.47560976 0.52439024)  
##          22) PctDiscCH>=0.052007 12   1 CH (0.91666667 0.08333333) *
##          23) PctDiscCH< 0.052007 70  28 MM (0.40000000 0.60000000)  
##            46) LoyalCH>=0.5945395 41  20 MM (0.48780488 0.51219512)  
##              92) DiscMM< 0.3 27  11 CH (0.59259259 0.40740741)  
##               184) ListPriceDiff>=0.115 8   1 CH (0.87500000 0.12500000) *
##               185) ListPriceDiff< 0.115 19   9 MM (0.47368421 0.52631579) *
##              93) DiscMM>=0.3 14   4 MM (0.28571429 0.71428571) *
##            47) LoyalCH< 0.5945395 29   8 MM (0.27586207 0.72413793)  
##              94) StoreID>=2.5 13   6 CH (0.53846154 0.46153846) *
##              95) StoreID< 2.5 16   1 MM (0.06250000 0.93750000) *
##     3) LoyalCH< 0.48285 285  61 MM (0.21403509 0.78596491)  
##       6) LoyalCH>=0.2761415 127  45 MM (0.35433071 0.64566929)  
##        12) SalePriceMM>=2.04 51  24 CH (0.52941176 0.47058824)  
##          24) PriceMM< 2.155 20   6 CH (0.70000000 0.30000000) *
##          25) PriceMM>=2.155 31  13 MM (0.41935484 0.58064516)  
##            50) LoyalCH>=0.424473 7   2 CH (0.71428571 0.28571429) *
##            51) LoyalCH< 0.424473 24   8 MM (0.33333333 0.66666667) *
##        13) SalePriceMM< 2.04 76  18 MM (0.23684211 0.76315789)  
##          26) SpecialCH>=0.5 13   5 CH (0.61538462 0.38461538) *
##          27) SpecialCH< 0.5 63  10 MM (0.15873016 0.84126984) *
##       7) LoyalCH< 0.2761415 158  16 MM (0.10126582 0.89873418) *
summary(tree_fit$finalModel) 
## Call:
## (function (formula, data, weights, subset, na.action = na.rpart, 
##     method, model = FALSE, x = FALSE, y = TRUE, parms, control, 
##     cost, ...) 
## {
##     Call <- match.call()
##     if (is.data.frame(model)) {
##         m <- model
##         model <- FALSE
##     }
##     else {
##         indx <- match(c("formula", "data", "weights", "subset"), 
##             names(Call), nomatch = 0)
##         if (indx[1] == 0) 
##             stop("a 'formula' argument is required")
##         temp <- Call[c(1, indx)]
##         temp$na.action <- na.action
##         temp[[1]] <- quote(stats::model.frame)
##         m <- eval.parent(temp)
##     }
##     Terms <- attr(m, "terms")
##     if (any(attr(Terms, "order") > 1)) 
##         stop("Trees cannot handle interaction terms")
##     Y <- model.response(m)
##     wt <- model.weights(m)
##     if (any(wt < 0)) 
##         stop("negative weights not allowed")
##     if (!length(wt)) 
##         wt <- rep(1, nrow(m))
##     offset <- model.offset(m)
##     X <- rpart.matrix(m)
##     nobs <- nrow(X)
##     nvar <- ncol(X)
##     if (missing(method)) {
##         method <- if (is.factor(Y) || is.character(Y)) 
##             "class"
##         else if (inherits(Y, "Surv")) 
##             "exp"
##         else if (is.matrix(Y)) 
##             "poisson"
##         else "anova"
##     }
##     if (is.list(method)) {
##         mlist <- method
##         method <- "user"
##         init <- if (missing(parms)) 
##             mlist$init(Y, offset, wt = wt)
##         else mlist$init(Y, offset, parms, wt)
##         keep <- rpartcallback(mlist, nobs, init)
##         method.int <- 4
##         parms <- init$parms
##     }
##     else {
##         method.int <- pmatch(method, c("anova", "poisson", "class", 
##             "exp"))
##         if (is.na(method.int)) 
##             stop("Invalid method")
##         method <- c("anova", "poisson", "class", "exp")[method.int]
##         if (method.int == 4) 
##             method.int <- 2
##         init <- if (missing(parms)) 
##             get(paste("rpart", method, sep = "."), envir = environment())(Y, 
##                 offset, , wt)
##         else get(paste("rpart", method, sep = "."), envir = environment())(Y, 
##             offset, parms, wt)
##         ns <- asNamespace("rpart")
##         if (!is.null(init$print)) 
##             environment(init$print) <- ns
##         if (!is.null(init$summary)) 
##             environment(init$summary) <- ns
##         if (!is.null(init$text)) 
##             environment(init$text) <- ns
##     }
##     Y <- init$y
##     xlevels <- .getXlevels(Terms, m)
##     cats <- rep(0, ncol(X))
##     if (!is.null(xlevels)) {
##         indx <- match(names(xlevels), colnames(X), nomatch = 0)
##         cats[indx] <- (unlist(lapply(xlevels, length)))[indx > 
##             0]
##     }
##     extraArgs <- list(...)
##     if (length(extraArgs)) {
##         controlargs <- names(formals(rpart.control))
##         indx <- match(names(extraArgs), controlargs, nomatch = 0)
##         if (any(indx == 0)) 
##             stop(gettextf("Argument %s not matched", names(extraArgs)[indx == 
##                 0]), domain = NA)
##     }
##     controls <- rpart.control(...)
##     if (!missing(control)) {
##         if (!all(names(control) %in% names(controls))) 
##             stop("unkown named elements in 'control'")
##         controls <- do.call(rpart.control, control)
##     }
##     xval <- controls$xval
##     if (is.null(xval) || (length(xval) == 1 && xval == 0) || 
##         method == "user") {
##         xgroups <- 0
##         xval <- 0
##     }
##     else if (length(xval) == 1) {
##         xgroups <- sample(rep(1:xval, length.out = nobs), nobs, 
##             replace = FALSE)
##     }
##     else if (length(xval) == nobs) {
##         xgroups <- xval
##         xval <- length(unique(xgroups))
##     }
##     else {
##         if (!is.null(attr(m, "na.action"))) {
##             temp <- as.integer(attr(m, "na.action"))
##             xval <- xval[-temp]
##             if (length(xval) == nobs) {
##                 xgroups <- xval
##                 xval <- length(unique(xgroups))
##             }
##             else stop("Wrong length for 'xval'")
##         }
##         else stop("Wrong length for 'xval'")
##     }
##     if (missing(cost)) 
##         cost <- rep(1, nvar)
##     else {
##         if (length(cost) != nvar) 
##             stop("Cost vector is the wrong length")
##         if (any(cost <= 0)) 
##             stop("Cost vector must be positive")
##     }
##     tfun <- function(x) if (is.matrix(x)) 
##         rep(is.ordered(x), ncol(x))
##     else is.ordered(x)
##     labs <- sub("^`(.*)`$", "\\1", attr(Terms, "term.labels"))
##     isord <- unlist(lapply(m[labs], tfun))
##     storage.mode(X) <- "double"
##     storage.mode(wt) <- "double"
##     temp <- as.double(unlist(init$parms))
##     if (!length(temp)) 
##         temp <- 0
##     rpfit <- .Call(C_rpart, ncat = as.integer(cats * !isord), 
##         method = as.integer(method.int), as.double(unlist(controls)), 
##         temp, as.integer(xval), as.integer(xgroups), as.double(t(init$y)), 
##         X, wt, as.integer(init$numy), as.double(cost))
##     nsplit <- nrow(rpfit$isplit)
##     ncat <- if (!is.null(rpfit$csplit)) 
##         nrow(rpfit$csplit)
##     else 0
##     if (nsplit == 0) 
##         xval <- 0
##     numcp <- ncol(rpfit$cptable)
##     temp <- if (nrow(rpfit$cptable) == 3) 
##         c("CP", "nsplit", "rel error")
##     else c("CP", "nsplit", "rel error", "xerror", "xstd")
##     dimnames(rpfit$cptable) <- list(temp, 1:numcp)
##     tname <- c("<leaf>", colnames(X))
##     splits <- matrix(c(rpfit$isplit[, 2:3], rpfit$dsplit), ncol = 5, 
##         dimnames = list(tname[rpfit$isplit[, 1] + 1], c("count", 
##             "ncat", "improve", "index", "adj")))
##     index <- rpfit$inode[, 2]
##     nadd <- sum(isord[rpfit$isplit[, 1]])
##     if (nadd > 0) {
##         newc <- matrix(0, nadd, max(cats))
##         cvar <- rpfit$isplit[, 1]
##         indx <- isord[cvar]
##         cdir <- splits[indx, 2]
##         ccut <- floor(splits[indx, 4])
##         splits[indx, 2] <- cats[cvar[indx]]
##         splits[indx, 4] <- ncat + 1:nadd
##         for (i in 1:nadd) {
##             newc[i, 1:(cats[(cvar[indx])[i]])] <- -as.integer(cdir[i])
##             newc[i, 1:ccut[i]] <- as.integer(cdir[i])
##         }
##         catmat <- if (ncat == 0) 
##             newc
##         else {
##             cs <- rpfit$csplit
##             ncs <- ncol(cs)
##             ncc <- ncol(newc)
##             if (ncs < ncc) 
##                 cs <- cbind(cs, matrix(0, nrow(cs), ncc - ncs))
##             rbind(cs, newc)
##         }
##         ncat <- ncat + nadd
##     }
##     else catmat <- rpfit$csplit
##     if (nsplit == 0) {
##         frame <- data.frame(row.names = 1, var = "<leaf>", n = rpfit$inode[, 
##             5], wt = rpfit$dnode[, 3], dev = rpfit$dnode[, 1], 
##             yval = rpfit$dnode[, 4], complexity = rpfit$dnode[, 
##                 2], ncompete = 0, nsurrogate = 0)
##     }
##     else {
##         temp <- ifelse(index == 0, 1, index)
##         svar <- ifelse(index == 0, 0, rpfit$isplit[temp, 1])
##         frame <- data.frame(row.names = rpfit$inode[, 1], var = tname[svar + 
##             1], n = rpfit$inode[, 5], wt = rpfit$dnode[, 3], 
##             dev = rpfit$dnode[, 1], yval = rpfit$dnode[, 4], 
##             complexity = rpfit$dnode[, 2], ncompete = pmax(0, 
##                 rpfit$inode[, 3] - 1), nsurrogate = rpfit$inode[, 
##                 4])
##     }
##     if (method.int == 3) {
##         numclass <- init$numresp - 2
##         nodeprob <- rpfit$dnode[, numclass + 5]/sum(wt)
##         temp <- pmax(1, init$counts)
##         temp <- rpfit$dnode[, 4 + (1:numclass)] %*% diag(init$parms$prior/temp)
##         yprob <- temp/rowSums(temp)
##         yval2 <- matrix(rpfit$dnode[, 4 + (0:numclass)], ncol = numclass + 
##             1)
##         frame$yval2 <- cbind(yval2, yprob, nodeprob)
##     }
##     else if (init$numresp > 1) 
##         frame$yval2 <- rpfit$dnode[, -(1:3), drop = FALSE]
##     if (is.null(init$summary)) 
##         stop("Initialization routine is missing the 'summary' function")
##     functions <- if (is.null(init$print)) 
##         list(summary = init$summary)
##     else list(summary = init$summary, print = init$print)
##     if (!is.null(init$text)) 
##         functions <- c(functions, list(text = init$text))
##     if (method == "user") 
##         functions <- c(functions, mlist)
##     where <- rpfit$which
##     names(where) <- row.names(m)
##     ans <- list(frame = frame, where = where, call = Call, terms = Terms, 
##         cptable = t(rpfit$cptable), method = method, parms = init$parms, 
##         control = controls, functions = functions, numresp = init$numresp)
##     if (nsplit) 
##         ans$splits = splits
##     if (ncat > 0) 
##         ans$csplit <- catmat + 2
##     if (nsplit) 
##         ans$variable.importance <- importance(ans)
##     if (model) {
##         ans$model <- m
##         if (missing(y)) 
##             y <- FALSE
##     }
##     if (y) 
##         ans$y <- Y
##     if (x) {
##         ans$x <- X
##         ans$wt <- wt
##     }
##     ans$ordered <- isord
##     if (!is.null(attr(m, "na.action"))) 
##         ans$na.action <- attr(m, "na.action")
##     if (!is.null(xlevels)) 
##         attr(ans, "xlevels") <- xlevels
##     if (method == "class") 
##         attr(ans, "ylevels") <- init$ylevels
##     class(ans) <- "rpart"
##     ans
## })(formula = .outcome ~ ., data = list(c(245, 257, 239, 246, 
## 264, 229, 272, 270, 255, 262, 260, 227, 229, 269, 259, 264, 274, 
## 252, 231, 276, 276, 231, 254, 233, 274, 253, 240, 264, 276, 256, 
## 269, 273, 270, 235, 270, 260, 228, 228, 234, 236, 249, 227, 276, 
## 275, 238, 240, 244, 248, 263, 267, 261, 238, 278, 267, 241, 234, 
## 276, 278, 230, 275, 266, 260, 230, 274, 260, 236, 264, 268, 264, 
## 273, 272, 245, 262, 265, 276, 244, 247, 234, 229, 272, 237, 232, 
## 249, 254, 232, 261, 269, 256, 259, 250, 234, 267, 238, 228, 234, 
## 237, 262, 257, 251, 263, 233, 232, 272, 266, 237, 268, 266, 272, 
## 276, 277, 265, 245, 230, 237, 231, 269, 256, 240, 268, 277, 249, 
## 228, 237, 240, 263, 271, 233, 240, 231, 275, 251, 239, 264, 263, 
## 262, 233, 266, 244, 236, 234, 243, 245, 263, 273, 266, 278, 232, 
## 253, 250, 232, 277, 274, 261, 272, 229, 262, 242, 229, 267, 250, 
## 231, 267, 227, 264, 267, 245, 238, 268, 269, 244, 255, 231, 262, 
## 235, 262, 229, 258, 276, 227, 244, 269, 251, 258, 259, 277, 256, 
## 255, 250, 277, 266, 249, 245, 251, 230, 248, 242, 259, 259, 246, 
## 260, 259, 272, 278, 272, 263, 235, 257, 263, 265, 270, 240, 242, 
## 278, 274, 239, 260, 247, 252, 242, 229, 233, 270, 263, 254, 254, 
## 230, 261, 274, 233, 273, 275, 238, 275, 274, 275, 271, 272, 229, 
## 248, 272, 228, 264, 275, 273, 255, 251, 227, 237, 229, 239, 266, 
## 232, 233, 227, 256, 260, 258, 241, 275, 228, 254, 256, 278, 233, 
## 229, 271, 241, 278, 269, 267, 243, 269, 262, 253, 271, 265, 239, 
## 276, 235, 268, 278, 231, 236, 259, 274, 255, 276, 274, 260, 277, 
## 227, 231, 275, 272, 276, 241, 272, 270, 243, 229, 252, 266, 236, 
## 258, 246, 231, 275, 260, 235, 256, 265, 270, 257, 240, 259, 240, 
## 258, 242, 274, 266, 232, 236, 237, 231, 251, 234, 252, 254, 241, 
## 265, 260, 229, 232, 274, 269, 246, 229, 260, 269, 276, 254, 260, 
## 274, 255, 243, 277, 269, 276, 271, 237, 273, 264, 270, 245, 260, 
## 254, 242, 273, 250, 235, 258, 233, 278, 244, 268, 265, 228, 244, 
## 278, 245, 276, 263, 276, 233, 257, 248, 271, 231, 241, 246, 264, 
## 258, 261, 257, 237, 254, 228, 252, 261, 266, 252, 232, 242, 264, 
## 277, 258, 275, 271, 272, 260, 252, 268, 258, 232, 269, 277, 256, 
## 239, 271, 248, 259, 274, 245, 236, 253, 275, 238, 257, 246, 277, 
## 228, 232, 267, 266, 273, 249, 259, 265, 229, 265, 258, 256, 254, 
## 257, 242, 259, 275, 255, 233, 255, 259, 244, 265, 261, 260, 251, 
## 256, 229, 275, 262, 237, 255, 243, 260, 263, 244, 247, 270, 233, 
## 243, 271, 274, 251, 256, 237, 237, 236, 237, 264, 242, 275, 238, 
## 232, 247, 269, 243, 269, 262, 257, 274, 270, 274, 267, 266, 277, 
## 241, 261, 228, 269, 229, 265, 274, 259, 275, 261, 241, 238, 274, 
## 268, 235, 229, 241, 255, 233, 269, 238, 266, 262, 267, 230, 273, 
## 270, 235, 262, 234, 227, 244, 259, 234, 235, 240, 274, 227, 236, 
## 267, 272, 274, 273, 237, 235, 273, 234, 254, 278, 267, 260, 259, 
## 265, 240, 229, 238, 246, 231, 230, 240, 255, 242, 240, 235, 277, 
## 248, 230, 257, 271, 236, 231, 228, 239, 276, 267, 245, 239, 239, 
## 275, 243, 259, 254, 269, 237, 269, 230, 267, 236, 259, 241, 272, 
## 278, 254, 243, 252, 268, 258, 243, 270, 260, 237, 232, 278, 231, 
## 262, 243, 256, 240, 275, 269, 264, 235, 270, 263, 232, 246, 263, 
## 274, 240, 230, 264, 236, 236, 233, 253, 263, 275, 235, 246, 264, 
## 269, 257, 261, 233, 264, 274, 263, 242, 271, 275, 264, 261, 269, 
## 236, 259, 255, 271, 231, 230, 257, 258, 228, 266, 257, 276, 262, 
## 247, 228, 256, 262, 239, 278, 267, 247, 230, 259, 266, 273, 260, 
## 260, 258, 261, 272, 265, 275, 261, 267, 251, 235, 263, 277, 230, 
## 232, 254, 228, 247, 229, 267, 265, 273, 274, 277, 231, 236, 275, 
## 238, 274, 229, 234, 239, 227, 236, 269, 268, 252, 275, 258, 275, 
## 241, 257, 256, 267, 236, 272, 253, 258, 277, 228, 227, 233, 274, 
## 259, 247, 237, 269, 261, 272, 278, 272, 274, 251, 262, 267, 260, 
## 244, 231, 266, 242, 275, 251, 242, 251, 258, 271, 239, 270, 275, 
## 240, 237, 240, 270, 228, 274, 273, 241, 278, 245, 273, 266, 237, 
## 243, 264, 269, 242, 234, 277, 272, 257, 251, 255, 266, 251, 277, 
## 268, 256, 256, 251, 240, 269, 271, 234, 260, 253, 276, 270, 229, 
## 275, 249, 242, 270, 248, 230, 257, 268, 246, 233, 252, 253, 237, 
## 274, 267, 262, 238, 271, 266, 253, 258, 233, 236, 231, 265, 276, 
## 276, 274, 267), c(2, 3, 3, 4, 7, 4, 4, 1, 7, 7, 7, 4, 7, 7, 1, 
## 3, 7, 7, 2, 7, 2, 4, 7, 7, 4, 1, 3, 7, 3, 2, 2, 7, 2, 7, 2, 7, 
## 1, 2, 1, 3, 2, 4, 3, 2, 1, 2, 3, 2, 2, 4, 2, 4, 1, 2, 3, 2, 4, 
## 7, 4, 4, 7, 3, 1, 7, 2, 2, 4, 2, 4, 2, 3, 7, 4, 2, 3, 7, 1, 2, 
## 2, 2, 4, 1, 4, 4, 1, 3, 3, 2, 4, 3, 7, 7, 1, 2, 1, 3, 4, 1, 3, 
## 7, 7, 1, 3, 3, 1, 3, 7, 2, 2, 7, 7, 2, 4, 2, 7, 7, 1, 7, 7, 4, 
## 3, 3, 7, 7, 1, 1, 1, 1, 7, 1, 4, 1, 7, 3, 1, 2, 1, 7, 3, 7, 1, 
## 2, 7, 2, 1, 3, 1, 2, 1, 2, 3, 7, 4, 7, 3, 2, 1, 4, 7, 7, 4, 7, 
## 2, 7, 7, 1, 3, 7, 4, 3, 3, 3, 2, 3, 1, 7, 1, 7, 2, 2, 4, 4, 2, 
## 2, 7, 3, 2, 7, 2, 1, 2, 3, 2, 3, 3, 7, 7, 7, 4, 4, 7, 7, 4, 3, 
## 4, 3, 2, 2, 4, 1, 3, 2, 7, 7, 1, 1, 3, 2, 7, 2, 7, 2, 7, 3, 4, 
## 4, 1, 1, 7, 1, 7, 7, 7, 7, 3, 3, 3, 7, 3, 2, 7, 7, 2, 4, 7, 1, 
## 1, 2, 7, 3, 7, 3, 7, 4, 7, 3, 4, 7, 4, 4, 7, 7, 2, 1, 3, 7, 1, 
## 3, 2, 3, 7, 3, 4, 2, 7, 7, 3, 2, 1, 7, 3, 7, 7, 7, 7, 2, 2, 7, 
## 7, 7, 3, 3, 1, 1, 7, 3, 7, 2, 2, 7, 4, 2, 2, 7, 2, 3, 2, 2, 1, 
## 7, 7, 1, 3, 4, 3, 4, 1, 3, 2, 3, 4, 2, 7, 7, 4, 3, 4, 7, 3, 4, 
## 2, 2, 7, 1, 3, 1, 2, 7, 7, 2, 7, 3, 7, 7, 1, 1, 7, 4, 2, 7, 1, 
## 7, 1, 7, 4, 7, 3, 4, 2, 3, 7, 4, 3, 7, 7, 7, 3, 7, 4, 2, 7, 7, 
## 7, 7, 3, 2, 3, 1, 3, 3, 1, 4, 7, 2, 2, 4, 1, 1, 2, 7, 7, 1, 3, 
## 7, 3, 1, 1, 2, 7, 4, 4, 3, 7, 4, 7, 4, 2, 4, 2, 4, 3, 7, 1, 1, 
## 7, 1, 7, 7, 7, 4, 2, 2, 7, 1, 3, 2, 3, 1, 3, 7, 7, 7, 7, 1, 3, 
## 7, 7, 7, 1, 3, 2, 1, 7, 2, 4, 4, 3, 7, 7, 7, 7, 2, 3, 3, 7, 1, 
## 2, 2, 7, 4, 4, 4, 7, 1, 3, 2, 1, 2, 4, 3, 2, 1, 2, 1, 3, 1, 7, 
## 1, 2, 1, 7, 7, 7, 7, 7, 2, 2, 1, 2, 7, 2, 7, 7, 1, 7, 1, 3, 2, 
## 7, 3, 4, 2, 7, 7, 7, 7, 3, 1, 4, 3, 2, 4, 7, 3, 1, 4, 4, 2, 7, 
## 2, 4, 7, 3, 7, 7, 2, 7, 2, 7, 2, 2, 3, 2, 2, 7, 2, 2, 7, 2, 2, 
## 2, 2, 2, 7, 7, 4, 3, 1, 3, 7, 2, 3, 3, 4, 2, 7, 1, 2, 7, 4, 3, 
## 2, 3, 1, 1, 7, 7, 1, 2, 7, 7, 2, 3, 7, 3, 4, 2, 7, 2, 3, 2, 7, 
## 4, 4, 3, 2, 3, 7, 2, 2, 1, 7, 3, 7, 4, 2, 7, 7, 7, 1, 3, 4, 3, 
## 3, 7, 7, 7, 3, 7, 2, 2, 2, 7, 3, 4, 2, 7, 7, 7, 3, 2, 7, 7, 3, 
## 2, 2, 7, 4, 7, 3, 4, 7, 3, 3, 4, 7, 7, 3, 4, 7, 2, 1, 2, 7, 1, 
## 7, 7, 2, 2, 4, 2, 4, 1, 2, 7, 4, 7, 7, 7, 7, 7, 1, 1, 3, 2, 7, 
## 7, 2, 2, 2, 3, 3, 3, 1, 2, 3, 7, 7, 7, 4, 3, 4, 2, 7, 7, 1, 2, 
## 7, 1, 3, 2, 1, 7, 1, 7, 7, 2, 7, 4, 7, 7, 7, 2, 1, 2, 7, 7, 3, 
## 1, 7, 1, 1, 2, 4, 4, 4, 2, 3, 7, 3, 2, 7, 3, 3, 3, 2, 4, 7, 3, 
## 1, 7, 2, 1, 3, 7, 7, 2, 7, 1, 1, 7, 2, 1, 2, 7, 1, 3, 3, 1, 3, 
## 4, 7, 7, 3, 4, 7, 1, 7, 7, 4, 2, 4, 4, 4, 4, 7, 1, 1, 7, 2, 3, 
## 2, 1, 2, 3, 1, 1, 7, 3, 3, 7, 2, 7, 4, 7, 4, 7, 2, 7, 1, 7, 3, 
## 7, 2, 1, 4, 2, 4, 7, 3), c(1.89, 1.99, 1.79, 1.99, 1.86, 1.79, 
## 1.99, 1.86, 1.86, 1.86, 1.86, 1.79, 1.69, 1.86, 1.76, 1.99, 1.86, 
## 1.86, 1.69, 1.99, 1.99, 1.79, 1.86, 1.75, 1.99, 1.76, 1.79, 1.86, 
## 2.09, 1.89, 1.86, 1.86, 1.86, 1.75, 1.86, 1.86, 1.69, 1.69, 1.69, 
## 1.79, 1.89, 1.79, 2.09, 1.96, 1.75, 1.75, 1.99, 1.89, 1.86, 1.99, 
## 1.86, 1.79, 1.99, 1.86, 1.79, 1.69, 2.09, 2.06, 1.79, 2.09, 1.86, 
## 1.99, 1.69, 1.86, 1.86, 1.75, 1.99, 1.86, 1.99, 1.86, 1.99, 1.86, 
## 1.99, 1.86, 2.09, 1.86, 1.86, 1.69, 1.69, 1.86, 1.79, 1.69, 1.99, 
## 1.99, 1.69, 1.99, 1.99, 1.89, 1.99, 1.99, 1.75, 1.86, 1.75, 1.69, 
## 1.69, 1.79, 1.99, 1.76, 1.99, 1.86, 1.75, 1.69, 1.99, 1.99, 1.75, 
## 1.99, 1.86, 1.86, 1.99, 1.99, 1.86, 1.89, 1.79, 1.75, 1.69, 1.86, 
## 1.76, 1.86, 1.86, 2.09, 1.99, 1.79, 1.75, 1.86, 1.76, 1.86, 1.69, 
## 1.75, 1.69, 1.96, 1.99, 1.75, 1.86, 1.99, 1.76, 1.69, 1.86, 1.86, 
## 1.79, 1.75, 1.86, 1.89, 1.86, 1.86, 1.86, 2.09, 1.69, 1.89, 1.86, 
## 1.69, 2.09, 1.86, 1.99, 1.86, 1.79, 1.86, 1.86, 1.79, 1.86, 1.86, 
## 1.79, 1.86, 1.69, 1.86, 1.86, 1.86, 1.79, 1.86, 1.99, 1.99, 1.99, 
## 1.79, 1.86, 1.79, 1.76, 1.69, 1.76, 1.99, 1.69, 1.86, 1.99, 1.99, 
## 1.86, 1.86, 1.99, 1.99, 1.89, 1.86, 1.99, 1.86, 1.89, 1.99, 1.89, 
## 1.79, 1.99, 1.86, 1.86, 1.86, 1.99, 1.99, 1.86, 1.86, 2.09, 1.99, 
## 1.99, 1.79, 1.86, 1.86, 1.99, 1.86, 1.79, 1.75, 2.06, 1.86, 1.75, 
## 1.76, 1.99, 1.89, 1.86, 1.69, 1.75, 1.86, 1.86, 1.99, 1.99, 1.79, 
## 1.76, 1.96, 1.75, 1.86, 1.99, 1.75, 1.99, 1.86, 2.09, 1.99, 1.99, 
## 1.69, 1.99, 1.86, 1.69, 1.86, 1.96, 1.99, 1.86, 1.76, 1.69, 1.75, 
## 1.69, 1.79, 1.86, 1.79, 1.75, 1.79, 1.86, 1.99, 1.99, 1.86, 2.09, 
## 1.79, 1.86, 1.86, 1.99, 1.69, 1.79, 1.86, 1.86, 2.09, 1.86, 1.99, 
## 1.86, 1.99, 1.99, 1.89, 1.86, 1.86, 1.79, 1.99, 1.69, 1.86, 2.09, 
## 1.69, 1.75, 1.86, 1.86, 1.89, 1.99, 1.86, 1.86, 1.99, 1.79, 1.79, 
## 1.96, 1.86, 1.99, 1.79, 1.86, 1.86, 1.86, 1.69, 1.99, 1.86, 1.75, 
## 1.86, 1.89, 1.79, 1.96, 1.86, 1.69, 1.86, 1.86, 1.86, 1.99, 1.79, 
## 1.99, 1.79, 1.76, 1.99, 1.96, 1.99, 1.79, 1.75, 1.75, 1.69, 1.99, 
## 1.79, 1.99, 1.86, 1.79, 1.99, 1.86, 1.69, 1.69, 1.96, 1.99, 1.86, 
## 1.69, 1.86, 1.86, 1.99, 1.86, 1.99, 1.86, 1.86, 1.86, 1.99, 1.86, 
## 2.09, 1.86, 1.75, 1.86, 1.86, 1.86, 1.86, 1.99, 1.86, 1.99, 1.99, 
## 1.89, 1.79, 1.86, 1.79, 2.09, 1.86, 1.86, 1.86, 1.79, 1.86, 2.09, 
## 1.89, 1.99, 1.86, 1.99, 1.75, 1.99, 1.89, 1.99, 1.69, 1.79, 1.99, 
## 1.76, 1.99, 1.86, 1.86, 1.75, 1.99, 1.69, 1.76, 1.86, 1.86, 1.86, 
## 1.69, 1.99, 1.86, 2.09, 1.76, 1.96, 1.86, 1.86, 1.99, 1.99, 1.99, 
## 1.86, 1.79, 1.86, 2.09, 1.89, 1.79, 1.86, 1.99, 1.99, 1.86, 1.86, 
## 1.75, 1.86, 1.96, 1.75, 1.86, 1.86, 2.09, 1.69, 1.69, 1.86, 1.86, 
## 1.99, 1.89, 1.99, 1.76, 1.79, 1.86, 1.86, 1.86, 1.86, 1.76, 1.99, 
## 1.86, 1.99, 1.86, 1.69, 1.99, 1.86, 1.86, 1.86, 1.86, 1.99, 1.99, 
## 1.99, 1.69, 1.99, 1.86, 1.75, 1.89, 1.99, 1.99, 1.86, 1.86, 1.89, 
## 1.86, 1.75, 1.99, 1.99, 1.99, 1.86, 1.76, 1.79, 1.75, 1.75, 1.75, 
## 1.99, 1.99, 1.96, 1.75, 1.69, 1.86, 1.99, 1.86, 1.86, 1.76, 1.86, 
## 1.96, 1.86, 1.86, 1.86, 1.86, 1.99, 1.75, 1.86, 1.69, 1.86, 1.69, 
## 1.86, 1.86, 1.86, 1.96, 1.86, 1.86, 1.79, 1.96, 1.86, 1.79, 1.79, 
## 1.75, 1.86, 1.75, 1.86, 1.75, 1.99, 1.76, 1.99, 1.79, 1.86, 1.99, 
## 1.75, 1.99, 1.69, 1.79, 1.99, 1.86, 1.75, 1.69, 1.79, 1.86, 1.79, 
## 1.75, 1.86, 1.86, 1.86, 1.86, 1.75, 1.69, 1.86, 1.79, 1.89, 1.99, 
## 1.86, 1.86, 1.86, 1.86, 1.75, 1.69, 1.75, 1.89, 1.69, 1.69, 1.86, 
## 1.99, 1.99, 1.75, 1.79, 1.99, 1.89, 1.79, 1.99, 1.99, 1.75, 1.69, 
## 1.69, 1.75, 1.99, 1.99, 1.99, 1.75, 1.79, 1.96, 1.86, 1.86, 1.86, 
## 1.86, 1.75, 1.86, 1.69, 1.86, 1.79, 1.86, 1.79, 1.99, 1.99, 1.86, 
## 1.86, 1.99, 1.86, 1.86, 1.99, 1.99, 1.99, 1.75, 1.79, 2.06, 1.69, 
## 1.86, 1.86, 1.86, 1.79, 1.99, 1.99, 1.86, 1.75, 1.86, 1.86, 1.69, 
## 1.99, 1.99, 1.99, 1.79, 1.69, 1.86, 1.75, 1.79, 1.75, 1.89, 1.86, 
## 1.96, 1.75, 1.99, 1.99, 1.86, 1.86, 1.86, 1.75, 1.99, 1.96, 1.86, 
## 1.86, 1.99, 1.96, 1.86, 1.86, 1.99, 1.75, 1.99, 1.99, 1.86, 1.79, 
## 1.79, 1.99, 1.86, 1.69, 1.99, 1.99, 1.99, 1.86, 1.86, 1.69, 1.86, 
## 1.76, 1.79, 2.06, 1.86, 1.89, 1.79, 1.86, 1.99, 1.86, 1.86, 1.86, 
## 1.99, 1.86, 1.86, 1.86, 1.99, 1.86, 1.86, 1.76, 1.79, 1.86, 1.99, 
## 1.69, 1.69, 1.89, 1.69, 1.99, 1.79, 1.99, 1.76, 1.86, 1.99, 1.99, 
## 1.69, 1.75, 2.09, 1.79, 1.99, 1.69, 1.75, 1.79, 1.69, 1.75, 1.86, 
## 1.86, 1.99, 1.96, 1.76, 1.99, 1.86, 1.86, 1.86, 1.86, 1.75, 1.99, 
## 1.86, 1.86, 1.99, 1.69, 1.69, 1.69, 1.86, 1.86, 1.99, 1.75, 1.86, 
## 1.76, 1.86, 1.99, 1.99, 1.99, 1.99, 1.86, 1.99, 1.86, 1.99, 1.69, 
## 1.86, 1.99, 2.09, 1.99, 1.75, 1.99, 1.86, 1.99, 1.75, 1.86, 1.96, 
## 1.75, 1.79, 1.86, 1.86, 1.69, 1.86, 1.86, 1.86, 2.06, 1.89, 1.86, 
## 1.86, 1.75, 1.86, 1.99, 1.99, 1.86, 1.79, 2.09, 1.86, 1.86, 1.99, 
## 1.99, 1.86, 1.76, 1.99, 1.86, 1.99, 1.89, 1.99, 1.79, 1.99, 1.99, 
## 1.75, 1.76, 1.76, 1.99, 1.86, 1.79, 1.96, 1.86, 1.75, 1.99, 1.86, 
## 1.69, 1.86, 1.99, 1.99, 1.75, 1.89, 1.86, 1.79, 1.86, 1.99, 1.86, 
## 1.75, 1.86, 1.86, 1.86, 1.99, 1.75, 1.75, 1.69, 1.99, 1.99, 2.09, 
## 1.86, 1.99), c(2.09, 2.29, 2.23, 2.23, 2.13, 1.79, 2.09, 2.18, 
## 2.18, 2.13, 2.13, 1.79, 1.69, 2.13, 1.99, 2.09, 2.13, 2.09, 1.69, 
## 2.13, 2.18, 1.79, 2.18, 1.99, 2.09, 2.09, 2.23, 2.13, 2.09, 2.18, 
## 2.18, 2.13, 2.18, 1.99, 2.18, 2.13, 1.69, 1.69, 1.99, 2.09, 2.09, 
## 1.79, 2.09, 2.18, 1.99, 1.99, 2.23, 2.09, 2.18, 2.09, 2.18, 2.09, 
## 2.13, 2.18, 2.23, 1.99, 2.09, 2.13, 1.79, 2.09, 2.13, 2.09, 1.69, 
## 2.13, 2.18, 1.99, 2.09, 2.18, 2.09, 2.18, 2.09, 2.09, 2.09, 2.18, 
## 2.09, 2.09, 2.09, 1.99, 1.69, 2.18, 2.09, 1.99, 2.23, 2.29, 1.99, 
## 2.09, 2.09, 2.18, 2.29, 2.23, 1.99, 2.13, 1.99, 1.69, 1.99, 2.09, 
## 2.09, 2.18, 2.23, 2.13, 1.99, 1.99, 2.09, 2.09, 1.99, 2.09, 2.13, 
## 2.18, 2.18, 2.13, 2.13, 2.09, 1.79, 1.99, 1.99, 2.13, 2.18, 2.09, 
## 2.13, 2.09, 2.23, 1.79, 1.99, 2.09, 1.99, 2.18, 1.99, 1.99, 1.99, 
## 2.13, 2.23, 1.99, 2.13, 2.09, 1.99, 1.69, 1.99, 2.09, 2.09, 1.99, 
## 1.99, 2.09, 2.13, 2.18, 1.99, 2.09, 1.99, 2.09, 2.09, 1.69, 2.09, 
## 2.13, 2.09, 2.13, 1.79, 2.18, 1.99, 1.79, 2.13, 2.09, 1.79, 2.13, 
## 1.69, 2.13, 2.13, 2.09, 2.09, 2.13, 2.09, 2.23, 2.29, 1.79, 2.18, 
## 2.09, 1.99, 1.69, 2.18, 2.13, 1.69, 2.09, 2.09, 2.23, 2.18, 2.18, 
## 2.13, 2.29, 2.18, 2.09, 2.18, 1.99, 2.09, 2.23, 2.09, 1.79, 2.23, 
## 2.09, 2.18, 2.18, 2.23, 2.09, 2.18, 2.13, 2.09, 2.09, 2.09, 2.09, 
## 2.18, 2.18, 2.09, 2.18, 2.23, 1.99, 2.13, 2.13, 1.99, 1.99, 2.23, 
## 2.09, 2.09, 1.69, 1.99, 2.18, 2.13, 2.29, 2.29, 1.79, 1.99, 2.13, 
## 1.99, 2.18, 2.13, 1.99, 2.13, 2.13, 2.09, 2.09, 2.09, 1.69, 2.23, 
## 2.18, 1.69, 2.13, 2.18, 2.09, 2.18, 2.09, 1.69, 1.99, 1.69, 2.23, 
## 2.13, 2.09, 1.99, 1.79, 2.18, 2.09, 2.29, 2.09, 2.09, 1.79, 2.18, 
## 2.18, 2.18, 1.99, 1.79, 2.13, 1.99, 2.09, 2.18, 2.09, 2.09, 2.09, 
## 2.09, 2.09, 2.13, 2.13, 2.23, 2.18, 1.99, 2.13, 2.09, 1.99, 1.99, 
## 2.18, 2.13, 2.18, 2.18, 2.13, 2.13, 2.13, 1.79, 1.79, 2.13, 2.18, 
## 2.13, 2.23, 2.13, 2.18, 2.09, 1.69, 2.23, 2.18, 1.99, 2.18, 2.09, 
## 1.79, 2.18, 2.18, 1.99, 2.18, 2.13, 2.18, 2.29, 2.23, 2.29, 2.23, 
## 2.18, 2.23, 2.18, 2.09, 2.09, 1.99, 1.99, 1.99, 2.23, 2.09, 2.23, 
## 2.18, 2.23, 2.09, 2.18, 1.69, 1.99, 2.13, 2.09, 2.09, 1.69, 2.13, 
## 2.13, 2.18, 2.18, 2.09, 2.13, 2.18, 1.99, 2.13, 2.13, 2.09, 2.18, 
## 1.99, 2.18, 2.13, 2.18, 2.09, 2.09, 2.18, 2.23, 2.09, 2.09, 2.09, 
## 2.18, 2.09, 2.09, 2.09, 2.13, 2.13, 1.79, 2.09, 2.09, 2.09, 2.13, 
## 2.13, 2.13, 1.99, 2.29, 2.09, 2.09, 1.69, 2.23, 2.23, 1.99, 2.29, 
## 2.13, 2.18, 1.99, 2.29, 1.69, 2.09, 2.18, 2.13, 2.09, 1.99, 2.23, 
## 2.13, 2.09, 2.18, 2.13, 2.18, 2.13, 2.09, 2.23, 2.09, 2.18, 2.09, 
## 2.13, 2.09, 2.18, 2.23, 2.18, 2.23, 2.29, 2.13, 2.09, 1.99, 2.09, 
## 2.13, 1.99, 2.18, 2.09, 2.09, 1.69, 1.69, 2.13, 1.99, 2.09, 2.09, 
## 2.29, 1.99, 1.79, 2.13, 2.18, 2.18, 2.18, 2.18, 2.23, 2.18, 2.13, 
## 2.18, 1.99, 2.29, 2.18, 2.09, 2.13, 2.18, 2.09, 2.23, 2.29, 1.69, 
## 2.13, 2.13, 1.99, 2.18, 2.23, 2.09, 2.13, 2.09, 2.09, 2.18, 1.99, 
## 2.23, 2.09, 2.09, 2.09, 2.18, 2.09, 1.99, 1.99, 1.99, 2.09, 2.23, 
## 2.18, 1.99, 1.69, 2.09, 2.09, 1.99, 2.13, 1.99, 2.18, 2.13, 2.13, 
## 2.13, 2.13, 2.13, 2.13, 1.99, 2.18, 1.69, 2.18, 1.69, 2.18, 2.13, 
## 2.18, 2.13, 2.13, 1.99, 2.09, 2.18, 2.13, 2.09, 1.79, 1.99, 2.18, 
## 1.99, 2.13, 1.99, 2.09, 1.99, 2.09, 1.79, 2.18, 2.09, 1.99, 2.09, 
## 1.99, 1.79, 2.23, 2.18, 1.99, 1.99, 2.23, 2.13, 1.79, 1.99, 2.13, 
## 2.18, 2.13, 2.18, 1.99, 1.99, 2.18, 2.09, 2.09, 2.18, 2.13, 2.18, 
## 2.18, 2.13, 1.99, 1.69, 1.99, 2.09, 1.69, 1.99, 2.09, 2.29, 2.23, 
## 1.99, 2.09, 2.13, 2.09, 1.79, 2.29, 2.09, 1.99, 1.99, 1.69, 1.99, 
## 2.13, 2.09, 2.23, 1.99, 2.23, 2.13, 1.99, 2.18, 2.18, 2.18, 1.99, 
## 2.13, 1.99, 2.18, 2.09, 2.18, 2.23, 2.09, 2.18, 2.18, 2.09, 2.23, 
## 2.18, 2.18, 2.23, 2.09, 2.09, 1.99, 2.09, 2.13, 1.69, 2.18, 1.99, 
## 2.18, 2.23, 2.13, 2.09, 2.18, 1.99, 2.13, 2.13, 1.99, 2.23, 2.09, 
## 2.09, 2.23, 1.99, 2.13, 1.99, 2.09, 1.99, 2.09, 2.18, 2.18, 1.99, 
## 2.23, 2.09, 2.18, 2.18, 2.13, 1.99, 2.09, 2.18, 2.13, 2.09, 2.09, 
## 2.18, 2.18, 2.13, 2.09, 1.99, 2.29, 2.29, 2.13, 1.79, 1.79, 2.29, 
## 2.18, 1.69, 2.09, 2.29, 2.13, 2.18, 2.09, 1.69, 2.18, 1.99, 2.09, 
## 2.13, 2.18, 2.09, 1.79, 2.18, 2.09, 2.18, 2.18, 2.13, 2.29, 2.13, 
## 2.13, 2.13, 2.13, 2.13, 1.99, 2.09, 2.09, 2.18, 2.13, 1.99, 1.69, 
## 2.09, 1.69, 2.23, 1.79, 2.09, 1.99, 2.18, 2.09, 2.13, 1.99, 1.99, 
## 2.09, 2.09, 2.09, 1.69, 1.99, 2.09, 1.69, 1.99, 2.13, 1.99, 2.23, 
## 2.18, 2.18, 2.13, 1.99, 2.18, 2.18, 2.18, 1.99, 2.09, 2.09, 2.18, 
## 2.13, 1.69, 1.69, 1.69, 2.13, 2.18, 2.23, 1.99, 2.13, 1.99, 2.18, 
## 2.18, 2.09, 2.09, 2.23, 2.18, 2.09, 2.13, 2.23, 1.69, 2.13, 2.23, 
## 2.09, 2.23, 1.99, 2.23, 2.18, 2.09, 1.99, 2.13, 2.18, 1.99, 2.09, 
## 2.09, 2.13, 1.69, 2.13, 2.18, 1.99, 2.13, 2.09, 2.18, 2.18, 1.99, 
## 1.99, 2.09, 2.09, 1.99, 2.09, 2.09, 2.13, 2.18, 2.23, 2.29, 2.13, 
## 2.09, 2.13, 2.13, 2.29, 2.18, 2.23, 2.23, 2.09, 2.09, 1.99, 1.99, 
## 2.09, 2.13, 2.18, 1.79, 2.18, 2.09, 1.99, 2.09, 2.09, 1.69, 2.18, 
## 2.09, 2.23, 1.99, 2.09, 2.09, 2.09, 2.13, 2.09, 2.13, 1.99, 2.13, 
## 1.99, 2.09, 2.29, 1.99, 1.99, 1.69, 2.09, 2.18, 2.09, 2.13, 2.09
## ), c(0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 0, 0.27, 0, 0.1, 
## 0.47, 0.1, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0.37, 0.2, 0.13, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0.1, 0, 
## 0, 0.24, 0, 0, 0, 0.2, 0, 0, 0, 0.37, 0, 0, 0.47, 0, 0, 0.1, 
## 0, 0.1, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0.1, 0.13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.27, 0, 0, 0, 0.1, 
## 0, 0.1, 0.37, 0, 0, 0.5, 0.37, 0, 0, 0, 0, 0.27, 0, 0, 0, 0.2, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0.27, 0, 0, 0.2, 0, 0.13, 0, 0, 0.2, 0.47, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0.37, 0, 0.17, 0, 0, 0.1, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0.5, 0, 0.13, 0, 0, 0, 0, 0, 
## 0.13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, 0, 0, 0.1, 0, 
## 0, 0.16, 0, 0.47, 0, 0, 0, 0.13, 0, 0, 0, 0, 0.27, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0.47, 0, 0.1, 0, 0, 0, 0, 0, 0.37, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0.2, 0, 0.1, 0, 0.1, 0, 0.13, 0, 0.37, 0, 0, 0, 0, 0.2, 
## 0, 0, 0, 0.47, 0.13, 0, 0.47, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0.1, 0, 0, 
## 0, 0.27, 0, 0, 0, 0.47, 0, 0, 0.24, 0.27, 0.2, 0, 0, 0, 0.37, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0, 0, 0.37, 0, 0, 0.2, 0, 
## 0, 0.27, 0, 0, 0, 0, 0.1, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0.37, 0.1, 0, 0, 0.37, 0.2, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0.27, 
## 0.2, 0.13, 0, 0, 0, 0, 0.47, 0.17, 0, 0.1, 0, 0, 0, 0, 0.2, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0.37, 0, 0, 0, 0, 0, 0, 0, 0, 0.13, 0, 0, 0.27, 0, 0, 0, 0, 
## 0, 0.1, 0, 0.1, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0.1, 0, 0.27, 
## 0, 0, 0, 0.27, 0.47, 0, 0.37, 0.5, 0, 0, 0, 0, 0, 0, 0.47, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.27, 0, 0.1, 0, 0.1, 0, 0, 
## 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.47, 0, 0, 0, 0, 0.47, 0, 0, 
## 0, 0, 0, 0.13, 0, 0, 0, 0, 0.37, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 
## 0, 0, 0.5, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0.27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0, 
## 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0.1, 0, 0, 0.27, 0.27, 0, 0, 0, 
## 0, 0, 0, 0.37, 0, 0, 0, 0.13, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0.1, 
## 0, 0.27, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 
## 0.37, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0.13, 0, 0, 0, 0.1, 0, 0, 
## 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.27, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0.1, 0, 0.5, 0, 0, 0, 0.47, 0, 0, 0, 0.27, 0, 
## 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0.3, 0.37, 0, 0, 0, 0.16, 0, 0, 
## 0.1, 0, 0.27, 0, 0, 0, 0, 0.27, 0, 0.47, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0.1, 0.1, 0, 0, 0.2, 0, 0, 0, 0, 0.37, 0, 0.5, 0, 0, 0.13, 
## 0, 0, 0.1, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.1, 0, 0, 0, 0.1, 
## 0, 0, 0.13, 0.1, 0, 0.47, 0.1, 0, 0, 0, 0, 0.1, 0, 0, 0, 0.3, 
## 0.1, 0, 0.2, 0.47, 0.1), c(0, 0.4, 0, 0, 0, 0, 0.4, 0, 0, 0, 
## 0.24, 0, 0.2, 0, 0.2, 0, 0.54, 0, 0, 0.54, 0, 0, 0, 0.4, 0.4, 
## 0, 0, 0, 0.4, 0, 0, 0.54, 0, 0.4, 0, 0.24, 0, 0, 0, 0, 0, 0, 
## 0.4, 0.8, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 0, 0.4, 0, 0, 
## 0.4, 0, 0, 0.2, 0.54, 0.7, 0, 0, 0, 0, 0.06, 0.4, 0.2, 0, 0, 
## 0.4, 0.2, 0, 0, 0, 0.06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 0.4, 0, 0, 0, 0, 0.06, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 0, 0.4, 0, 0.4, 0, 0, 0.3, 
## 0, 0.74, 0, 0.3, 0, 0, 0.4, 0, 0.1, 0.2, 0, 0.4, 0.8, 0, 0, 0.06, 
## 0.1, 0, 0, 0, 0, 0, 0.4, 0.54, 0, 0, 0, 0.6, 0.3, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6, 0, 0.4, 0.2, 0, 0.54, 0, 
## 0, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0.54, 0.3, 0.2, 
## 0, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0.74, 0.4, 0, 0.54, 0.4, 0.54, 
## 0.54, 0.4, 0.4, 0.4, 0.2, 0, 0.06, 0, 0, 0.8, 0.4, 0, 0, 0, 0, 
## 0.2, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0, 0.3, 
## 0, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 0.54, 
## 0, 0, 0.54, 0.24, 0, 0, 0, 0.74, 0, 0.54, 0, 0, 0, 0, 0.2, 0, 
## 0, 0, 0, 0, 0, 0.8, 0.7, 0, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.8, 
## 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0, 0.7, 0, 0.4, 0.74, 0, 0, 0, 
## 0.24, 0, 0, 0, 0, 0.54, 0, 0.8, 0, 0, 0.4, 0.06, 0.4, 0, 0, 0, 
## 0.2, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0.54, 
## 0, 0.54, 0.4, 0.4, 0, 0.4, 0.2, 0, 0, 0.4, 0, 0.24, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0, 0.74, 0.06, 0, 0, 0, 0, 0, 0, 
## 0, 0.4, 0, 0, 0.06, 0, 0, 0.54, 0, 0, 0, 0.74, 0.4, 0, 0, 0.4, 
## 0, 0, 0, 0.1, 0.4, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0.54, 0, 
## 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0.2, 0.54, 0, 0.4, 0, 0, 0, 0, 0, 
## 0, 0, 0.4, 0, 0.4, 0.4, 0, 0, 0, 0, 0, 0, 0, 0, 0.8, 0, 0, 0, 
## 0, 0.8, 0, 0.4, 0, 0.74, 0, 0.54, 0, 0, 0, 0.3, 0, 0, 0, 0.2, 
## 0, 0.54, 0, 0.74, 0.24, 0.3, 0, 0.8, 0, 0, 0, 0.3, 0, 0.4, 0, 
## 0.4, 0, 0.4, 0, 0, 0.06, 0, 0.4, 0, 0, 0, 0, 0.4, 0.4, 0, 0, 
## 0.54, 0, 0.4, 0, 0.06, 0.54, 0.06, 0.4, 0, 0.06, 0, 0, 0, 0, 
## 0.7, 0.4, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0.4, 
## 0.4, 0, 0, 0, 0.3, 0.54, 0, 0, 0.3, 0, 0.74, 0.8, 0, 0, 0, 0, 
## 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0.6, 0.8, 0, 0, 0.54, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.4, 0, 0, 
## 0, 0.4, 0, 0.4, 0, 0, 0.8, 0.4, 0, 0, 0, 0, 0.24, 0.4, 0, 0.8, 
## 0, 0, 0.4, 0.8, 0, 0.24, 0, 0.4, 0, 0, 0, 0, 0, 0.4, 0, 0, 0, 
## 0.4, 0.54, 0.6, 0, 0, 0, 0.4, 0, 0, 0.4, 0, 0, 0.4, 0, 0, 0.7, 
## 0.24, 0, 0.24, 0, 0, 0.54, 0.24, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0.1, 0.06, 0.4, 0, 0, 0.4, 0.4, 0, 0.4, 0, 0.4, 0, 0, 
## 0, 0, 0.2, 0, 0.8, 0, 0.54, 0.3, 0, 0, 0.4, 0.4, 0.4, 0, 0, 0, 
## 0, 0, 0, 0.54, 0, 0, 0, 0, 0, 0, 0, 0.4, 0.4, 0, 0.6, 0, 0.24, 
## 0, 0, 0, 0, 0.4, 0, 0.3, 0, 0, 0.4, 0.3, 0, 0.8, 0.3, 0, 0, 0, 
## 0, 0.54, 0, 0.3, 0, 0, 0, 0, 0.4, 0.8, 0, 0, 0.3, 0, 0.4, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4, 0.4, 0.2, 0, 0.54, 0, 
## 0, 0.8, 0, 0.3, 0, 0, 0.2, 0, 0, 0, 0.4, 0, 0, 0, 0.54, 0, 0, 
## 0, 0, 0.1, 0, 0, 0.4, 0, 0.2, 0, 0, 0.4, 0.54, 0), c(0, 0, 0, 
## 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 
## 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 
## 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 
## 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 
## 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 
## 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
## 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 
## 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 
## 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
## 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 
## 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 
## 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 
## 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
## 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
## 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 
## 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 
## 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
## 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0), 
##     c(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 
##     1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 
##     0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
##     0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 
##     0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
##     0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 
##     0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 
##     0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 
##     1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 
##     0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
##     0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 
##     0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 
##     1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
##     1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 
##     0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 
##     0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 
##     1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
##     0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 
##     0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
##     0, 0), c(0.5, 0.6, 0.813222, 0.886992, 0.7952, 0.4, 0.988741, 
##     0.914616, 0.421938, 0.916114, 0.955332, 0.5, 0.6, 0.89327, 
##     0.972512, 0.6, 0.803392, 0.587822, 0.4672, 0.112583, 0.729346, 
##     0.6, 0.52, 0.5, 0.99987, 0.459072, 0.6928, 0.4928, 1.1e-05, 
##     0.022751, 0.616, 0.965027, 0.3072, 0.084671, 0.912618, 0.769835, 
##     0.5, 0.5, 0.857394, 0.007206, 0.891914, 0.920961, 0.983112, 
##     0.68, 0.456, 0.916114, 0.4, 0.89609, 0.32, 0.65184, 0.256, 
##     0.744, 0.082564, 0.68, 0.868928, 0.136315, 0.32, 0.7952, 
##     0.32, 0.4, 0.97592, 0.083886, 0.4, 0.592251, 0.456, 0.60576, 
##     0.932891, 0.4, 0.767142, 0.6, 0.253687, 0.444965, 0.6, 0.005964, 
##     0.000203, 0.256, 0.5, 0.83616, 0.584, 0.274861, 0.5, 0.586313, 
##     0.995388, 0.834969, 0.7952, 0.001209, 5.3e-05, 0.5, 0.891202, 
##     0.002361, 0.5, 0.866588, 0.350822, 0.256, 0.868928, 0.540992, 
##     0.104858, 0.6672, 0.946798, 0.7952, 0.4, 0.4048, 0.6, 0.958768, 
##     0.52, 8.3e-05, 0.946313, 0.471378, 0.32, 0.384, 0.895142, 
##     0.228587, 0.949415, 0.5648, 0.481092, 0.987671, 0.584, 0.953271, 
##     0.83616, 0.850971, 0.002361, 0.26624, 0.926986, 0.77574, 
##     0.4, 0.931693, 0.5, 0.721472, 0.67616, 0.863685, 0.6, 0.65184, 
##     0.2048, 0.94846, 0.616, 0.108486, 0.416, 0.52, 0.16384, 0.5, 
##     0.4048, 0.2048, 0.96083, 0.000317, 0.988291, 0.986489, 0.83616, 
##     0.68, 0.73524, 0.170394, 0.5328, 0.5, 0.999033, 0.993688, 
##     0.5648, 0.4, 0.556206, 0.936769, 0.999683, 0.5, 0.833801, 
##     0.52, 0.744, 0.850578, 0.95705, 0.83764, 0.7952, 0.68, 0.97801, 
##     0.880462, 0.001209, 0.4, 0.009319, 0.009007, 0.053687, 0.4, 
##     0.70816, 0.98534, 0.211886, 0.256, 0.92458, 0.83616, 0.018201, 
##     0.32, 0.4, 0.396608, 0.68, 0.996311, 0.148096, 0.829332, 
##     0.069431, 0.916114, 0.18287, 0.027488, 0.803392, 0.061203, 
##     0.32, 0.5, 0.994235, 0.606319, 0.938797, 0.895142, 0.999947, 
##     0.343577, 0.930369, 0.45184, 0.283886, 0.979164, 0.944296, 
##     0.671172, 0.249713, 0.4, 0.6, 0.5, 0.6, 0.6, 0.831116, 0.610093, 
##     0.850578, 0.4, 0.6, 0.201954, 0.990885, 0.001511, 0.5, 0.6672, 
##     0.787008, 0.664742, 0.5, 0.464858, 0.999896, 0.985757, 0.99495, 
##     0.670435, 0.752851, 0.973612, 0.067109, 0.68, 0.002951, 0.6928, 
##     0.584, 0.981704, 0.661682, 0.95705, 0.6672, 0.32384, 0.32, 
##     0.895142, 0.95705, 0.7952, 0.68, 0.017592, 0.4, 0.4, 0.131072, 
##     0.038103, 0.7952, 0.813222, 0.96564, 0.83616, 0.856474, 0.670258, 
##     0.988272, 0.916114, 0.027488, 0.97801, 0.777178, 0.561472, 
##     0.6, 0.000495, 0.32, 6.6e-05, 0.999226, 0.757438, 0.895142, 
##     0.985363, 0.670149, 0.972512, 0.4, 0.984589, 0.995388, 0.65184, 
##     0.069793, 0.4, 0.629047, 0.844761, 0.5, 0.5, 0.951037, 0.3328, 
##     0.16384, 0.256, 0.44576, 0.956283, 0.589079, 0.005765, 0.890948, 
##     0.331072, 0.746313, 0.68, 0.68, 0.36384, 0.267737, 0.358548, 
##     0.5, 0.02199, 0.744, 0.959305, 0.619072, 0.744, 0.932891, 
##     0.982408, 0.074419, 0.77928, 0.001511, 0.893632, 0.32, 0.007206, 
##     0.175911, 0.000162, 0.867041, 0.16384, 0.766528, 0.256, 0.94554, 
##     0.299008, 0.5, 0.16384, 0.788895, 0.95705, 0.94466, 0.2048, 
##     0.6, 0.740314, 0.967015, 0.946313, 0.165373, 0.712294, 0.588044, 
##     0.645286, 0.68, 0.000396, 0.972021, 0.787008, 0.277422, 0.103205, 
##     0.675392, 0.819719, 0.985493, 0.09563, 0.433472, 0.9699, 
##     0.930094, 0.2048, 0.912962, 0.5, 0.256, 0.616, 0.744, 0.131072, 
##     0.923496, 0.97801, 0.273285, 0.6, 0.4, 0.427109, 0.04295, 
##     0.992794, 0.855775, 0.281092, 0.48, 0.932891, 0.616, 0.4, 
##     0.875808, 0.870112, 3.4e-05, 0.32, 0.6, 0.384, 0.791543, 
##     0.640368, 0.916114, 0.5, 0.171351, 0.997639, 0.4, 0.821742, 
##     0.955728, 0.999604, 0.5, 0.48, 0.416, 0.83616, 0.450072, 
##     0.68, 0.161258, 0.944076, 0.6, 0.998791, 0.793712, 0.90437, 
##     0.864003, 0.4, 0.95705, 0.97801, 0.55046, 0.4, 0.788394, 
##     0.5, 0.000619, 0.985926, 0.68, 0.695258, 0.5, 0.68, 0.792742, 
##     0.863685, 0.256, 0.994235, 0.5, 0.5, 0.983956, 0.4, 2.2e-05, 
##     0.916872, 0.936414, 0.833234, 0.48, 0.4, 0.83616, 0.5, 0.6672, 
##     0.083886, 0.6, 0.744, 0.972512, 0.03917, 0.4352, 0.199771, 
##     0.6672, 0.4, 0.868928, 0.973955, 0.63616, 0.6, 0.32, 0.5, 
##     0.703238, 0.971413, 0.32, 0.035549, 0.005765, 0.935575, 0.813222, 
##     0.251966, 0.68, 0.981866, 0.52384, 0.32, 0.999797, 0.965145, 
##     0.7952, 0.908732, 0.5, 0.4, 0.346778, 0.484608, 0.946313, 
##     0.5, 0.231401, 0.16384, 0.4352, 0.66905, 0.174028, 0.314957, 
##     0.868928, 0.68, 0.900647, 0.731794, 0.990137, 0.411886, 0.787008, 
##     0.916114, 0.961385, 0.932891, 0.83616, 0.5, 0.977333, 0.16384, 
##     0.786665, 0.766528, 0.744, 0.477037, 0.48, 0.3648, 0.719675, 
##     0.977093, 0.980736, 0.616, 0.792251, 0.5, 0.6, 0.628114, 
##     0.992506, 0.2048, 0.52, 0.5, 0.972512, 0.131072, 0.427008, 
##     0.699827, 0.885915, 0.964583, 0.256, 0.5, 0.914906, 0.949131, 
##     0.977746, 0.32, 0.985926, 0.6, 0.053687, 0.6, 0.990633, 0.95526, 
##     0.6, 0.577102, 0.544, 0.109052, 0.556608, 0.02199, 0.805951, 
##     0.716229, 0.932891, 0.7952, 0.4, 0.6, 0.83616, 0.169509, 
##     0.744, 0.48, 0.5, 0.544, 0.988606, 0.6, 0.45184, 0.224526, 
##     0.5, 0.32, 0.16384, 0.283886, 0.000774, 0.4, 0.68, 0.6352, 
##     0.32, 0.70816, 0.416, 0.813714, 0.004612, 0.044668, 0.017592, 
##     0.571886, 0.6, 0.868928, 0.73376, 0.96564, 0.086789, 0.52, 
##     0.5648, 0.32, 0.077677, 0.930207, 0.63616, 0.559861, 0.6, 
##     0.766528, 0.834194, 0.3072, 0.4, 0.908143, 0.990993, 0.27335, 
##     0.695749, 0.214189, 0.104858, 0.946313, 0.135607, 0.271919, 
##     0.4, 0.619686, 0.014074, 0.736348, 0.946313, 0.983331, 0.561993, 
##     0.6, 0.852695, 0.52, 0.5, 0.932891, 0.978889, 0.011259, 0.132298, 
##     0.968664, 0.507899, 0.649594, 0.5, 0.6, 0.007455, 0.000254, 
##     0.982197, 0.708928, 0.999381, 0.32, 0.6, 0.32, 0.524608, 
##     0.000254, 0.392858, 0.868928, 0.988741, 0.4, 0.210886, 0.584, 
##     0.588965, 0.6, 0.908732, 0.047628, 0.998111, 0.863685, 0.895142, 
##     0.868928, 0.787504, 0.890948, 0.535142, 0.000619, 0.998489, 
##     0.992708, 0.4, 0.331072, 0.48, 0.829606, 0.6, 0.137081, 0.982408, 
##     0.003817, 0.68, 0.52, 0.68, 0.804349, 0.70816, 0.427109, 
##     0.941212, 0.830003, 0.952969, 0.916114, 0.59424, 0.6, 0.964266, 
##     0.491072, 0.355972, 0.181687, 0.445279, 0.131072, 0.96564, 
##     0.68, 0.930825, 0.32, 0.003689, 0.03436, 0.000104, 0.3072, 
##     0.264858, 1.7e-05, 0.97801, 0.68, 0.4, 0.774649, 0.14535, 
##     0.990993, 0.7952, 0.6, 0.982408, 0.4, 0.5, 0.95705, 0.2048, 
##     0.874171, 0.981675, 0.73376, 0.140729, 0.5, 0.7952, 0.90437, 
##     0.484979, 0.4, 0.951731, 0.6, 0.256, 0.988741, 0.6, 0.6, 
##     0.105838, 0.219889, 0.014561, 0.32, 0.5, 0.972512, 0.384, 
##     0.945354, 0.826781, 0.999838, 0.718311, 0.5, 0.256, 0.6, 
##     0.895142, 0.75424, 0.212992, 0.616, 0.131072, 1.4e-05, 0.544, 
##     0.895142, 0.48, 0.68, 0.6, 0.280658, 0.987165, 0.4, 0.5, 
##     0.256, 0.941588, 0.939664, 0.4, 0.97801, 0.580928, 0.179621, 
##     0.4, 0.79705, 0.971367, 0.004771, 0.740928, 0.32, 0.68, 0.5, 
##     0.24576, 0.256, 0.384, 0.21868, 0.885179, 0.5, 0.895142, 
##     0.52, 0.456, 0.994005, 0.946313, 0.73438, 0.4, 0.997049, 
##     0.5, 0.874783, 0.985926, 0.5, 0.815868, 0.5, 0.2048, 0.000396, 
##     0.4, 0.168709, 0.933497, 0.131072, 4.3e-05, 0.931925, 0.544, 
##     0.198186, 0.003054, 0.5, 0.2048, 0.868928, 0.83616, 0.9741, 
##     0.314286, 0.843479, 0.97713, 0.055835, 0.99211, 0.68, 0.96564, 
##     0.919469, 0.384874, 0.868928, 0.5, 0.4, 0.18512, 0.992794, 
##     0.96564, 0.00013), c(2.09, 1.89, 2.23, 2.23, 2.13, 1.79, 
##     1.69, 2.18, 2.18, 2.13, 1.89, 1.79, 1.49, 2.13, 1.79, 2.09, 
##     1.59, 2.09, 1.69, 1.59, 2.18, 1.79, 2.18, 1.59, 1.69, 2.09, 
##     2.23, 2.13, 1.69, 2.18, 2.18, 1.59, 2.18, 1.59, 2.18, 1.89, 
##     1.69, 1.69, 1.99, 2.09, 2.09, 1.79, 1.69, 1.38, 1.99, 1.69, 
##     2.23, 2.09, 2.18, 2.09, 2.18, 2.09, 2.13, 1.78, 2.23, 1.99, 
##     1.69, 2.13, 1.79, 1.69, 2.13, 2.09, 1.49, 1.59, 1.48, 1.99, 
##     2.09, 2.18, 2.09, 2.12, 1.69, 1.89, 2.09, 2.18, 1.69, 1.89, 
##     2.09, 1.99, 1.69, 2.12, 2.09, 1.99, 2.23, 2.29, 1.99, 2.09, 
##     2.09, 2.18, 2.29, 2.23, 1.59, 2.13, 1.99, 1.69, 1.99, 2.09, 
##     2.09, 2.18, 2.23, 2.13, 1.59, 1.99, 1.69, 2.09, 1.99, 2.09, 
##     2.13, 2.12, 2.18, 2.13, 2.13, 2.09, 1.79, 1.99, 1.99, 2.13, 
##     2.18, 2.09, 2.13, 1.69, 2.23, 1.79, 1.59, 2.09, 1.59, 2.18, 
##     1.99, 1.69, 1.99, 1.39, 2.23, 1.69, 2.13, 2.09, 1.59, 1.69, 
##     1.89, 1.89, 2.09, 1.59, 1.19, 2.09, 2.13, 2.12, 1.89, 2.09, 
##     1.99, 2.09, 2.09, 1.69, 1.69, 1.59, 2.09, 2.13, 1.79, 1.58, 
##     1.69, 1.79, 2.13, 2.09, 1.79, 2.13, 1.69, 2.13, 2.13, 2.09, 
##     2.09, 2.13, 2.09, 2.23, 2.29, 1.79, 1.58, 2.09, 1.59, 1.49, 
##     2.18, 1.59, 1.69, 2.09, 2.09, 2.23, 2.18, 1.78, 2.13, 2.29, 
##     2.18, 2.09, 2.18, 1.89, 2.09, 2.23, 2.09, 1.79, 2.23, 2.09, 
##     2.18, 2.18, 2.23, 2.09, 2.18, 2.13, 2.09, 1.69, 2.09, 2.09, 
##     2.18, 2.18, 2.09, 2.18, 2.23, 1.69, 2.13, 1.59, 1.69, 1.79, 
##     2.23, 2.09, 2.09, 1.69, 1.59, 2.18, 2.13, 2.29, 2.29, 1.79, 
##     1.99, 1.39, 1.59, 2.18, 1.59, 1.59, 1.59, 1.59, 1.69, 1.69, 
##     1.69, 1.49, 2.23, 2.12, 1.69, 2.13, 1.38, 1.69, 2.18, 2.09, 
##     1.69, 1.99, 1.49, 2.23, 2.13, 2.09, 1.59, 1.79, 2.18, 2.09, 
##     2.29, 2.09, 1.69, 1.79, 2.18, 2.18, 2.18, 1.99, 1.79, 2.13, 
##     1.69, 2.09, 2.18, 2.09, 1.89, 2.09, 2.09, 2.09, 2.13, 2.13, 
##     2.23, 2.18, 1.99, 2.13, 2.09, 1.99, 1.59, 2.18, 1.59, 2.18, 
##     2.18, 1.59, 1.89, 2.13, 1.79, 1.79, 1.39, 2.18, 1.59, 2.23, 
##     2.13, 2.18, 2.09, 1.49, 2.23, 2.18, 1.99, 2.18, 2.09, 1.79, 
##     1.38, 1.48, 1.99, 2.18, 2.13, 2.18, 1.89, 2.23, 2.29, 2.23, 
##     2.18, 2.23, 1.38, 2.09, 2.09, 1.99, 1.59, 1.99, 2.23, 2.09, 
##     2.23, 2.18, 2.23, 2.09, 1.48, 1.69, 1.59, 1.39, 2.09, 2.09, 
##     1.69, 1.89, 2.13, 2.18, 2.18, 2.09, 1.59, 2.18, 1.19, 2.13, 
##     2.13, 1.69, 2.12, 1.59, 2.18, 2.13, 2.18, 1.89, 2.09, 2.18, 
##     2.23, 1.69, 2.09, 2.09, 2.18, 2.09, 2.09, 1.89, 2.13, 2.13, 
##     1.79, 1.89, 2.09, 2.09, 1.59, 2.13, 1.59, 1.59, 1.89, 2.09, 
##     1.69, 1.49, 2.23, 2.23, 1.59, 2.29, 1.89, 2.18, 1.99, 2.29, 
##     1.69, 2.09, 2.18, 2.13, 2.09, 1.99, 2.23, 2.13, 1.69, 2.18, 
##     1.39, 2.12, 2.13, 2.09, 2.23, 2.09, 2.18, 2.09, 2.13, 1.69, 
##     2.18, 2.23, 2.12, 2.23, 2.29, 1.59, 2.09, 1.99, 2.09, 1.39, 
##     1.59, 2.18, 2.09, 1.69, 1.69, 1.69, 2.13, 1.89, 1.69, 2.09, 
##     2.29, 1.89, 1.79, 2.13, 2.18, 2.18, 2.18, 2.18, 2.23, 2.18, 
##     1.59, 2.18, 1.99, 2.29, 1.78, 2.09, 2.13, 2.18, 2.09, 2.23, 
##     2.29, 1.49, 1.59, 2.13, 1.59, 2.18, 2.23, 2.09, 2.13, 2.09, 
##     2.09, 2.18, 1.59, 2.23, 1.69, 1.69, 2.09, 2.18, 2.09, 1.99, 
##     1.99, 1.99, 2.09, 2.23, 1.38, 1.99, 1.69, 2.09, 2.09, 1.19, 
##     2.13, 1.59, 2.18, 1.39, 2.13, 1.59, 2.13, 2.13, 2.13, 1.69, 
##     2.18, 1.69, 2.18, 1.49, 2.18, 1.59, 2.18, 1.39, 1.89, 1.69, 
##     2.09, 1.38, 2.13, 2.09, 1.79, 1.69, 2.18, 1.59, 2.13, 1.59, 
##     2.09, 1.59, 2.09, 1.79, 2.12, 2.09, 1.59, 2.09, 1.99, 1.79, 
##     2.23, 1.78, 1.59, 1.99, 2.23, 1.59, 1.79, 1.59, 2.13, 2.12, 
##     1.59, 2.12, 1.59, 1.99, 2.12, 2.09, 2.09, 2.18, 2.13, 1.48, 
##     1.78, 2.13, 1.69, 1.69, 1.99, 2.09, 1.69, 1.99, 2.09, 2.29, 
##     2.23, 1.69, 2.09, 2.13, 2.09, 1.79, 1.89, 1.69, 1.99, 1.99, 
##     1.69, 1.69, 1.59, 2.09, 2.23, 1.69, 2.23, 1.39, 1.19, 2.18, 
##     2.18, 2.18, 1.99, 2.13, 1.99, 1.78, 2.09, 2.18, 2.23, 1.69, 
##     2.18, 2.18, 2.09, 2.23, 2.18, 2.18, 2.23, 2.09, 2.09, 1.99, 
##     2.09, 2.13, 1.69, 1.58, 1.19, 2.18, 2.23, 1.59, 2.09, 2.18, 
##     1.59, 2.13, 2.13, 1.99, 2.23, 2.09, 1.69, 2.23, 1.99, 2.13, 
##     1.59, 2.09, 1.59, 2.09, 2.18, 1.38, 1.59, 2.23, 2.09, 2.18, 
##     2.18, 1.89, 1.59, 2.09, 1.38, 2.13, 2.09, 1.69, 1.38, 2.18, 
##     1.89, 2.09, 1.59, 2.29, 2.29, 2.13, 1.79, 1.79, 1.89, 2.18, 
##     1.69, 2.09, 1.89, 1.59, 1.58, 2.09, 1.69, 2.18, 1.59, 2.09, 
##     2.13, 1.78, 2.09, 1.79, 1.78, 2.09, 2.18, 1.48, 1.89, 2.29, 
##     1.89, 2.13, 2.13, 1.59, 1.89, 1.79, 2.09, 2.09, 2.18, 2.13, 
##     1.99, 1.69, 2.09, 1.69, 2.23, 1.79, 2.09, 1.89, 2.12, 1.69, 
##     2.13, 1.99, 1.59, 1.69, 2.09, 1.69, 1.69, 1.59, 2.09, 1.69, 
##     1.99, 2.13, 1.79, 2.23, 1.38, 2.18, 1.59, 1.69, 2.18, 2.18, 
##     1.78, 1.59, 1.69, 2.09, 2.18, 2.13, 1.69, 1.69, 1.69, 1.59, 
##     2.18, 2.23, 1.99, 2.13, 1.99, 2.18, 2.18, 1.69, 1.69, 2.23, 
##     1.58, 2.09, 1.89, 2.23, 1.69, 2.13, 2.23, 1.69, 2.23, 1.69, 
##     2.23, 2.18, 1.69, 1.69, 2.13, 1.38, 1.69, 2.09, 2.09, 2.13, 
##     1.69, 1.59, 2.18, 1.69, 2.13, 2.09, 2.18, 2.18, 1.59, 1.19, 
##     2.09, 2.09, 1.69, 2.09, 1.69, 2.13, 2.18, 2.23, 2.29, 2.13, 
##     2.09, 2.13, 2.13, 2.29, 2.18, 2.23, 2.23, 2.09, 1.69, 1.59, 
##     1.79, 2.09, 1.59, 2.18, 1.79, 1.38, 2.09, 1.69, 2.09, 2.09, 
##     1.49, 2.18, 2.09, 2.23, 1.59, 2.09, 2.09, 2.09, 1.59, 2.09, 
##     2.13, 1.99, 2.13, 1.89, 2.09, 2.29, 1.59, 1.99, 1.49, 2.09, 
##     2.18, 1.69, 1.59, 2.09), c(1.89, 1.99, 1.79, 1.99, 1.49, 
##     1.79, 1.99, 1.86, 1.86, 1.86, 1.86, 1.79, 1.69, 1.59, 1.76, 
##     1.89, 1.39, 1.76, 1.39, 1.99, 1.99, 1.79, 1.86, 1.75, 1.99, 
##     1.76, 1.79, 1.49, 1.89, 1.76, 1.86, 1.86, 1.86, 1.75, 1.86, 
##     1.86, 1.69, 1.69, 1.69, 1.79, 1.89, 1.79, 1.89, 1.96, 1.75, 
##     1.75, 1.99, 1.89, 1.86, 1.89, 1.86, 1.79, 1.75, 1.86, 1.79, 
##     1.69, 1.89, 2.06, 1.79, 2.09, 1.49, 1.99, 1.69, 1.39, 1.86, 
##     1.75, 1.89, 1.86, 1.89, 1.86, 1.99, 1.86, 1.99, 1.86, 1.89, 
##     1.86, 1.86, 1.69, 1.69, 1.86, 1.79, 1.69, 1.99, 1.99, 1.69, 
##     1.99, 1.89, 1.76, 1.99, 1.99, 1.75, 1.86, 1.75, 1.69, 1.69, 
##     1.79, 1.99, 1.76, 1.99, 1.59, 1.75, 1.69, 1.99, 1.89, 1.75, 
##     1.89, 1.49, 1.86, 1.99, 1.49, 1.49, 1.89, 1.79, 1.75, 1.69, 
##     1.59, 1.76, 1.86, 1.86, 1.89, 1.99, 1.79, 1.75, 1.86, 1.76, 
##     1.86, 1.69, 1.75, 1.69, 1.96, 1.99, 1.75, 1.49, 1.99, 1.76, 
##     1.69, 1.86, 1.86, 1.79, 1.75, 1.86, 1.89, 1.59, 1.86, 1.86, 
##     1.89, 1.69, 1.76, 1.86, 1.69, 1.89, 1.39, 1.99, 1.86, 1.79, 
##     1.86, 1.86, 1.79, 1.86, 1.86, 1.79, 1.86, 1.69, 1.49, 1.86, 
##     1.69, 1.79, 1.86, 1.89, 1.99, 1.99, 1.79, 1.86, 1.79, 1.76, 
##     1.69, 1.76, 1.99, 1.69, 1.86, 1.89, 1.99, 1.86, 1.86, 1.49, 
##     1.99, 1.76, 1.86, 1.99, 1.86, 1.89, 1.99, 1.76, 1.79, 1.99, 
##     1.86, 1.86, 1.86, 1.99, 1.99, 1.86, 1.86, 1.89, 1.99, 1.99, 
##     1.79, 1.86, 1.86, 1.89, 1.86, 1.79, 1.59, 2.06, 1.39, 1.75, 
##     1.76, 1.99, 1.76, 1.86, 1.69, 1.75, 1.86, 1.59, 1.99, 1.99, 
##     1.79, 1.76, 1.96, 1.75, 1.86, 1.99, 1.75, 1.99, 1.39, 2.09, 
##     1.89, 1.99, 1.69, 1.99, 1.86, 1.69, 1.49, 1.96, 1.99, 1.86, 
##     1.76, 1.69, 1.75, 1.69, 1.79, 1.49, 1.79, 1.75, 1.79, 1.86, 
##     1.99, 1.99, 1.86, 2.09, 1.79, 1.86, 1.86, 1.99, 1.69, 1.79, 
##     1.86, 1.86, 1.89, 1.86, 1.89, 1.86, 1.89, 1.99, 1.76, 1.86, 
##     1.49, 1.79, 1.99, 1.69, 1.86, 1.89, 1.69, 1.75, 1.86, 1.39, 
##     1.76, 1.99, 1.39, 1.86, 1.49, 1.79, 1.79, 1.96, 1.86, 1.99, 
##     1.79, 1.86, 1.86, 1.86, 1.69, 1.99, 1.86, 1.75, 1.86, 1.89, 
##     1.79, 1.96, 1.86, 1.69, 1.86, 1.49, 1.86, 1.99, 1.79, 1.99, 
##     1.79, 1.76, 1.99, 1.96, 1.89, 1.79, 1.75, 1.75, 1.69, 1.99, 
##     1.79, 1.99, 1.86, 1.79, 1.89, 1.86, 1.69, 1.69, 1.96, 1.89, 
##     1.86, 1.69, 1.86, 1.59, 1.99, 1.86, 1.99, 1.39, 1.86, 1.86, 
##     1.75, 1.59, 1.89, 1.86, 1.75, 1.86, 1.49, 1.86, 1.86, 1.99, 
##     1.86, 1.99, 1.99, 1.89, 1.79, 1.86, 1.79, 1.89, 1.86, 1.86, 
##     1.49, 1.79, 1.86, 1.89, 1.89, 1.99, 1.59, 1.99, 1.75, 1.99, 
##     1.89, 1.89, 1.39, 1.79, 1.99, 1.76, 1.99, 1.86, 1.86, 1.75, 
##     1.99, 1.69, 1.76, 1.86, 1.49, 1.76, 1.69, 1.99, 1.49, 1.89, 
##     1.76, 1.96, 1.86, 1.86, 1.99, 1.99, 1.89, 1.86, 1.79, 1.59, 
##     1.89, 1.76, 1.79, 1.86, 1.99, 1.99, 1.39, 1.69, 1.75, 1.76, 
##     1.96, 1.75, 1.86, 1.86, 1.89, 1.69, 1.69, 1.86, 1.86, 1.99, 
##     1.89, 1.99, 1.76, 1.79, 1.49, 1.86, 1.86, 1.86, 1.76, 1.99, 
##     1.86, 1.99, 1.86, 1.69, 1.99, 1.86, 1.86, 1.49, 1.86, 1.99, 
##     1.99, 1.99, 1.69, 1.99, 1.86, 1.75, 1.76, 1.99, 1.99, 1.59, 
##     1.86, 1.89, 1.86, 1.75, 1.99, 1.89, 1.99, 1.76, 1.76, 1.79, 
##     1.75, 1.75, 1.75, 1.89, 1.99, 1.96, 1.75, 1.69, 1.86, 1.89, 
##     1.86, 1.59, 1.76, 1.86, 1.96, 1.59, 1.39, 1.86, 1.49, 1.49, 
##     1.75, 1.86, 1.69, 1.86, 1.69, 1.86, 1.39, 1.86, 1.96, 1.86, 
##     1.86, 1.79, 1.96, 1.86, 1.79, 1.79, 1.75, 1.86, 1.75, 1.59, 
##     1.75, 1.89, 1.76, 1.89, 1.79, 1.86, 1.89, 1.75, 1.99, 1.69, 
##     1.79, 1.99, 1.86, 1.75, 1.69, 1.79, 1.39, 1.79, 1.75, 1.86, 
##     1.86, 1.39, 1.86, 1.75, 1.69, 1.86, 1.79, 1.76, 1.99, 1.86, 
##     1.86, 1.86, 1.49, 1.75, 1.69, 1.75, 1.89, 1.39, 1.69, 1.86, 
##     1.99, 1.99, 1.75, 1.79, 1.49, 1.89, 1.79, 1.99, 1.89, 1.75, 
##     1.69, 1.69, 1.75, 1.99, 1.89, 1.99, 1.75, 1.79, 1.96, 1.86, 
##     1.86, 1.86, 1.86, 1.75, 1.59, 1.69, 1.86, 1.79, 1.86, 1.79, 
##     1.99, 1.99, 1.86, 1.86, 1.99, 1.86, 1.86, 1.99, 1.89, 1.99, 
##     1.75, 1.79, 2.06, 1.39, 1.86, 1.86, 1.86, 1.79, 1.99, 1.89, 
##     1.86, 1.75, 1.59, 1.59, 1.69, 1.99, 1.99, 1.99, 1.79, 1.69, 
##     1.49, 1.75, 1.79, 1.75, 1.76, 1.86, 1.96, 1.75, 1.99, 1.89, 
##     1.86, 1.86, 1.86, 1.75, 1.89, 1.96, 1.59, 1.86, 1.89, 1.96, 
##     1.86, 1.86, 1.89, 1.75, 1.99, 1.99, 1.86, 1.79, 1.79, 1.99, 
##     1.86, 1.69, 1.89, 1.99, 1.99, 1.86, 1.86, 1.69, 1.86, 1.76, 
##     1.79, 2.06, 1.86, 1.89, 1.79, 1.86, 1.89, 1.86, 1.86, 1.86, 
##     1.99, 1.86, 1.86, 1.49, 1.99, 1.86, 1.86, 1.76, 1.79, 1.86, 
##     1.49, 1.69, 1.69, 1.76, 1.69, 1.99, 1.79, 1.89, 1.76, 1.86, 
##     1.99, 1.49, 1.69, 1.75, 2.09, 1.79, 1.99, 1.69, 1.75, 1.79, 
##     1.69, 1.75, 1.59, 1.86, 1.99, 1.96, 1.76, 1.99, 1.86, 1.86, 
##     1.86, 1.86, 1.75, 1.99, 1.76, 1.86, 1.49, 1.69, 1.69, 1.69, 
##     1.39, 1.86, 1.99, 1.75, 1.59, 1.76, 1.86, 1.99, 1.99, 1.99, 
##     1.99, 1.86, 1.89, 1.86, 1.99, 1.39, 1.49, 1.99, 2.09, 1.99, 
##     1.59, 1.99, 1.86, 1.89, 1.75, 1.59, 1.96, 1.75, 1.79, 1.86, 
##     1.59, 1.69, 1.39, 1.86, 1.86, 2.06, 1.89, 1.86, 1.86, 1.75, 
##     1.86, 1.89, 1.89, 1.86, 1.79, 1.89, 1.86, 1.86, 1.99, 1.99, 
##     1.49, 1.76, 1.49, 1.86, 1.99, 1.76, 1.99, 1.79, 1.89, 1.89, 
##     1.75, 1.76, 1.76, 1.99, 1.86, 1.79, 1.96, 1.86, 1.59, 1.89, 
##     1.86, 1.69, 1.86, 1.89, 1.99, 1.75, 1.76, 1.76, 1.79, 1.39, 
##     1.89, 1.86, 1.75, 1.86, 1.86, 1.76, 1.99, 1.75, 1.75, 1.39, 
##     1.89, 1.99, 1.89, 1.39, 1.89), c(0.2, -0.1, 0.44, 0.24, 0.64, 
##     0, -0.3, 0.32, 0.32, 0.27, 0.03, 0, -0.2, 0.54, 0.03, 0.2, 
##     0.2, 0.33, 0.3, -0.4, 0.19, 0, 0.32, -0.16, -0.3, 0.33, 0.44, 
##     0.64, -0.2, 0.42, 0.32, -0.27, 0.32, -0.16, 0.32, 0.03, 0, 
##     0, 0.3, 0.3, 0.2, 0, -0.2, -0.58, 0.24, -0.06, 0.24, 0.2, 
##     0.32, 0.2, 0.32, 0.3, 0.38, -0.08, 0.44, 0.3, -0.2, 0.07, 
##     0, -0.4, 0.64, 0.1, -0.2, 0.2, -0.38, 0.24, 0.2, 0.32, 0.2, 
##     0.26, -0.3, 0.03, 0.1, 0.32, -0.2, 0.03, 0.23, 0.3, 0, 0.26, 
##     0.3, 0.3, 0.24, 0.3, 0.3, 0.1, 0.2, 0.42, 0.3, 0.24, -0.16, 
##     0.27, 0.24, 0, 0.3, 0.3, 0.1, 0.42, 0.24, 0.54, -0.16, 0.3, 
##     -0.3, 0.2, 0.24, 0.2, 0.64, 0.26, 0.19, 0.64, 0.64, 0.2, 
##     0, 0.24, 0.3, 0.54, 0.42, 0.23, 0.27, -0.2, 0.24, 0, -0.16, 
##     0.23, -0.17, 0.32, 0.3, -0.06, 0.3, -0.57, 0.24, -0.06, 0.64, 
##     0.1, -0.17, 0, 0.03, 0.03, 0.3, -0.16, -0.67, 0.2, 0.54, 
##     0.26, 0.03, 0.2, 0.3, 0.33, 0.23, 0, -0.2, 0.2, 0.1, 0.27, 
##     0, -0.28, -0.17, 0, 0.27, 0.23, 0, 0.27, 0, 0.64, 0.27, 0.4, 
##     0.3, 0.27, 0.2, 0.24, 0.3, 0, -0.28, 0.3, -0.17, -0.2, 0.42, 
##     -0.4, 0, 0.23, 0.2, 0.24, 0.32, -0.08, 0.64, 0.3, 0.42, 0.23, 
##     0.19, 0.03, 0.2, 0.24, 0.33, 0, 0.24, 0.23, 0.32, 0.32, 0.24, 
##     0.1, 0.32, 0.27, 0.2, -0.3, 0.1, 0.3, 0.32, 0.32, 0.2, 0.32, 
##     0.44, 0.1, 0.07, 0.2, -0.06, 0.03, 0.24, 0.33, 0.23, 0, -0.16, 
##     0.32, 0.54, 0.3, 0.3, 0, 0.23, -0.57, -0.16, 0.32, -0.4, 
##     -0.16, -0.4, 0.2, -0.4, -0.2, -0.3, -0.2, 0.24, 0.26, 0, 
##     0.64, -0.58, -0.3, 0.32, 0.33, 0, 0.24, -0.2, 0.44, 0.64, 
##     0.3, -0.16, 0, 0.32, 0.1, 0.3, 0.23, -0.4, 0, 0.32, 0.32, 
##     0.19, 0.3, 0, 0.27, -0.17, 0.2, 0.32, 0.2, 0.03, 0.2, 0.1, 
##     0.33, 0.27, 0.64, 0.44, 0.19, 0.3, 0.27, 0.2, 0.3, -0.16, 
##     0.32, 0.2, 0.42, 0.19, 0.2, 0.03, 0.64, 0, 0, -0.57, 0.32, 
##     -0.4, 0.44, 0.27, 0.32, 0.23, -0.2, 0.24, 0.32, 0.24, 0.32, 
##     0.2, 0, -0.58, -0.38, 0.3, 0.32, 0.64, 0.32, -0.1, 0.44, 
##     0.3, 0.44, 0.42, 0.24, -0.58, 0.2, 0.3, 0.24, -0.16, 0.3, 
##     0.24, 0.3, 0.24, 0.32, 0.44, 0.2, -0.38, 0, -0.1, -0.57, 
##     0.2, 0.23, 0, 0.03, 0.54, 0.19, 0.32, 0.1, 0.2, 0.32, -0.67, 
##     0.38, 0.54, -0.2, 0.26, -0.16, 0.32, 0.64, 0.32, 0.03, 0.1, 
##     0.32, 0.24, -0.3, 0.2, 0.3, 0.32, 0.3, 0.2, 0.03, 0.27, 0.64, 
##     0, 0.03, 0.2, 0.2, -0.4, 0.54, -0.4, -0.16, -0.1, 0.2, -0.2, 
##     0.1, 0.44, 0.24, -0.17, 0.3, 0.03, 0.32, 0.24, 0.3, 0, 0.33, 
##     0.32, 0.64, 0.33, 0.3, 0.24, 0.64, -0.2, 0.42, -0.57, 0.26, 
##     0.27, 0.1, 0.24, 0.2, 0.32, 0.3, 0.54, -0.2, 0.42, 0.44, 
##     0.26, 0.24, 0.3, 0.2, 0.4, 0.24, 0.33, -0.57, -0.16, 0.32, 
##     0.23, -0.2, 0, 0, 0.27, 0.03, -0.3, 0.2, 0.3, 0.13, 0, 0.64, 
##     0.32, 0.32, 0.32, 0.42, 0.24, 0.32, -0.4, 0.32, 0.3, 0.3, 
##     -0.08, 0.23, 0.64, 0.32, 0.1, 0.24, 0.3, -0.2, -0.4, 0.27, 
##     -0.16, 0.42, 0.24, 0.1, 0.54, 0.23, 0.2, 0.32, -0.16, 0.24, 
##     -0.2, -0.3, 0.33, 0.42, 0.3, 0.24, 0.24, 0.24, 0.2, 0.24, 
##     -0.58, 0.24, 0, 0.23, 0.2, -0.67, 0.54, -0.17, 0.32, -0.57, 
##     0.54, 0.2, 0.27, 0.64, 0.64, -0.06, 0.32, 0, 0.32, -0.2, 
##     0.32, 0.2, 0.32, -0.57, 0.03, -0.17, 0.3, -0.58, 0.27, 0.3, 
##     0, -0.06, 0.32, -0.16, 0.54, -0.16, 0.2, -0.17, 0.2, 0, 0.26, 
##     0.2, -0.16, 0.1, 0.3, 0, 0.24, -0.08, -0.16, 0.3, 0.44, 0.2, 
##     0, -0.16, 0.27, 0.26, 0.2, 0.26, -0.16, 0.3, 0.26, 0.3, 0.33, 
##     0.19, 0.27, -0.38, -0.08, 0.64, -0.06, 0, 0.24, 0.2, 0.3, 
##     0.3, 0.23, 0.3, 0.24, -0.06, 0.3, 0.64, 0.2, 0, -0.1, -0.2, 
##     0.24, 0.3, 0, -0.06, -0.4, 0.2, 0.24, -0.06, 0.44, -0.57, 
##     -0.67, 0.32, 0.32, 0.32, 0.24, 0.54, 0.3, -0.08, 0.3, 0.32, 
##     0.44, -0.3, 0.19, 0.32, 0.23, 0.24, 0.32, 0.32, 0.24, 0.2, 
##     0.1, 0.24, 0.3, 0.07, 0.3, -0.28, -0.67, 0.32, 0.44, -0.4, 
##     0.2, 0.32, -0.16, 0.54, 0.54, 0.3, 0.24, 0.1, -0.3, 0.44, 
##     0.3, 0.64, -0.16, 0.3, -0.16, 0.33, 0.32, -0.58, -0.16, 0.24, 
##     0.2, 0.32, 0.32, 0.03, -0.16, 0.2, -0.58, 0.54, 0.23, -0.2, 
##     -0.58, 0.32, 0.03, 0.2, -0.16, 0.3, 0.3, 0.27, 0, 0, -0.1, 
##     0.32, 0, 0.2, -0.1, -0.4, -0.28, 0.23, 0, 0.32, -0.17, 0.3, 
##     0.07, -0.08, 0.2, 0, -0.08, 0.2, 0.32, -0.38, 0.03, 0.3, 
##     0.03, 0.27, 0.64, -0.4, 0.03, -0.07, 0.33, 0.3, 0.32, 0.64, 
##     0.3, 0, 0.33, 0, 0.24, 0, 0.2, 0.13, 0.26, -0.3, 0.64, 0.3, 
##     -0.16, -0.4, 0.3, -0.3, 0, -0.16, 0.3, 0, 0.24, 0.54, -0.07, 
##     0.24, -0.58, 0.42, -0.4, -0.17, 0.32, 0.32, -0.08, -0.16, 
##     -0.3, 0.33, 0.32, 0.64, 0, 0, 0, 0.2, 0.32, 0.24, 0.24, 0.54, 
##     0.23, 0.32, 0.19, -0.3, -0.3, 0.24, -0.28, 0.2, 0.03, 0.24, 
##     0.3, 0.64, 0.24, -0.4, 0.24, 0.1, 0.24, 0.32, -0.2, -0.06, 
##     0.54, -0.58, -0.06, 0.3, 0.23, 0.54, 0, 0.2, 0.32, -0.17, 
##     0.07, 0.2, 0.32, 0.32, -0.16, -0.67, 0.2, 0.2, -0.17, 0.3, 
##     -0.2, 0.27, 0.32, 0.24, 0.3, 0.64, 0.33, 0.64, 0.27, 0.3, 
##     0.42, 0.24, 0.44, 0.2, -0.2, -0.16, 0.03, 0.33, -0.4, 0.32, 
##     0, -0.58, 0.23, 0.1, 0.2, 0.23, -0.2, 0.32, 0.2, 0.24, -0.16, 
##     0.33, 0.33, 0.3, 0.2, 0.2, 0.27, 0.24, 0.27, 0.03, 0.33, 
##     0.3, -0.16, 0.24, 0.1, 0.2, 0.19, -0.2, 0.2, 0.2), c(0, 0, 
##     0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 
##     0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
##     0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 
##     0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 
##     0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 
##     0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 
##     0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 
##     0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 
##     0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 
##     1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 
##     0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 
##     0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 
##     1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 
##     0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 
##     0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
##     1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
##     1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
##     0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 
##     0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 
##     0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 
##     1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
##     0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 
##     0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
##     0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 
##     1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 
##     0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 
##     0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 
##     1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 
##     0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 
##     0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 
##     0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 
##     0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 
##     1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 
##     0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 
##     0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 
##     0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 
##     0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0), 
##     c(0, 0.174672, 0, 0, 0, 0, 0.191388, 0, 0, 0, 0.112676, 0, 
##     0.118343, 0, 0.100503, 0, 0.253521, 0, 0, 0.253521, 0, 0, 
##     0, 0.201005, 0.191388, 0, 0, 0, 0.191388, 0, 0, 0.253521, 
##     0, 0.201005, 0, 0.112676, 0, 0, 0, 0, 0, 0, 0.191388, 0.366972, 
##     0, 0.150754, 0, 0, 0, 0, 0, 0, 0, 0.183486, 0, 0, 0.191388, 
##     0, 0, 0.191388, 0, 0, 0.118343, 0.253521, 0.321101, 0, 0, 
##     0, 0, 0.027523, 0.191388, 0.095694, 0, 0, 0.191388, 0.095694, 
##     0, 0, 0, 0.027523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.201005, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0.201005, 0, 0.191388, 0, 0, 0, 
##     0, 0.027523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.191388, 0, 
##     0, 0.201005, 0, 0.201005, 0, 0, 0.150754, 0, 0.347418, 0, 
##     0.150754, 0, 0, 0.201005, 0, 0.050251, 0.095694, 0, 0.201005, 
##     0.40201, 0, 0, 0.027523, 0.050251, 0, 0, 0, 0, 0, 0.191388, 
##     0.253521, 0, 0, 0, 0.275229, 0.150754, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0.275229, 0, 0.201005, 0.118343, 
##     0, 0.253521, 0, 0, 0, 0, 0, 0.183486, 0, 0, 0, 0, 0, 0.050251, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.191388, 0, 0, 0, 
##     0, 0, 0, 0, 0.150754, 0, 0.253521, 0.150754, 0.100503, 0, 
##     0, 0, 0, 0.201005, 0, 0, 0, 0, 0, 0, 0.347418, 0.201005, 
##     0, 0.253521, 0.201005, 0.253521, 0.253521, 0.191388, 0.191388, 
##     0.191388, 0.118343, 0, 0.027523, 0, 0, 0.366972, 0.191388, 
##     0, 0, 0, 0, 0.118343, 0, 0, 0, 0.201005, 0, 0, 0, 0, 0, 0.191388, 
##     0, 0, 0, 0, 0, 0, 0, 0.150754, 0, 0, 0, 0.095694, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0.201005, 0, 0.253521, 0, 0, 0.253521, 
##     0.112676, 0, 0, 0, 0.347418, 0, 0.253521, 0, 0, 0, 0, 0.118343, 
##     0, 0, 0, 0, 0, 0, 0.366972, 0.321101, 0, 0, 0, 0, 0.174672, 
##     0, 0, 0, 0, 0, 0.366972, 0, 0, 0, 0.201005, 0, 0, 0, 0, 0, 
##     0, 0, 0.321101, 0, 0.201005, 0.347418, 0, 0, 0, 0.112676, 
##     0, 0, 0, 0, 0.253521, 0, 0.40201, 0, 0, 0.191388, 0.027523, 
##     0.201005, 0, 0, 0, 0.095694, 0, 0, 0, 0.191388, 0, 0, 0, 
##     0, 0, 0.095694, 0, 0, 0, 0.095694, 0, 0, 0.253521, 0, 0.253521, 
##     0.201005, 0.174672, 0, 0.191388, 0.118343, 0, 0, 0.201005, 
##     0, 0.112676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.191388, 0, 
##     0.347418, 0.027523, 0, 0, 0, 0, 0, 0, 0, 0.191388, 0, 0, 
##     0.027523, 0, 0, 0.253521, 0, 0, 0, 0.347418, 0.201005, 0, 
##     0, 0.191388, 0, 0, 0, 0.050251, 0.191388, 0, 0, 0.050251, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0.253521, 0, 0, 0, 0.183486, 0, 0, 
##     0, 0, 0, 0, 0.118343, 0.253521, 0, 0.201005, 0, 0, 0, 0, 
##     0, 0, 0, 0.201005, 0, 0.191388, 0.191388, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0.366972, 0, 0, 0, 0, 0.40201, 0, 0.201005, 0, 0.347418, 
##     0, 0.253521, 0, 0, 0, 0.150754, 0, 0, 0, 0.118343, 0, 0.253521, 
##     0, 0.347418, 0.112676, 0.150754, 0, 0.366972, 0, 0, 0, 0.150754, 
##     0, 0.201005, 0, 0.201005, 0, 0.201005, 0, 0, 0.027523, 0, 
##     0.201005, 0, 0, 0, 0, 0.183486, 0.201005, 0, 0, 0.253521, 
##     0, 0.201005, 0, 0.027523, 0.253521, 0.027523, 0.201005, 0, 
##     0.027523, 0, 0, 0, 0, 0.321101, 0.183486, 0, 0.150754, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0.150754, 0, 0, 0, 0, 0.174672, 0.191388, 
##     0, 0, 0, 0.150754, 0.253521, 0, 0, 0.150754, 0, 0.347418, 
##     0.40201, 0, 0, 0, 0, 0, 0, 0.183486, 0, 0, 0, 0.191388, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.275229, 0.40201, 0, 
##     0, 0.253521, 0, 0, 0.201005, 0, 0, 0, 0, 0, 0.191388, 0, 
##     0, 0, 0.201005, 0, 0.201005, 0, 0, 0.366972, 0.201005, 0, 
##     0, 0, 0, 0.112676, 0.201005, 0, 0.366972, 0, 0, 0.191388, 
##     0.366972, 0, 0.112676, 0, 0.201005, 0, 0, 0, 0, 0, 0.174672, 
##     0, 0, 0, 0.174672, 0.253521, 0.275229, 0, 0, 0, 0.201005, 
##     0, 0, 0.183486, 0, 0, 0.183486, 0, 0, 0.321101, 0.112676, 
##     0, 0.112676, 0, 0, 0.253521, 0.112676, 0.100503, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0.050251, 0.027523, 0.191388, 0, 
##     0, 0.201005, 0.191388, 0, 0.191388, 0, 0.201005, 0, 0, 0, 
##     0, 0.100503, 0, 0.366972, 0, 0.253521, 0.150754, 0, 0, 0.183486, 
##     0.201005, 0.191388, 0, 0, 0, 0, 0, 0, 0.253521, 0, 0, 0, 
##     0, 0, 0, 0, 0.191388, 0.191388, 0, 0.275229, 0, 0.112676, 
##     0, 0, 0, 0, 0.191388, 0, 0.150754, 0, 0, 0.191388, 0.150754, 
##     0, 0.366972, 0.150754, 0, 0, 0, 0, 0.253521, 0, 0.150754, 
##     0, 0, 0, 0, 0.201005, 0.40201, 0, 0, 0.150754, 0, 0.191388, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.191388, 0.201005, 
##     0.100503, 0, 0.253521, 0, 0, 0.366972, 0, 0.150754, 0, 0, 
##     0.118343, 0, 0, 0, 0.201005, 0, 0, 0, 0.253521, 0, 0, 0, 
##     0, 0.050251, 0, 0, 0.201005, 0, 0.118343, 0, 0, 0.191388, 
##     0.253521, 0), c(0, 0, 0, 0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0.145161, 0, 0.050251, 0.252688, 0.053763, 0.177515, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0.198925, 0.095694, 0.068783, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.095694, 0, 0, 0, 0, 0, 0, 
##     0.050251, 0, 0, 0.120603, 0, 0, 0, 0.095694, 0, 0, 0, 0.198925, 
##     0, 0, 0.252688, 0, 0, 0.050251, 0, 0.050251, 0, 0, 0, 0, 
##     0, 0.095694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.050251, 0.068783, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145161, 0, 0, 0, 0.050251, 
##     0, 0.050251, 0.198925, 0, 0, 0.251256, 0.198925, 0, 0, 0, 
##     0, 0.145161, 0, 0, 0, 0.095694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145161, 0, 
##     0, 0.095694, 0, 0.068783, 0, 0, 0.095694, 0.252688, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0.198925, 0, 0.091398, 0, 0, 0.050251, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0.251256, 
##     0, 0.068783, 0, 0, 0, 0, 0, 0.068783, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0.095694, 0, 0, 0, 0, 0, 0.050251, 0, 0, 0.091429, 
##     0, 0.252688, 0, 0, 0, 0.068783, 0, 0, 0, 0, 0.145161, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0.252688, 0, 0.050251, 0, 0, 0, 
##     0, 0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0.198925, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.095694, 0, 0.050251, 
##     0, 0.050251, 0, 0.068783, 0, 0.198925, 0, 0, 0, 0, 0.095694, 
##     0, 0, 0, 0.252688, 0.068783, 0, 0.252688, 0, 0.251256, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0.050251, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0.145161, 
##     0, 0, 0, 0.252688, 0, 0, 0.120603, 0.145161, 0.095694, 0, 
##     0, 0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.095694, 0, 
##     0, 0.198925, 0, 0, 0.095694, 0, 0, 0.145161, 0, 0, 0, 0, 
##     0.050251, 0.177515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.198925, 
##     0.053763, 0, 0, 0.198925, 0.095694, 0, 0, 0, 0, 0, 0, 0.050251, 
##     0, 0, 0.145161, 0.095694, 0.068783, 0, 0, 0, 0, 0.252688, 
##     0.091398, 0, 0.053763, 0, 0, 0, 0, 0.095694, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0.198925, 0, 0, 0, 0, 0, 0, 0, 0, 0.068783, 0, 0, 0.145161, 
##     0, 0, 0, 0, 0, 0.050251, 0, 0.053763, 0, 0, 0, 0, 0, 0.050251, 
##     0, 0, 0, 0, 0, 0.050251, 0, 0.145161, 0, 0, 0, 0.145161, 
##     0.252688, 0, 0.198925, 0.251256, 0, 0, 0, 0, 0, 0, 0.252688, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145161, 0, 0.050251, 
##     0, 0.050251, 0, 0, 0.050251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.252688, 
##     0, 0, 0, 0, 0.252688, 0, 0, 0, 0, 0, 0.068783, 0, 0, 0, 0, 
##     0.198925, 0, 0, 0, 0, 0.177515, 0, 0, 0, 0, 0, 0, 0.251256, 
##     0, 0, 0, 0.050251, 0, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0.145161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0.050251, 0, 0, 0, 0, 0.177515, 0, 0, 0, 0, 0, 0.050251, 
##     0, 0, 0.145161, 0.145161, 0, 0, 0, 0, 0, 0, 0.198925, 0, 
##     0, 0, 0.068783, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0, 0.050251, 
##     0, 0.145161, 0, 0.050251, 0, 0, 0, 0.050251, 0, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0.050251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0, 0, 0.050251, 0, 0, 0, 0, 0, 0, 0.198925, 0, 0, 0, 0, 0, 
##     0, 0.251256, 0, 0, 0.068783, 0, 0, 0, 0.050251, 0, 0, 0, 
##     0.251256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145161, 0, 0, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0, 0.053763, 0, 0.251256, 0, 0, 0, 0.252688, 
##     0, 0, 0, 0.145161, 0, 0, 0, 0, 0, 0, 0, 0.050251, 0, 0, 0.177515, 
##     0.198925, 0, 0, 0, 0.091429, 0, 0, 0.050251, 0, 0.145161, 
##     0, 0, 0, 0, 0.145161, 0, 0.252688, 0, 0, 0, 0, 0, 0, 0, 0, 
##     0.050251, 0.050251, 0, 0, 0.095694, 0, 0, 0, 0, 0.198925, 
##     0, 0.251256, 0, 0, 0.068783, 0, 0, 0.050251, 0.050251, 0, 
##     0, 0, 0, 0, 0, 0, 0, 0.091429, 0.050251, 0, 0, 0, 0.050251, 
##     0, 0, 0.068783, 0.053763, 0, 0.252688, 0.050251, 0, 0, 0, 
##     0, 0.053763, 0, 0, 0, 0.177515, 0.050251, 0, 0.095694, 0.252688, 
##     0.050251), c(0.2, 0.3, 0.44, 0.24, 0.27, 0, 0.1, 0.32, 0.32, 
##     0.27, 0.27, 0, 0, 0.27, 0.23, 0.1, 0.27, 0.23, 0, 0.14, 0.19, 
##     0, 0.32, 0.24, 0.1, 0.33, 0.44, 0.27, 0, 0.29, 0.32, 0.27, 
##     0.32, 0.24, 0.32, 0.27, 0, 0, 0.3, 0.3, 0.2, 0, 0, 0.22, 
##     0.24, 0.24, 0.24, 0.2, 0.32, 0.1, 0.32, 0.3, 0.14, 0.32, 
##     0.44, 0.3, 0, 0.07, 0, 0, 0.27, 0.1, 0, 0.27, 0.32, 0.24, 
##     0.1, 0.32, 0.1, 0.32, 0.1, 0.23, 0.1, 0.32, 0, 0.23, 0.23, 
##     0.3, 0, 0.32, 0.3, 0.3, 0.24, 0.3, 0.3, 0.1, 0.1, 0.29, 0.3, 
##     0.24, 0.24, 0.27, 0.24, 0, 0.3, 0.3, 0.1, 0.42, 0.24, 0.27, 
##     0.24, 0.3, 0.1, 0.1, 0.24, 0.1, 0.27, 0.32, 0.19, 0.14, 0.27, 
##     0.2, 0, 0.24, 0.3, 0.27, 0.42, 0.23, 0.27, 0, 0.24, 0, 0.24, 
##     0.23, 0.23, 0.32, 0.3, 0.24, 0.3, 0.17, 0.24, 0.24, 0.27, 
##     0.1, 0.23, 0, 0.13, 0.23, 0.3, 0.24, 0.13, 0.2, 0.27, 0.32, 
##     0.13, 0, 0.3, 0.2, 0.23, 0, 0, 0.27, 0.1, 0.27, 0, 0.32, 
##     0.13, 0, 0.27, 0.23, 0, 0.27, 0, 0.27, 0.27, 0.23, 0.3, 0.27, 
##     0.1, 0.24, 0.3, 0, 0.32, 0.3, 0.23, 0, 0.42, 0.14, 0, 0.23, 
##     0.1, 0.24, 0.32, 0.32, 0.14, 0.3, 0.29, 0.23, 0.19, 0.13, 
##     0.2, 0.24, 0.2, 0, 0.24, 0.23, 0.32, 0.32, 0.24, 0.1, 0.32, 
##     0.27, 0, 0.1, 0.1, 0.3, 0.32, 0.32, 0.1, 0.32, 0.44, 0.24, 
##     0.07, 0.27, 0.24, 0.23, 0.24, 0.2, 0.23, 0, 0.24, 0.32, 0.27, 
##     0.3, 0.3, 0, 0.23, 0.17, 0.24, 0.32, 0.14, 0.24, 0.14, 0.27, 
##     0, 0.1, 0.1, 0, 0.24, 0.32, 0, 0.27, 0.22, 0.1, 0.32, 0.33, 
##     0, 0.24, 0, 0.44, 0.27, 0.3, 0.24, 0, 0.32, 0.1, 0.3, 0.23, 
##     0, 0, 0.32, 0.32, 0.19, 0.3, 0, 0.27, 0.13, 0, 0.32, 0.1, 
##     0.23, 0.1, 0.1, 0.2, 0.27, 0.27, 0.44, 0.19, 0.3, 0.27, 0, 
##     0.3, 0.24, 0.32, 0.27, 0.29, 0.19, 0.27, 0.27, 0.14, 0, 0, 
##     0.17, 0.32, 0.14, 0.44, 0.27, 0.32, 0.23, 0, 0.24, 0.32, 
##     0.24, 0.32, 0.2, 0, 0.22, 0.32, 0.3, 0.32, 0.27, 0.32, 0.3, 
##     0.44, 0.3, 0.44, 0.42, 0.24, 0.22, 0.1, 0.3, 0.24, 0.24, 
##     0.3, 0.24, 0.3, 0.24, 0.32, 0.44, 0.1, 0.32, 0, 0.3, 0.17, 
##     0.1, 0.23, 0, 0.27, 0.27, 0.19, 0.32, 0.1, 0.27, 0.32, 0.13, 
##     0.14, 0.27, 0, 0.32, 0.24, 0.32, 0.27, 0.32, 0.23, 0.1, 0.32, 
##     0.24, 0.1, 0.2, 0.3, 0.32, 0.3, 0, 0.23, 0.27, 0.27, 0, 0.23, 
##     0, 0.2, 0.14, 0.27, 0.14, 0.24, 0.3, 0.2, 0.1, 0, 0.44, 0.24, 
##     0.23, 0.3, 0.27, 0.32, 0.24, 0.3, 0, 0.33, 0.32, 0.27, 0.23, 
##     0.3, 0.24, 0.27, 0, 0.42, 0.17, 0.32, 0.27, 0.1, 0.24, 0.1, 
##     0.32, 0.3, 0.27, 0, 0.29, 0.44, 0.32, 0.24, 0.3, 0.27, 0.23, 
##     0.24, 0.23, 0.17, 0.24, 0.32, 0.23, 0, 0, 0, 0.27, 0.13, 
##     0.1, 0.2, 0.3, 0.23, 0, 0.27, 0.32, 0.32, 0.32, 0.42, 0.24, 
##     0.32, 0.14, 0.32, 0.3, 0.3, 0.32, 0.23, 0.27, 0.32, 0.1, 
##     0.24, 0.3, 0, 0.14, 0.27, 0.24, 0.29, 0.24, 0.1, 0.27, 0.23, 
##     0.2, 0.32, 0.24, 0.24, 0.1, 0.1, 0.23, 0.42, 0.3, 0.24, 0.24, 
##     0.24, 0.1, 0.24, 0.22, 0.24, 0, 0.23, 0.1, 0.13, 0.27, 0.23, 
##     0.32, 0.17, 0.27, 0.27, 0.27, 0.27, 0.14, 0.24, 0.32, 0, 
##     0.32, 0, 0.32, 0.27, 0.32, 0.17, 0.27, 0.13, 0.3, 0.22, 0.27, 
##     0.3, 0, 0.24, 0.32, 0.24, 0.27, 0.24, 0.1, 0.23, 0.1, 0, 
##     0.32, 0.1, 0.24, 0.1, 0.3, 0, 0.24, 0.32, 0.24, 0.3, 0.44, 
##     0.27, 0, 0.24, 0.27, 0.32, 0.27, 0.32, 0.24, 0.3, 0.32, 0.3, 
##     0.2, 0.19, 0.27, 0.32, 0.32, 0.27, 0.24, 0, 0.24, 0.2, 0, 
##     0.3, 0.23, 0.3, 0.24, 0.24, 0.3, 0.14, 0.2, 0, 0.3, 0.1, 
##     0.24, 0.3, 0, 0.24, 0.14, 0.1, 0.24, 0.24, 0.44, 0.17, 0.13, 
##     0.32, 0.32, 0.32, 0.24, 0.27, 0.3, 0.32, 0.3, 0.32, 0.44, 
##     0.1, 0.19, 0.32, 0.23, 0.24, 0.32, 0.32, 0.24, 0.1, 0.1, 
##     0.24, 0.3, 0.07, 0, 0.32, 0.13, 0.32, 0.44, 0.14, 0.1, 0.32, 
##     0.24, 0.27, 0.27, 0.3, 0.24, 0.1, 0.1, 0.44, 0.3, 0.27, 0.24, 
##     0.3, 0.24, 0.2, 0.32, 0.22, 0.24, 0.24, 0.1, 0.32, 0.32, 
##     0.27, 0.24, 0.1, 0.22, 0.27, 0.23, 0.1, 0.22, 0.32, 0.27, 
##     0.1, 0.24, 0.3, 0.3, 0.27, 0, 0, 0.3, 0.32, 0, 0.1, 0.3, 
##     0.14, 0.32, 0.23, 0, 0.32, 0.23, 0.3, 0.07, 0.32, 0.2, 0, 
##     0.32, 0.1, 0.32, 0.32, 0.27, 0.3, 0.27, 0.27, 0.27, 0.14, 
##     0.27, 0.13, 0.33, 0.3, 0.32, 0.14, 0.3, 0, 0.2, 0, 0.24, 
##     0, 0.1, 0.23, 0.32, 0.1, 0.14, 0.3, 0.24, 0, 0.3, 0.1, 0, 
##     0.24, 0.3, 0, 0.24, 0.27, 0.13, 0.24, 0.22, 0.42, 0.14, 0.13, 
##     0.32, 0.32, 0.32, 0.24, 0.1, 0.23, 0.32, 0.14, 0, 0, 0, 0.27, 
##     0.32, 0.24, 0.24, 0.27, 0.23, 0.32, 0.19, 0.1, 0.1, 0.24, 
##     0.32, 0.1, 0.27, 0.24, 0, 0.27, 0.24, 0, 0.24, 0.24, 0.24, 
##     0.32, 0.1, 0.24, 0.27, 0.22, 0.24, 0.3, 0.23, 0.27, 0, 0.27, 
##     0.32, 0.13, 0.07, 0.2, 0.32, 0.32, 0.24, 0.13, 0.1, 0.1, 
##     0.13, 0.3, 0, 0.27, 0.32, 0.24, 0.3, 0.27, 0.33, 0.14, 0.27, 
##     0.3, 0.29, 0.24, 0.44, 0.1, 0.1, 0.24, 0.23, 0.33, 0.14, 
##     0.32, 0, 0.22, 0.23, 0.24, 0.1, 0.23, 0, 0.32, 0.1, 0.24, 
##     0.24, 0.2, 0.23, 0.3, 0.27, 0.1, 0.27, 0.24, 0.27, 0.13, 
##     0.23, 0.3, 0.24, 0.24, 0, 0.1, 0.19, 0, 0.27, 0.1), c(2, 
##     3, 3, 4, 0, 4, 4, 1, 0, 0, 0, 4, 0, 0, 1, 3, 0, 0, 2, 0, 
##     2, 4, 0, 0, 4, 1, 3, 0, 3, 2, 2, 0, 2, 0, 2, 0, 1, 2, 1, 
##     3, 2, 4, 3, 2, 1, 2, 3, 2, 2, 4, 2, 4, 1, 2, 3, 2, 4, 0, 
##     4, 4, 0, 3, 1, 0, 2, 2, 4, 2, 4, 2, 3, 0, 4, 2, 3, 0, 1, 
##     2, 2, 2, 4, 1, 4, 4, 1, 3, 3, 2, 4, 3, 0, 0, 1, 2, 1, 3, 
##     4, 1, 3, 0, 0, 1, 3, 3, 1, 3, 0, 2, 2, 0, 0, 2, 4, 2, 0, 
##     0, 1, 0, 0, 4, 3, 3, 0, 0, 1, 1, 1, 1, 0, 1, 4, 1, 0, 3, 
##     1, 2, 1, 0, 3, 0, 1, 2, 0, 2, 1, 3, 1, 2, 1, 2, 3, 0, 4, 
##     0, 3, 2, 1, 4, 0, 0, 4, 0, 2, 0, 0, 1, 3, 0, 4, 3, 3, 3, 
##     2, 3, 1, 0, 1, 0, 2, 2, 4, 4, 2, 2, 0, 3, 2, 0, 2, 1, 2, 
##     3, 2, 3, 3, 0, 0, 0, 4, 4, 0, 0, 4, 3, 4, 3, 2, 2, 4, 1, 
##     3, 2, 0, 0, 1, 1, 3, 2, 0, 2, 0, 2, 0, 3, 4, 4, 1, 1, 0, 
##     1, 0, 0, 0, 0, 3, 3, 3, 0, 3, 2, 0, 0, 2, 4, 0, 1, 1, 2, 
##     0, 3, 0, 3, 0, 4, 0, 3, 4, 0, 4, 4, 0, 0, 2, 1, 3, 0, 1, 
##     3, 2, 3, 0, 3, 4, 2, 0, 0, 3, 2, 1, 0, 3, 0, 0, 0, 0, 2, 
##     2, 0, 0, 0, 3, 3, 1, 1, 0, 3, 0, 2, 2, 0, 4, 2, 2, 0, 2, 
##     3, 2, 2, 1, 0, 0, 1, 3, 4, 3, 4, 1, 3, 2, 3, 4, 2, 0, 0, 
##     4, 3, 4, 0, 3, 4, 2, 2, 0, 1, 3, 1, 2, 0, 0, 2, 0, 3, 0, 
##     0, 1, 1, 0, 4, 2, 0, 1, 0, 1, 0, 4, 0, 3, 4, 2, 3, 0, 4, 
##     3, 0, 0, 0, 3, 0, 4, 2, 0, 0, 0, 0, 3, 2, 3, 1, 3, 3, 1, 
##     4, 0, 2, 2, 4, 1, 1, 2, 0, 0, 1, 3, 0, 3, 1, 1, 2, 0, 4, 
##     4, 3, 0, 4, 0, 4, 2, 4, 2, 4, 3, 0, 1, 1, 0, 1, 0, 0, 0, 
##     4, 2, 2, 0, 1, 3, 2, 3, 1, 3, 0, 0, 0, 0, 1, 3, 0, 0, 0, 
##     1, 3, 2, 1, 0, 2, 4, 4, 3, 0, 0, 0, 0, 2, 3, 3, 0, 1, 2, 
##     2, 0, 4, 4, 4, 0, 1, 3, 2, 1, 2, 4, 3, 2, 1, 2, 1, 3, 1, 
##     0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 2, 0, 0, 1, 0, 
##     1, 3, 2, 0, 3, 4, 2, 0, 0, 0, 0, 3, 1, 4, 3, 2, 4, 0, 3, 
##     1, 4, 4, 2, 0, 2, 4, 0, 3, 0, 0, 2, 0, 2, 0, 2, 2, 3, 2, 
##     2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 4, 3, 1, 3, 0, 2, 3, 
##     3, 4, 2, 0, 1, 2, 0, 4, 3, 2, 3, 1, 1, 0, 0, 1, 2, 0, 0, 
##     2, 3, 0, 3, 4, 2, 0, 2, 3, 2, 0, 4, 4, 3, 2, 3, 0, 2, 2, 
##     1, 0, 3, 0, 4, 2, 0, 0, 0, 1, 3, 4, 3, 3, 0, 0, 0, 3, 0, 
##     2, 2, 2, 0, 3, 4, 2, 0, 0, 0, 3, 2, 0, 0, 3, 2, 2, 0, 4, 
##     0, 3, 4, 0, 3, 3, 4, 0, 0, 3, 4, 0, 2, 1, 2, 0, 1, 0, 0, 
##     2, 2, 4, 2, 4, 1, 2, 0, 4, 0, 0, 0, 0, 0, 1, 1, 3, 2, 0, 
##     0, 2, 2, 2, 3, 3, 3, 1, 2, 3, 0, 0, 0, 4, 3, 4, 2, 0, 0, 
##     1, 2, 0, 1, 3, 2, 1, 0, 1, 0, 0, 2, 0, 4, 0, 0, 0, 2, 1, 
##     2, 0, 0, 3, 1, 0, 1, 1, 2, 4, 4, 4, 2, 3, 0, 3, 2, 0, 3, 
##     3, 3, 2, 4, 0, 3, 1, 0, 2, 1, 3, 0, 0, 2, 0, 1, 1, 0, 2, 
##     1, 2, 0, 1, 3, 3, 1, 3, 4, 0, 0, 3, 4, 0, 1, 0, 0, 4, 2, 
##     4, 4, 4, 4, 0, 1, 1, 0, 2, 3, 2, 1, 2, 3, 1, 1, 0, 3, 3, 
##     0, 2, 0, 4, 0, 4, 0, 2, 0, 1, 0, 3, 0, 2, 1, 4, 2, 4, 0, 
##     3), c(2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 
##     1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 
##     2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 
##     2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 
##     2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 
##     2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 
##     1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 
##     1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 
##     1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 
##     1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 
##     2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 
##     1, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 
##     1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 
##     1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 
##     2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 
##     2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 
##     2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 
##     2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 
##     1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 
##     2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 
##     1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 
##     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 
##     1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 
##     1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 1, 
##     1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 
##     1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 
##     1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, 
##     2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 
##     1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 
##     1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1, 
##     2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 
##     1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 
##     1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 
##     1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 
##     2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 
##     2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 
##     1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 
##     1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 
##     2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 
##     2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 
##     1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 
##     1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 
##     2, 1, 1, 2)), control = list(20, 7, 0, 4, 5, 2, 0, 30, 0))
##   n= 800 
## 
##            CP nsplit rel error
## 1 0.529220779      0 1.0000000
## 2 0.015151515      1 0.4707792
## 3 0.008658009      4 0.4253247
## 4 0.008116883      9 0.3798701
## 5 0.003246753     11 0.3636364
## 6 0.001000000     17 0.3441558
## 
## Variable importance
##        LoyalCH      PriceDiff    SalePriceMM  ListPriceDiff        PriceMM 
##             52              8              6              5              4 
##         DiscMM      PctDiscMM        StoreID    SalePriceCH        PriceCH 
##              4              4              3              2              2 
##      PctDiscCH WeekofPurchase         DiscCH          STORE      SpecialCH 
##              2              2              2              1              1 
##      Store7Yes 
##              1 
## 
## Node number 1: 800 observations,    complexity param=0.5292208
##   predicted class=CH  expected loss=0.385  P(node) =1
##     class counts:   492   308
##    probabilities: 0.615 0.385 
##   left son=2 (515 obs) right son=3 (285 obs)
##   Primary splits:
##       LoyalCH   < 0.48285   to the right, improve=142.35420, (0 missing)
##       StoreID   < 3.5       to the right, improve= 38.92912, (0 missing)
##       PriceDiff < 0.015     to the right, improve= 21.29666, (0 missing)
##       Store7Yes < 0.5       to the right, improve= 20.47828, (0 missing)
##       STORE     < 0.5       to the left,  improve= 20.47828, (0 missing)
##   Surrogate splits:
##       DiscMM      < 0.57      to the left,  agree=0.652, adj=0.025, (0 split)
##       PctDiscMM   < 0.264375  to the left,  agree=0.652, adj=0.025, (0 split)
##       PriceMM     < 1.89      to the right, agree=0.651, adj=0.021, (0 split)
##       SalePriceMM < 1.385     to the right, agree=0.651, adj=0.021, (0 split)
##       PriceDiff   < -0.575    to the right, agree=0.651, adj=0.021, (0 split)
## 
## Node number 2: 515 observations,    complexity param=0.01515152
##   predicted class=CH  expected loss=0.1631068  P(node) =0.64375
##     class counts:   431    84
##    probabilities: 0.837 0.163 
##   left son=4 (313 obs) right son=5 (202 obs)
##   Primary splits:
##       LoyalCH       < 0.705699  to the right, improve=16.736450, (0 missing)
##       PriceDiff     < 0.015     to the right, improve=10.207720, (0 missing)
##       SalePriceMM   < 2.125     to the right, improve= 8.685844, (0 missing)
##       ListPriceDiff < 0.255     to the right, improve= 7.226422, (0 missing)
##       PriceMM       < 2.04      to the right, improve= 5.060421, (0 missing)
##   Surrogate splits:
##       WeekofPurchase < 237.5     to the right, agree=0.674, adj=0.168, (0 split)
##       PriceCH        < 1.755     to the right, agree=0.662, adj=0.139, (0 split)
##       PriceMM        < 2.04      to the right, agree=0.662, adj=0.139, (0 split)
##       SalePriceMM    < 1.64      to the right, agree=0.629, adj=0.054, (0 split)
##       SalePriceCH    < 1.775     to the right, agree=0.621, adj=0.035, (0 split)
## 
## Node number 3: 285 observations,    complexity param=0.008658009
##   predicted class=MM  expected loss=0.2140351  P(node) =0.35625
##     class counts:    61   224
##    probabilities: 0.214 0.786 
##   left son=6 (127 obs) right son=7 (158 obs)
##   Primary splits:
##       LoyalCH   < 0.2761415 to the right, improve=9.017989, (0 missing)
##       STORE     < 1.5       to the left,  improve=4.345310, (0 missing)
##       StoreID   < 3.5       to the right, improve=3.259297, (0 missing)
##       SpecialCH < 0.5       to the right, improve=3.128141, (0 missing)
##       PriceDiff < 0.54      to the right, improve=2.780319, (0 missing)
##   Surrogate splits:
##       STORE       < 1.5       to the left,  agree=0.649, adj=0.213, (0 split)
##       StoreID     < 1.5       to the left,  agree=0.639, adj=0.189, (0 split)
##       DiscMM      < 0.08      to the right, agree=0.586, adj=0.071, (0 split)
##       PctDiscMM   < 0.038887  to the right, agree=0.586, adj=0.071, (0 split)
##       SalePriceMM < 1.64      to the left,  agree=0.582, adj=0.063, (0 split)
## 
## Node number 4: 313 observations,    complexity param=0.003246753
##   predicted class=CH  expected loss=0.06070288  P(node) =0.39125
##     class counts:   294    19
##    probabilities: 0.939 0.061 
##   left son=8 (298 obs) right son=9 (15 obs)
##   Primary splits:
##       PriceDiff   < -0.39     to the right, improve=7.038705, (0 missing)
##       DiscMM      < 0.47      to the left,  improve=3.137527, (0 missing)
##       PctDiscMM   < 0.227263  to the left,  improve=3.137527, (0 missing)
##       SalePriceMM < 1.485     to the right, improve=2.729109, (0 missing)
##       SalePriceCH < 1.925     to the left,  improve=1.630667, (0 missing)
##   Surrogate splits:
##       DiscMM      < 0.72      to the left,  agree=0.971, adj=0.4, (0 split)
##       SalePriceMM < 1.435     to the right, agree=0.971, adj=0.4, (0 split)
##       PctDiscMM   < 0.3342595 to the left,  agree=0.971, adj=0.4, (0 split)
##       SalePriceCH < 2.075     to the left,  agree=0.962, adj=0.2, (0 split)
## 
## Node number 5: 202 observations,    complexity param=0.01515152
##   predicted class=CH  expected loss=0.3217822  P(node) =0.2525
##     class counts:   137    65
##    probabilities: 0.678 0.322 
##   left son=10 (120 obs) right son=11 (82 obs)
##   Primary splits:
##       ListPriceDiff < 0.235     to the right, improve=11.332540, (0 missing)
##       PriceDiff     < 0.265     to the right, improve=10.907380, (0 missing)
##       SalePriceMM   < 2.125     to the right, improve= 8.724531, (0 missing)
##       PriceMM       < 2.11      to the right, improve= 5.157551, (0 missing)
##       DiscCH        < 0.115     to the right, improve= 4.328572, (0 missing)
##   Surrogate splits:
##       PriceDiff   < 0.235     to the right, agree=0.787, adj=0.476, (0 split)
##       PriceMM     < 1.89      to the right, agree=0.713, adj=0.293, (0 split)
##       PriceCH     < 1.875     to the left,  agree=0.688, adj=0.232, (0 split)
##       SalePriceMM < 2.105     to the right, agree=0.688, adj=0.232, (0 split)
##       SalePriceCH < 1.875     to the left,  agree=0.688, adj=0.232, (0 split)
## 
## Node number 6: 127 observations,    complexity param=0.008658009
##   predicted class=MM  expected loss=0.3543307  P(node) =0.15875
##     class counts:    45    82
##    probabilities: 0.354 0.646 
##   left son=12 (51 obs) right son=13 (76 obs)
##   Primary splits:
##       SalePriceMM < 2.04      to the right, improve=5.224787, (0 missing)
##       PriceDiff   < 0.05      to the right, improve=5.021004, (0 missing)
##       DiscMM      < 0.22      to the left,  improve=2.781501, (0 missing)
##       LoyalCH     < 0.3146215 to the left,  improve=2.593997, (0 missing)
##       PctDiscMM   < 0.0729725 to the left,  improve=2.432729, (0 missing)
##   Surrogate splits:
##       PriceDiff     < 0.16      to the right, agree=0.882, adj=0.706, (0 split)
##       PriceMM       < 2.04      to the right, agree=0.795, adj=0.490, (0 split)
##       DiscMM        < 0.08      to the left,  agree=0.780, adj=0.451, (0 split)
##       PctDiscMM     < 0.038887  to the left,  agree=0.780, adj=0.451, (0 split)
##       ListPriceDiff < 0.28      to the right, agree=0.724, adj=0.314, (0 split)
## 
## Node number 7: 158 observations
##   predicted class=MM  expected loss=0.1012658  P(node) =0.1975
##     class counts:    16   142
##    probabilities: 0.101 0.899 
## 
## Node number 8: 298 observations
##   predicted class=CH  expected loss=0.03691275  P(node) =0.3725
##     class counts:   287    11
##    probabilities: 0.963 0.037 
## 
## Node number 9: 15 observations
##   predicted class=MM  expected loss=0.4666667  P(node) =0.01875
##     class counts:     7     8
##    probabilities: 0.467 0.533 
## 
## Node number 10: 120 observations,    complexity param=0.003246753
##   predicted class=CH  expected loss=0.1833333  P(node) =0.15
##     class counts:    98    22
##    probabilities: 0.817 0.183 
##   left son=20 (40 obs) right son=21 (80 obs)
##   Primary splits:
##       PriceDiff   < 0.31      to the right, improve=2.133333, (0 missing)
##       StoreID     < 2.5       to the right, improve=2.126756, (0 missing)
##       SalePriceMM < 2.04      to the right, improve=2.028356, (0 missing)
##       PriceCH     < 1.755     to the right, improve=1.951305, (0 missing)
##       PriceMM     < 2.04      to the right, improve=1.951305, (0 missing)
##   Surrogate splits:
##       SalePriceMM    < 2.125     to the right, agree=0.842, adj=0.525, (0 split)
##       ListPriceDiff  < 0.31      to the right, agree=0.825, adj=0.475, (0 split)
##       WeekofPurchase < 252.5     to the right, agree=0.758, adj=0.275, (0 split)
##       PriceMM        < 2.155     to the right, agree=0.708, adj=0.125, (0 split)
##       DiscCH         < 0.065     to the right, agree=0.708, adj=0.125, (0 split)
## 
## Node number 11: 82 observations,    complexity param=0.01515152
##   predicted class=MM  expected loss=0.4756098  P(node) =0.1025
##     class counts:    39    43
##    probabilities: 0.476 0.524 
##   left son=22 (12 obs) right son=23 (70 obs)
##   Primary splits:
##       PctDiscCH < 0.052007  to the right, improve=5.469106, (0 missing)
##       DiscCH    < 0.115     to the right, improve=4.875412, (0 missing)
##       PriceDiff < 0.215     to the right, improve=3.597677, (0 missing)
##       PctDiscMM < 0.1961965 to the left,  improve=2.305800, (0 missing)
##       DiscMM    < 0.25      to the left,  improve=2.035928, (0 missing)
##   Surrogate splits:
##       PriceDiff   < 0.265     to the right, agree=0.963, adj=0.750, (0 split)
##       DiscCH      < 0.115     to the right, agree=0.951, adj=0.667, (0 split)
##       PriceCH     < 2.075     to the right, agree=0.878, adj=0.167, (0 split)
##       SalePriceCH < 1.54      to the left,  agree=0.878, adj=0.167, (0 split)
## 
## Node number 12: 51 observations,    complexity param=0.008658009
##   predicted class=CH  expected loss=0.4705882  P(node) =0.06375
##     class counts:    27    24
##    probabilities: 0.529 0.471 
##   left son=24 (20 obs) right son=25 (31 obs)
##   Primary splits:
##       PriceMM        < 2.155     to the left,  improve=1.914991, (0 missing)
##       SalePriceMM    < 2.155     to the left,  improve=1.797345, (0 missing)
##       StoreID        < 1.5       to the left,  improve=1.348273, (0 missing)
##       STORE          < 1.5       to the left,  improve=1.345098, (0 missing)
##       WeekofPurchase < 264       to the right, improve=0.956926, (0 missing)
##   Surrogate splits:
##       SalePriceMM   < 2.155     to the left,  agree=0.961, adj=0.90, (0 split)
##       SalePriceCH   < 1.825     to the left,  agree=0.804, adj=0.50, (0 split)
##       ListPriceDiff < 0.235     to the left,  agree=0.784, adj=0.45, (0 split)
##       PriceDiff     < 0.325     to the right, agree=0.745, adj=0.35, (0 split)
##       STORE         < 1.5       to the left,  agree=0.745, adj=0.35, (0 split)
## 
## Node number 13: 76 observations,    complexity param=0.008658009
##   predicted class=MM  expected loss=0.2368421  P(node) =0.095
##     class counts:    18    58
##    probabilities: 0.237 0.763 
##   left son=26 (13 obs) right son=27 (63 obs)
##   Primary splits:
##       SpecialCH < 0.5       to the right, improve=4.494441, (0 missing)
##       DiscCH    < 0.05      to the right, improve=1.594896, (0 missing)
##       PctDiscCH < 0.0251255 to the right, improve=1.594896, (0 missing)
##       PriceMM   < 2.11      to the left,  improve=1.387941, (0 missing)
##       PriceDiff < -0.24     to the right, improve=1.387941, (0 missing)
##   Surrogate splits:
##       DiscCH      < 0.25      to the right, agree=0.882, adj=0.308, (0 split)
##       SalePriceCH < 1.49      to the left,  agree=0.882, adj=0.308, (0 split)
##       PctDiscCH   < 0.1366045 to the right, agree=0.882, adj=0.308, (0 split)
## 
## Node number 20: 40 observations
##   predicted class=CH  expected loss=0.05  P(node) =0.05
##     class counts:    38     2
##    probabilities: 0.950 0.050 
## 
## Node number 21: 80 observations,    complexity param=0.003246753
##   predicted class=CH  expected loss=0.25  P(node) =0.1
##     class counts:    60    20
##    probabilities: 0.750 0.250 
##   left son=42 (56 obs) right son=43 (24 obs)
##   Primary splits:
##       StoreID       < 2.5       to the right, improve=2.9761900, (0 missing)
##       LoyalCH       < 0.67808   to the left,  improve=2.5000000, (0 missing)
##       ListPriceDiff < 0.31      to the left,  improve=1.1111110, (0 missing)
##       STORE         < 2.5       to the right, improve=0.7836991, (0 missing)
##       Store7Yes     < 0.5       to the right, improve=0.6393862, (0 missing)
##   Surrogate splits:
##       ListPriceDiff < 0.31      to the left,  agree=0.800, adj=0.333, (0 split)
##       SpecialMM     < 0.5       to the left,  agree=0.750, adj=0.167, (0 split)
##       LoyalCH       < 0.4924895 to the right, agree=0.725, adj=0.083, (0 split)
##       Store7Yes     < 0.5       to the right, agree=0.725, adj=0.083, (0 split)
##       STORE         < 0.5       to the left,  agree=0.725, adj=0.083, (0 split)
## 
## Node number 22: 12 observations
##   predicted class=CH  expected loss=0.08333333  P(node) =0.015
##     class counts:    11     1
##    probabilities: 0.917 0.083 
## 
## Node number 23: 70 observations,    complexity param=0.008116883
##   predicted class=MM  expected loss=0.4  P(node) =0.0875
##     class counts:    28    42
##    probabilities: 0.400 0.600 
##   left son=46 (41 obs) right son=47 (29 obs)
##   Primary splits:
##       LoyalCH     < 0.5945395 to the right, improve=1.525988, (0 missing)
##       PriceDiff   < -0.035    to the right, improve=1.414685, (0 missing)
##       SalePriceMM < 1.74      to the right, improve=1.322222, (0 missing)
##       DiscMM      < 0.25      to the left,  improve=1.260000, (0 missing)
##       PctDiscMM   < 0.1345485 to the left,  improve=1.260000, (0 missing)
##   Surrogate splits:
##       WeekofPurchase < 246.5     to the right, agree=0.714, adj=0.310, (0 split)
##       PriceMM        < 1.89      to the right, agree=0.671, adj=0.207, (0 split)
##       ListPriceDiff  < 0.035     to the right, agree=0.671, adj=0.207, (0 split)
##       PriceCH        < 1.875     to the right, agree=0.657, adj=0.172, (0 split)
##       SalePriceCH    < 1.875     to the right, agree=0.657, adj=0.172, (0 split)
## 
## Node number 24: 20 observations
##   predicted class=CH  expected loss=0.3  P(node) =0.025
##     class counts:    14     6
##    probabilities: 0.700 0.300 
## 
## Node number 25: 31 observations,    complexity param=0.008658009
##   predicted class=MM  expected loss=0.4193548  P(node) =0.03875
##     class counts:    13    18
##    probabilities: 0.419 0.581 
##   left son=50 (7 obs) right son=51 (24 obs)
##   Primary splits:
##       LoyalCH        < 0.424473  to the right, improve=1.5729650, (0 missing)
##       WeekofPurchase < 256.5     to the right, improve=0.5583127, (0 missing)
##       StoreID        < 2.5       to the left,  improve=0.4301075, (0 missing)
##       ListPriceDiff  < 0.295     to the right, improve=0.4205837, (0 missing)
##       STORE          < 1.5       to the left,  improve=0.4182028, (0 missing)
##   Surrogate splits:
##       WeekofPurchase < 271       to the right, agree=0.871, adj=0.429, (0 split)
##       DiscMM         < 0.03      to the right, agree=0.839, adj=0.286, (0 split)
##       SalePriceMM    < 2.15      to the left,  agree=0.839, adj=0.286, (0 split)
##       PctDiscMM      < 0.0137615 to the right, agree=0.839, adj=0.286, (0 split)
##       StoreID        < 1.5       to the left,  agree=0.806, adj=0.143, (0 split)
## 
## Node number 26: 13 observations
##   predicted class=CH  expected loss=0.3846154  P(node) =0.01625
##     class counts:     8     5
##    probabilities: 0.615 0.385 
## 
## Node number 27: 63 observations
##   predicted class=MM  expected loss=0.1587302  P(node) =0.07875
##     class counts:    10    53
##    probabilities: 0.159 0.841 
## 
## Node number 42: 56 observations
##   predicted class=CH  expected loss=0.1607143  P(node) =0.07
##     class counts:    47     9
##    probabilities: 0.839 0.161 
## 
## Node number 43: 24 observations,    complexity param=0.003246753
##   predicted class=CH  expected loss=0.4583333  P(node) =0.03
##     class counts:    13    11
##    probabilities: 0.542 0.458 
##   left son=86 (17 obs) right son=87 (7 obs)
##   Primary splits:
##       LoyalCH        < 0.635456  to the left,  improve=1.2948180, (0 missing)
##       WeekofPurchase < 236.5     to the right, improve=0.6666667, (0 missing)
##       DiscMM         < 0.18      to the right, improve=0.1666667, (0 missing)
##       SpecialMM      < 0.5       to the right, improve=0.1666667, (0 missing)
##       SalePriceMM    < 1.885     to the left,  improve=0.1666667, (0 missing)
##   Surrogate splits:
##       DiscMM    < 0.35      to the left,  agree=0.792, adj=0.286, (0 split)
##       PriceDiff < -0.07     to the right, agree=0.792, adj=0.286, (0 split)
##       PctDiscMM < 0.16712   to the left,  agree=0.792, adj=0.286, (0 split)
## 
## Node number 46: 41 observations,    complexity param=0.008116883
##   predicted class=MM  expected loss=0.4878049  P(node) =0.05125
##     class counts:    20    21
##    probabilities: 0.488 0.512 
##   left son=92 (27 obs) right son=93 (14 obs)
##   Primary splits:
##       DiscMM        < 0.3       to the left,  improve=1.736482, (0 missing)
##       PctDiscMM     < 0.1548655 to the left,  improve=1.736482, (0 missing)
##       PriceDiff     < -0.085    to the right, improve=1.056432, (0 missing)
##       ListPriceDiff < 0.155     to the right, improve=1.022196, (0 missing)
##       PriceCH       < 1.975     to the left,  improve=1.009336, (0 missing)
##   Surrogate splits:
##       PctDiscMM      < 0.1548655 to the left,  agree=1.000, adj=1.000, (0 split)
##       PriceDiff      < -0.085    to the right, agree=0.927, adj=0.786, (0 split)
##       SalePriceMM    < 1.64      to the right, agree=0.854, adj=0.571, (0 split)
##       WeekofPurchase < 270.5     to the left,  agree=0.829, adj=0.500, (0 split)
##       SpecialMM      < 0.5       to the left,  agree=0.780, adj=0.357, (0 split)
## 
## Node number 47: 29 observations,    complexity param=0.003246753
##   predicted class=MM  expected loss=0.2758621  P(node) =0.03625
##     class counts:     8    21
##    probabilities: 0.276 0.724 
##   left son=94 (13 obs) right son=95 (16 obs)
##   Primary splits:
##       StoreID        < 2.5       to the right, improve=3.2496680, (0 missing)
##       STORE          < 2.5       to the right, improve=1.6121810, (0 missing)
##       DiscMM         < 0.1       to the left,  improve=0.9441016, (0 missing)
##       PctDiscMM      < 0.047847  to the left,  improve=0.9441016, (0 missing)
##       WeekofPurchase < 248.5     to the right, improve=0.7417625, (0 missing)
##   Surrogate splits:
##       STORE       < 2.5       to the right, agree=0.793, adj=0.538, (0 split)
##       Store7Yes   < 0.5       to the right, agree=0.759, adj=0.462, (0 split)
##       LoyalCH     < 0.51      to the right, agree=0.690, adj=0.308, (0 split)
##       PriceCH     < 1.975     to the right, agree=0.655, adj=0.231, (0 split)
##       SalePriceMM < 1.74      to the right, agree=0.655, adj=0.231, (0 split)
## 
## Node number 50: 7 observations
##   predicted class=CH  expected loss=0.2857143  P(node) =0.00875
##     class counts:     5     2
##    probabilities: 0.714 0.286 
## 
## Node number 51: 24 observations
##   predicted class=MM  expected loss=0.3333333  P(node) =0.03
##     class counts:     8    16
##    probabilities: 0.333 0.667 
## 
## Node number 86: 17 observations
##   predicted class=CH  expected loss=0.3529412  P(node) =0.02125
##     class counts:    11     6
##    probabilities: 0.647 0.353 
## 
## Node number 87: 7 observations
##   predicted class=MM  expected loss=0.2857143  P(node) =0.00875
##     class counts:     2     5
##    probabilities: 0.286 0.714 
## 
## Node number 92: 27 observations,    complexity param=0.003246753
##   predicted class=CH  expected loss=0.4074074  P(node) =0.03375
##     class counts:    16    11
##    probabilities: 0.593 0.407 
##   left son=184 (8 obs) right son=185 (19 obs)
##   Primary splits:
##       ListPriceDiff < 0.115     to the right, improve=1.813353, (0 missing)
##       StoreID       < 2.5       to the left,  improve=1.366449, (0 missing)
##       STORE         < 2.5       to the left,  improve=1.337037, (0 missing)
##       PriceCH       < 1.875     to the left,  improve=1.070370, (0 missing)
##       SalePriceCH   < 1.875     to the left,  improve=1.070370, (0 missing)
##   Surrogate splits:
##       StoreID        < 2.5       to the left,  agree=0.852, adj=0.500, (0 split)
##       PriceMM        < 2.155     to the right, agree=0.778, adj=0.250, (0 split)
##       SalePriceMM    < 2.155     to the right, agree=0.778, adj=0.250, (0 split)
##       WeekofPurchase < 273       to the right, agree=0.741, adj=0.125, (0 split)
##       STORE          < 2.5       to the left,  agree=0.741, adj=0.125, (0 split)
## 
## Node number 93: 14 observations
##   predicted class=MM  expected loss=0.2857143  P(node) =0.0175
##     class counts:     4    10
##    probabilities: 0.286 0.714 
## 
## Node number 94: 13 observations
##   predicted class=CH  expected loss=0.4615385  P(node) =0.01625
##     class counts:     7     6
##    probabilities: 0.538 0.462 
## 
## Node number 95: 16 observations
##   predicted class=MM  expected loss=0.0625  P(node) =0.02
##     class counts:     1    15
##    probabilities: 0.062 0.938 
## 
## Node number 184: 8 observations
##   predicted class=CH  expected loss=0.125  P(node) =0.01
##     class counts:     7     1
##    probabilities: 0.875 0.125 
## 
## Node number 185: 19 observations
##   predicted class=MM  expected loss=0.4736842  P(node) =0.02375
##     class counts:     9    10
##    probabilities: 0.474 0.526
  1. Predict the response on the test data, and produce a confusion matrix comparing the test labels to the predicted test labels. What is the test error rate?
test_pred <- predict(tree_fit, OJ_test)
cm <- confusionMatrix(test_pred, OJ_test$Purchase)
print(cm)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  CH  MM
##         CH 135  29
##         MM  26  80
##                                           
##                Accuracy : 0.7963          
##                  95% CI : (0.7433, 0.8427)
##     No Information Rate : 0.5963          
##     P-Value [Acc > NIR] : 2.055e-12       
##                                           
##                   Kappa : 0.575           
##                                           
##  Mcnemar's Test P-Value : 0.7874          
##                                           
##             Sensitivity : 0.8385          
##             Specificity : 0.7339          
##          Pos Pred Value : 0.8232          
##          Neg Pred Value : 0.7547          
##              Prevalence : 0.5963          
##          Detection Rate : 0.5000          
##    Detection Prevalence : 0.6074          
##       Balanced Accuracy : 0.7862          
##                                           
##        'Positive' Class : CH              
## 
test_err <- mean(test_pred != OJ_test$Purchase)
print(test_err)
## [1] 0.2037037
  1. Use cross-validation on the training set in order to determine the optimal tree size.
set.seed(42)
cv_tree <- rpart(Purchase ~ ., data = OJ_train,
                  method = "class",
                  control = rpart.control(cp = 0.0001, xval = 10))

cp_table <- cv_tree$cptable
print(cp_table)
##             CP nsplit rel error    xerror       xstd
## 1 0.5292207792      0 1.0000000 1.0000000 0.04468505
## 2 0.0151515152      1 0.4707792 0.5064935 0.03638392
## 3 0.0086580087      4 0.4253247 0.5194805 0.03673282
## 4 0.0081168831      9 0.3798701 0.5259740 0.03690389
## 5 0.0032467532     11 0.3636364 0.5292208 0.03698859
## 6 0.0006493506     17 0.3441558 0.5097403 0.03647200
## 7 0.0001000000     22 0.3409091 0.5357143 0.03715636
  1. Produce a plot with tree size on the x-axis and cross-validated classification error rate on the y-axis.
tree_size <- cp_table[, "nsplit"] + 1
cv_error  <- cp_table[, "xerror"]

plot(tree_size, cv_error, type = "b",
     xlab = "Tree Size (terminal nodes)",
     ylab = "CV Classification Error",
     main = "CV Error vs Tree Size")

plotcp(cv_tree)

  1. Which tree size corresponds to the lowest cross-validated classification error rate?
best_size <- tree_size[which.min(cv_error)]
best_cp   <- cp_table[which.min(cv_error), "CP"]
print(best_size)
## 2 
## 2
print(best_cp)
## [1] 0.01515152
  1. Produce a pruned tree corresponding to the optimal tree size obtained using cross-validation. If cross-validation does not lead to selection of a pruned tree, then create a pruned tree with five terminal nodes.
if (best_size > 1) {
  pruned_tree <- prune(cv_tree, cp = best_cp)
} else {
  target_row <- cp_table[cp_table[, "nsplit"] == 4, , drop = FALSE]
  fallback_cp <- target_row[1, "CP"]
  pruned_tree <- prune(cv_tree, cp = fallback_cp)
}

rpart.plot(pruned_tree, extra = 104, fallen.leaves = TRUE)

n_terminal_pruned <- sum(pruned_tree$frame$var == "<leaf>")
print(n_terminal_pruned)
## [1] 2
  1. Compare the training error rates between the pruned and unpruned trees. Which is higher?
pruned_train_pred <- predict(pruned_tree, OJ_train, type = "class")
pruned_train_err  <- mean(pruned_train_pred != OJ_train$Purchase)
print(pruned_train_pred)
##  561  321  634   49   24  356  165  622  410  899  601  932  997  621  860  259 
##   CH   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH 
##  481 1066  299  406  314  836  982  146  197  226  504  984  727  945  922  626 
##   CH   CH   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH 
##  262  390  130 1027  374  770 1015  698  650   40  517   33 1041  103  228  109 
##   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   MM   CH   MM   CH 
## 1002  329  669   76  980  777  491  547  733   16  357  732  248 1006  325  988 
##   MM   CH   MM   CH   MM   CH   CH   MM   MM   CH   MM   MM   CH   MM   MM   CH 
##  630  642   82  920  881  914 1008 1063  360  951  296  149  569  100  298  402 
##   MM   CH   CH   MM   CH   CH   MM   MM   CH   MM   MM   MM   CH   CH   CH   MM 
##   91  781  181   54  851  288  720  758   60  285  849  620  969  377  853  638 
##   CH   CH   CH   CH   CH   MM   MM   CH   CH   MM   CH   CH   MM   MM   CH   CH 
##  427  442  112  584  981 1058  934  513  141  718  901  311  912  474  811  554 
##   MM   CH   CH   CH   MM   MM   CH   CH   CH   MM   CH   MM   MM   MM   CH   MM 
##   42  760  865  251  441 1020   25  883  703  544 1018  238  526  623 1038 1044 
##   CH   CH   MM   CH   CH   CH   CH   CH   MM   MM   CH   CH   MM   CH   CH   CH 
## 1052  446  933 1043  369  512  983  938  754  799  930  862  224  774  214  294 
##   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   MM   CH   MM   MM   CH   MM 
##  607  518  852  764  783  546  426  471  188  254  268  640 1062   41  193  578 
##   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH 
##  824  664   98  537  348  107  317   14  162  636  706  926  949  697  796 1009 
##   CH   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   MM   MM   MM   MM   MM 
##   37  138  935  773 1032   78  946  668   97  741  483  182  961  127  940  493 
##   CH   CH   MM   MM   CH   CH   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH 
##  555  692  506  337  539  542  180  868  212  587  201  401   62  269  382  124 
##   MM   MM   CH   MM   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   MM   CH 
##   63 1070  573  628  769  540    2  671  648 1022  208  771  885  956   12  705 
##   CH   CH   MM   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH   MM 
##  670  563  444  677  559  910  198   10  255  871  745  515 1007  751  284  923 
##   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH 
##  463  605  313   84  464  225 1056  102  171  489  662  694  567  566  685  421 
##   CH   CH   CH   CH   CH   MM   MM   CH   CH   CH   CH   MM   MM   MM   MM   MM 
##  878  207   85  153  240 1067  139  156  274  818 1045  762  170  292  148  719 
##   CH   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   MM   MM   MM 
##  189  113   27  606  645   86 1039  250  169 1011  550  362  457  115  779  789 
##   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   CH   CH   CH   CH 
##  213  801 1003  928  438  625  873  699  469  842  105  202   88  370  391  398 
##   CH   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   MM   MM   MM 
##  916  693  522  121 1060  894  900  163  418   46  287  826  376  280  404  715 
##   CH   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH   MM   MM   MM   MM 
##  825  379  206  906  829  301  358  684  647  159  653  378  776  987  514  857 
##   CH   MM   CH   MM   CH   MM   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH 
##  387 1026  870  265  893  711  627  594  409  979  986   73  659  335  757  247 
##   MM   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   CH   MM   MM   CH 
##  131  150   61   20  682  354  529 1004  211  174  273   94  330  429  690  179 
##   CH   MM   CH   CH   MM   CH   CH   MM   CH   CH   MM   CH   MM   MM   MM   CH 
##   74  304  473  346  231  366  116  108  722  326  803  738  618 1025  345  258 
##   CH   MM   MM   CH   CH   MM   CH   CH   MM   MM   CH   MM   CH   CH   CH   CH 
##  393  184 1037 1046  654  192  891  962  425  809  460   22  977  132  579  187 
##   MM   CH   MM   CH   CH   CH   CH   MM   MM   CH   MM   CH   MM   CH   CH   CH 
##   53  637   59  752  902   87 1024  994  660  874  709  820    3 1061  991  730 
##   CH   CH   CH   MM   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH 
## 1054  596  475  168  665  496  218  332  724  110  119  619  737  663  896  804 
##   CH   CH   MM   CH   CH   CH   CH   MM   MM   CH   CH   CH   MM   MM   CH   CH 
##  592  794  527   23  904  339  966  574  267  365  586  123  879  875  367  993 
##   CH   MM   CH   CH   CH   MM   MM   MM   CH   MM   CH   CH   CH   CH   MM   CH 
##  458  603 1040  943  281  511  536  975  528  658 1059  995  195  831  341 1049 
##   CH   CH   MM   MM   MM   CH   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH 
##  802  375  408  643  158  227  959  908  423  782  309  974   26  886  117  678 
##   CH   MM   MM   CH   CH   CH   MM   MM   MM   CH   MM   MM   CH   CH   CH   CH 
##  252  844  466  812 1035  104  767 1036  657  256  126  890  807  557  144  755 
##   CH   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   MM 
##  237  136  249  503  823   95  581  233  609  749  918  331  161  784  271   68 
##   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   CH 
## 1016  655  223  355  827  120    8  772  176  632  689  530  608  133  543  312 
##   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH 
##  532  548  264  275  114  266  813  766  759   32  490  936  488  461  519  203 
##   CH   MM   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   MM   CH   CH 
##   11  143  761  971  485  568  775  412  708   39  531  204  222  534  800  882 
##   CH   CH   MM   MM   CH   MM   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH 
##  700  552  276  911  439  897  593  816  939  921 1010  498  571  599  318   69 
##   MM   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   CH 
##  780  535 1055  739   18  242  178  431  449  392  785   30  937  307  666  448 
##   CH   CH   CH   MM   MM   CH   CH   MM   CH   MM   MM   CH   MM   MM   MM   CH 
##  277  872   83  125  235  729 1029  753  494  157  516  278  388  215  867  236 
##   MM   CH   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   MM   CH   CH   CH 
##  746  482  950  295    9  319  190   19   21  363  447  713  372  768  177  324 
##   CH   CH   MM   MM   CH   CH   CH   MM   CH   MM   CH   MM   MM   CH   CH   MM 
##  847  484 1069   92 1017  420  185  468  155  154   57  597  232  291  186   13 
##   MM   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH 
##  497  909  297  595  747  394  352  953  915  353  521   65  889  383  244   58 
##   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH 
##  245   28  985  361  602  371 1064  414  451  152  172   34  652  832  701  691 
##   CH   CH   CH   CH   CH   CH   MM   MM   MM   MM   CH   CH   CH   MM   MM   MM 
##  717  437  843  725  351  998  884   72  415  166   99  589  175    4  913  815 
##   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   CH   MM   CH   CH 
##  840  508  137  443  405  523  895  210  453  147 1034  892  996  821  750  963 
##   MM   CH   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH 
##  389  403  947  229    1  350  436  624  316  196   71  142  839  495  344  505 
##   MM   MM   MM   MM   CH   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH 
##  545  478  931  726   35  492  837  582  990  970  219  992   17  833 1019 1033 
##   MM   CH   MM   MM   CH   CH   MM   CH   CH   MM   CH   MM   CH   MM   CH   CH 
## 1001  861  676  972  562  106  135  952 1053  838  322  989  735  748  145  432 
##   MM   CH   CH   MM   MM   CH   CH   MM   CH   MM   CH   CH   MM   MM   MM   MM 
##  241  320   80  477  327  610  814   56  667  183  364   67  164  433 1028  564 
##   CH   CH   CH   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH 
##  500  293  501  848  111  380  721  828  965  397  954  631  612   79  342   45 
##   MM   MM   MM   MM   CH   MM   MM   CH   CH   MM   MM   CH   MM   CH   CH   CH 
##  373   66  604  551  253  672  859  510  866  101  588  359  960  167  903  716 
##   MM   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   MM 
## Levels: CH MM
print(pruned_train_err)
## [1] 0.18125
  1. Compare the test error rates between the pruned and unpruned trees. Which is higher?
pruned_test_pred <- predict(pruned_tree, OJ_test, type = "class")
pruned_test_err  <- mean(pruned_test_pred != OJ_test$Purchase)

print(pruned_train_pred)
##  561  321  634   49   24  356  165  622  410  899  601  932  997  621  860  259 
##   CH   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH 
##  481 1066  299  406  314  836  982  146  197  226  504  984  727  945  922  626 
##   CH   CH   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH 
##  262  390  130 1027  374  770 1015  698  650   40  517   33 1041  103  228  109 
##   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   MM   CH   MM   CH 
## 1002  329  669   76  980  777  491  547  733   16  357  732  248 1006  325  988 
##   MM   CH   MM   CH   MM   CH   CH   MM   MM   CH   MM   MM   CH   MM   MM   CH 
##  630  642   82  920  881  914 1008 1063  360  951  296  149  569  100  298  402 
##   MM   CH   CH   MM   CH   CH   MM   MM   CH   MM   MM   MM   CH   CH   CH   MM 
##   91  781  181   54  851  288  720  758   60  285  849  620  969  377  853  638 
##   CH   CH   CH   CH   CH   MM   MM   CH   CH   MM   CH   CH   MM   MM   CH   CH 
##  427  442  112  584  981 1058  934  513  141  718  901  311  912  474  811  554 
##   MM   CH   CH   CH   MM   MM   CH   CH   CH   MM   CH   MM   MM   MM   CH   MM 
##   42  760  865  251  441 1020   25  883  703  544 1018  238  526  623 1038 1044 
##   CH   CH   MM   CH   CH   CH   CH   CH   MM   MM   CH   CH   MM   CH   CH   CH 
## 1052  446  933 1043  369  512  983  938  754  799  930  862  224  774  214  294 
##   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   MM   CH   MM   MM   CH   MM 
##  607  518  852  764  783  546  426  471  188  254  268  640 1062   41  193  578 
##   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH 
##  824  664   98  537  348  107  317   14  162  636  706  926  949  697  796 1009 
##   CH   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   MM   MM   MM   MM   MM 
##   37  138  935  773 1032   78  946  668   97  741  483  182  961  127  940  493 
##   CH   CH   MM   MM   CH   CH   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH 
##  555  692  506  337  539  542  180  868  212  587  201  401   62  269  382  124 
##   MM   MM   CH   MM   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   MM   CH 
##   63 1070  573  628  769  540    2  671  648 1022  208  771  885  956   12  705 
##   CH   CH   MM   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH   MM 
##  670  563  444  677  559  910  198   10  255  871  745  515 1007  751  284  923 
##   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH 
##  463  605  313   84  464  225 1056  102  171  489  662  694  567  566  685  421 
##   CH   CH   CH   CH   CH   MM   MM   CH   CH   CH   CH   MM   MM   MM   MM   MM 
##  878  207   85  153  240 1067  139  156  274  818 1045  762  170  292  148  719 
##   CH   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   CH   MM   MM   MM 
##  189  113   27  606  645   86 1039  250  169 1011  550  362  457  115  779  789 
##   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   CH   CH   CH   CH 
##  213  801 1003  928  438  625  873  699  469  842  105  202   88  370  391  398 
##   CH   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   MM   MM   MM 
##  916  693  522  121 1060  894  900  163  418   46  287  826  376  280  404  715 
##   CH   MM   CH   CH   CH   CH   CH   CH   MM   CH   MM   CH   MM   MM   MM   MM 
##  825  379  206  906  829  301  358  684  647  159  653  378  776  987  514  857 
##   CH   MM   CH   MM   CH   MM   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH 
##  387 1026  870  265  893  711  627  594  409  979  986   73  659  335  757  247 
##   MM   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   CH   MM   MM   CH 
##  131  150   61   20  682  354  529 1004  211  174  273   94  330  429  690  179 
##   CH   MM   CH   CH   MM   CH   CH   MM   CH   CH   MM   CH   MM   MM   MM   CH 
##   74  304  473  346  231  366  116  108  722  326  803  738  618 1025  345  258 
##   CH   MM   MM   CH   CH   MM   CH   CH   MM   MM   CH   MM   CH   CH   CH   CH 
##  393  184 1037 1046  654  192  891  962  425  809  460   22  977  132  579  187 
##   MM   CH   MM   CH   CH   CH   CH   MM   MM   CH   MM   CH   MM   CH   CH   CH 
##   53  637   59  752  902   87 1024  994  660  874  709  820    3 1061  991  730 
##   CH   CH   CH   MM   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH 
## 1054  596  475  168  665  496  218  332  724  110  119  619  737  663  896  804 
##   CH   CH   MM   CH   CH   CH   CH   MM   MM   CH   CH   CH   MM   MM   CH   CH 
##  592  794  527   23  904  339  966  574  267  365  586  123  879  875  367  993 
##   CH   MM   CH   CH   CH   MM   MM   MM   CH   MM   CH   CH   CH   CH   MM   CH 
##  458  603 1040  943  281  511  536  975  528  658 1059  995  195  831  341 1049 
##   CH   CH   MM   MM   MM   CH   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH 
##  802  375  408  643  158  227  959  908  423  782  309  974   26  886  117  678 
##   CH   MM   MM   CH   CH   CH   MM   MM   MM   CH   MM   MM   CH   CH   CH   CH 
##  252  844  466  812 1035  104  767 1036  657  256  126  890  807  557  144  755 
##   CH   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   MM 
##  237  136  249  503  823   95  581  233  609  749  918  331  161  784  271   68 
##   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH   CH   MM   MM   CH 
## 1016  655  223  355  827  120    8  772  176  632  689  530  608  133  543  312 
##   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH   CH   CH 
##  532  548  264  275  114  266  813  766  759   32  490  936  488  461  519  203 
##   CH   MM   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   MM   CH   CH 
##   11  143  761  971  485  568  775  412  708   39  531  204  222  534  800  882 
##   CH   CH   MM   MM   CH   MM   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH 
##  700  552  276  911  439  897  593  816  939  921 1010  498  571  599  318   69 
##   MM   MM   MM   CH   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   CH 
##  780  535 1055  739   18  242  178  431  449  392  785   30  937  307  666  448 
##   CH   CH   CH   MM   MM   CH   CH   MM   CH   MM   MM   CH   MM   MM   MM   CH 
##  277  872   83  125  235  729 1029  753  494  157  516  278  388  215  867  236 
##   MM   CH   CH   CH   CH   CH   CH   CH   CH   CH   CH   MM   MM   CH   CH   CH 
##  746  482  950  295    9  319  190   19   21  363  447  713  372  768  177  324 
##   CH   CH   MM   MM   CH   CH   CH   MM   CH   MM   CH   MM   MM   CH   CH   MM 
##  847  484 1069   92 1017  420  185  468  155  154   57  597  232  291  186   13 
##   MM   CH   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH   MM   CH   CH 
##  497  909  297  595  747  394  352  953  915  353  521   65  889  383  244   58 
##   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH 
##  245   28  985  361  602  371 1064  414  451  152  172   34  652  832  701  691 
##   CH   CH   CH   CH   CH   CH   MM   MM   MM   MM   CH   CH   CH   MM   MM   MM 
##  717  437  843  725  351  998  884   72  415  166   99  589  175    4  913  815 
##   MM   MM   MM   MM   CH   CH   MM   CH   MM   CH   CH   CH   CH   MM   CH   CH 
##  840  508  137  443  405  523  895  210  453  147 1034  892  996  821  750  963 
##   MM   CH   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   CH   CH   CH 
##  389  403  947  229    1  350  436  624  316  196   71  142  839  495  344  505 
##   MM   MM   MM   MM   CH   CH   MM   CH   CH   CH   CH   CH   MM   CH   CH   CH 
##  545  478  931  726   35  492  837  582  990  970  219  992   17  833 1019 1033 
##   MM   CH   MM   MM   CH   CH   MM   CH   CH   MM   CH   MM   CH   MM   CH   CH 
## 1001  861  676  972  562  106  135  952 1053  838  322  989  735  748  145  432 
##   MM   CH   CH   MM   MM   CH   CH   MM   CH   MM   CH   CH   MM   MM   MM   MM 
##  241  320   80  477  327  610  814   56  667  183  364   67  164  433 1028  564 
##   CH   CH   CH   CH   MM   CH   CH   CH   MM   CH   CH   CH   CH   CH   CH   CH 
##  500  293  501  848  111  380  721  828  965  397  954  631  612   79  342   45 
##   MM   MM   MM   MM   CH   MM   MM   CH   CH   MM   MM   CH   MM   CH   CH   CH 
##  373   66  604  551  253  672  859  510  866  101  588  359  960  167  903  716 
##   MM   CH   CH   MM   CH   CH   CH   CH   MM   CH   CH   MM   MM   CH   CH   MM 
## Levels: CH MM
print(pruned_train_err)
## [1] 0.18125