Preprocessing: Detección de Outliers

Material docente en Quarto a partir del script original

Autores/as

Sergi Ramírez

Dante Conti

1 Introducción

Este documento docente presenta, de forma estructurada y comentada, distintos métodos de detección de outliers en R, tanto en contexto univariante como multivariante.

Se ha respetado al máximo la organización del script original, incorporando:

  • explicación conceptual antes de cada bloque,
  • comentarios detallados dentro del código,
  • separación por apartados para facilitar la docencia,
  • y una estructura adecuada para usar directamente en Quarto.

1.1 Objetivos docentes

Al finalizar este material, el estudiante debería poder:

  1. identificar valores extremos mediante reglas descriptivas simples,
  2. aplicar criterios univariantes como IQR, boxplot, z-score y Hampel,
  3. comprender cuándo usar tests como Grubbs, Dixon y Rosner,
  4. detectar outliers multivariantes mediante Mahalanobis, LOF, KNN Outlier Score e Isolation Forest,
  5. interpretar visualmente la presencia de observaciones anómalas.

2 Carga de librerías

En este primer bloque cargamos todos los paquetes necesarios para trabajar con detección de outliers, visualización 2D/3D, métodos estadísticos clásicos y técnicas modernas de detección de anomalías. El script original utiliza una colección amplia de librerías, y aquí mantenemos esa lógica. fileciteturn2file10

# Carreguem les llibreries =====================================================

# Vector con los paquetes necesarios para la sesión.
# Incluye librerías para:
# - tests estadísticos clásicos (EnvStats, outliers)
# - visualización (ggplot2, scatterplot3d, rgl, plotly)
# - outliers multivariantes (mvoutlier, MVN, chemometrics)
# - métodos basados en vecindad o densidad (adamethods, DMwR2, Rlof)
# - lectura y preparación de datos (readr, R.matlab, tidyverse, dplyr)
# - métodos de anomalías basados en árboles (solitude)
# - evaluación (MLmetrics)
list.of.packages <- c(
  "EnvStats", "ggplot2", "outliers", "remotes", "scatterplot3d",
  "readr", "rgl", "plotly", "mvoutlier", "MVN", "chemometrics",
  "adamethods", "dplyr", "Rlof", "R.matlab", "solitude",
  "tidyverse", "MLmetrics"
)

# Detectamos qué paquetes no están instalados.
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[, "Package"])]

# Instalamos los que falten.
if (length(new.packages) > 0) {
  install.packages(new.packages)
}

# Cargamos todas las librerías en memoria.
lapply(list.of.packages, require, character.only = TRUE)
[[1]]
[1] TRUE

[[2]]
[1] TRUE

[[3]]
[1] TRUE

[[4]]
[1] TRUE

[[5]]
[1] TRUE

[[6]]
[1] TRUE

[[7]]
[1] TRUE

[[8]]
[1] TRUE

[[9]]
[1] TRUE

[[10]]
[1] TRUE

[[11]]
[1] TRUE

[[12]]
[1] TRUE

[[13]]
[1] TRUE

[[14]]
[1] TRUE

[[15]]
[1] TRUE

[[16]]
[1] TRUE

[[17]]
[1] TRUE

[[18]]
[1] TRUE
# Eliminamos objetos auxiliares del entorno.
rm(list.of.packages, new.packages)

3 Carga de la base de datos

El primer bloque de trabajo usa una base de datos llamada valentine_dataset.csv, sobre la cual se desarrollan los ejemplos de detección univariante. Más adelante, para la parte multivariante, el propio script cambia de conjunto de datos y usa otros ejemplos más adecuados.

# Carreguem les bases de dades =================================================

# Leemos la base de datos principal para la parte univariante.
# Esta base se utiliza para explorar variables numéricas y detectar observaciones
# extremas en una dimensión cada vez.
path <- "https://ramia-lab.github.io/AdvancedModelling/material/01_AdvancedPreprocessing/laboratorio/valentine_dataset.csv"
dades <- read.csv(path)

# Inspección inicial opcional del conjunto de datos.
head(dades)
str(dades)
'data.frame':   20000 obs. of  10 variables:
 $ Name              : chr  "Leon Cruz" "Samuel Brown" "Lori Baker" "Tina Fitzgerald" ...
 $ Age               : int  26 23 34 37 38 40 28 32 30 28 ...
 $ Gender            : chr  "Male" "Male" "Male" "Male" ...
 $ Income            : int  77648 71617 38616 79473 43510 69789 70896 76173 42158 54551 ...
 $ Appearance_Score  : num  63.9 2.5 27.5 22.3 73.7 ...
 $ Interests_Score   : num  88.2 50 33.9 25.5 43.6 ...
 $ Confidence_Score  : num  30.1 76.5 33.8 43.3 32.4 ...
 $ Educational_Status: chr  "Bsc" "Bsc" "PhD" "Master" ...
 $ Job_Type          : chr  "Employed" "Employed" "Employed" "Self Employed" ...
 $ Valentine_Date    : int  1 1 1 1 0 1 1 1 0 1 ...
summary(dades)
     Name                Age           Gender              Income     
 Length:20000       Min.   :18.00   Length:20000       Min.   :20004  
 Class :character   1st Qu.:23.00   Class :character   1st Qu.:35013  
 Mode  :character   Median :29.00   Mode  :character   Median :50230  
                    Mean   :29.03                      Mean   :50051  
                    3rd Qu.:35.00                      3rd Qu.:65121  
                    Max.   :40.00                      Max.   :79998  
 Appearance_Score Interests_Score  Confidence_Score Educational_Status
 Min.   : 0.00    Min.   :  0.01   Min.   :  0.01   Length:20000      
 1st Qu.:25.07    1st Qu.: 25.31   1st Qu.: 24.81   Class :character  
 Median :50.32    Median : 49.53   Median : 49.96   Mode  :character  
 Mean   :50.14    Mean   : 49.95   Mean   : 49.91                     
 3rd Qu.:75.22    3rd Qu.: 74.88   3rd Qu.: 74.95                     
 Max.   :99.99    Max.   :100.00   Max.   :100.00                     
   Job_Type         Valentine_Date  
 Length:20000       Min.   :0.0000  
 Class :character   1st Qu.:0.0000  
 Mode  :character   Median :0.0000  
                    Mean   :0.4933  
                    3rd Qu.:1.0000  
                    Max.   :1.0000  

4 Selección de variables numéricas y categóricas

Antes de detectar outliers, conviene separar variables numéricas y categóricas. La mayor parte de los métodos que se presentan a continuación trabajan exclusivamente con variables cuantitativas. fileciteturn2file10

# Seleccio variables numériques ------------------------------------------------

# Identificamos el tipo de cada variable del dataframe.
tipus <- sapply(dades, class)

# Nos quedamos únicamente con las variables numéricas.
varNum <- names(tipus)[which(tipus %in% c("integer", "numeric"))]

# Eliminamos la variable de fecha si se ha codificado como numérica o si no nos
# interesa en este análisis.
varNum <- varNum[which(!varNum %in% c("Valentine_Date"))]

# Guardamos también las variables categóricas por si quisiéramos usarlas más
# adelante para interpretación o segmentación.
varCat <- names(tipus)[which(tipus %in% c("factor", "character"))]

# Mostramos los nombres de ambos grupos de variables.
varNum
[1] "Age"              "Income"           "Appearance_Score" "Interests_Score" 
[5] "Confidence_Score"
varCat
[1] "Name"               "Gender"             "Educational_Status"
[4] "Job_Type"          

5 1. Detección univariante

La detección univariante estudia una variable cada vez. Es el enfoque más sencillo y muchas veces el primer filtro en cualquier análisis exploratorio.

5.1 1.1 Mínimos y máximos

Una revisión básica de extremos absolutos ayuda a detectar valores manifiestamente raros o errores de captura. fileciteturn2file12

# 1. Detecció Univariant =======================================================
# 1.1 Minims i màxims ---------------------------------------------------------

# Para cada variable numérica mostramos su mínimo y su máximo.
# Es un control descriptivo muy simple, pero útil para detectar valores absurdos
# o claramente fuera de rango.
mapply(function(x, name) {
  cat("var. ", name, ": \n\t min: ", min(x, na.rm = TRUE), "\n\t max: ", max(x, na.rm = TRUE), "\n")
  invisible(NULL)  # Evita que se impriman NULL de forma innecesaria
}, dades[, varNum], colnames(dades[, varNum]))
var.  Age : 
     min:  18 
     max:  40 
var.  Income : 
     min:  20004 
     max:  79998 
var.  Appearance_Score : 
     min:  0 
     max:  99.99 
var.  Interests_Score : 
     min:  0.01 
     max:  100 
var.  Confidence_Score : 
     min:  0.01 
     max:  100 
$Age
NULL

$Income
NULL

$Appearance_Score
NULL

$Interests_Score
NULL

$Confidence_Score
NULL

5.2 1.2 Regla del IQR

El criterio del rango intercuartílico define como outliers aquellos puntos situados fuera del intervalo:

[ [Q_1 - 1.5 IQR,; Q_3 + 1.5 IQR] ]

Es una regla robusta y muy utilizada en estadística descriptiva. fileciteturn2file10

# 1.2 IQR ---------------------------------------------------------------------
# Es defineixen outliers els punts fora de [Q1 - 1.5xIQR, Q3 + 1.5xIQR]

library(EnvStats)

# Definimos una función para detectar outliers según la regla del IQR.
IQROutlier <- function(variable, rmnas = TRUE) {
  # iqr() devuelve el rango intercuartílico.
  # Nota docente: en muchos entornos también se usa IQR() de base R.
  IQ <- iqr(variable, na.rm = rmnas)
  
  # Calculamos los límites inferior y superior.
  intInf <- quantile(variable, probs = c(0.25, 0.75), na.rm = rmnas)[[1]] - 1.5 * IQ
  intSup <- quantile(variable, probs = c(0.25, 0.75), na.rm = rmnas)[[2]] + 1.5 * IQ
  
  # Identificamos las posiciones que quedan fuera del intervalo permitido.
  posicions <- which(variable >= intSup | variable <= intInf)
  
  # Informamos si existen o no observaciones atípicas.
  if (length(posicions) > 0) {
    cat("Existeixen outliers en les posicions:", paste0(posicions, collapse = ", "))
  } else {
    cat("No existeixen outliers")
  }
  
  return(posicions)
}

# Ejemplo de aplicación sobre la variable Age.
IQROutlier(dades[, "Age"])
No existeixen outliers
integer(0)

5.3 1.3 Boxplot

El boxplot es la representación visual clásica de la regla del IQR. Resume mediana, cuartiles, bigotes y observaciones potencialmente atípicas. fileciteturn2file12

# 1.3 Boxplot -----------------------------------------------------------------
# Visualització basada en IQR per detectar outliers

library(ggplot2)

# Seleccionamos la variable sobre la que queremos trabajar.
variable <- "Age"

# Boxplot base R.
boxplot(dades[, variable], main = paste("Boxplot de", variable))

# Extraemos explícitamente los valores que boxplot.stats considera outliers.
boxplot.stats(dades[, variable])$out
integer(0)
# Crear un boxplot con ggplot2.
ggplot(dades, aes(y = get(variable))) +
  geom_boxplot(fill = "skyblue", color = "black") +
  labs(title = paste0("Boxplot de ", variable), y = variable) +
  theme_minimal()

5.4 1.4 Z-Score

El z-score mide cuántas desviaciones típicas se aleja una observación respecto a la media. Un criterio habitual considera atípicos los valores con (|z| > 3). Este enfoque es útil cuando la variable tiene una forma aproximadamente normal. fileciteturn2file11

# 1.4 Z-Score -----------------------------------------------------------------
# Un outlier es un valor amb |z| > 3 deviació estándar

variable <- "Age"

# Estandarizamos la variable: media 0 y desviación típica 1.
valorEscalado <- scale(dades[, variable])

# Histograma base R de los z-scores.
hist(valorEscalado, main = paste("Histograma del z-score de", variable), xlab = "z-score")

# Histograma con líneas verticales en -3 y 3, que son los umbrales clásicos.
ggplot(data.frame(valor = valorEscalado), aes(x = valor)) +
  geom_histogram(binwidth = 0.5, fill = "skyblue", color = "black") +
  geom_vline(xintercept = c(3, -3), linetype = "dashed", color = "red", linewidth = 1) +
  theme_minimal() +
  labs(title = paste("Histograma del z-score de", variable), x = "z-score", y = "Frecuencia")

5.5 1.5 Hampel Identifier

El identificador de Hampel sustituye media y desviación típica por mediana y MAD (Median Absolute Deviation), lo que lo convierte en un criterio más robusto ante distribuciones asimétricas o presencia de extremos fuertes. fileciteturn2file11

# 1.5 Hampel Identifier -------------------------------------------------------
# Utilitza la mediana i la desviació absoluta mediana (MAD) en lloc de la mitjana

variable <- "Age"

# Calculamos los límites basados en mediana y MAD.
lower_bound <- median(dades[, variable], na.rm = TRUE) - 3 * mad(dades[, variable], constant = 1, na.rm = TRUE)
upper_bound <- median(dades[, variable], na.rm = TRUE) + 3 * mad(dades[, variable], constant = 1, na.rm = TRUE)

# Identificamos índices fuera del intervalo.
outlier_ind <- which((dades[, variable] < lower_bound) | (dades[, variable] > upper_bound))
outlier_ind
integer(0)

5.6 1.6 Tests estadísticos

Estos contrastes formales permiten evaluar si uno o varios valores extremos pueden considerarse outliers bajo ciertos supuestos, especialmente normalidad.

5.6.1 1.6.1 Grubbs Test

El test de Grubbs detecta un valor extremo en una muestra aproximadamente normal. fileciteturn2file11

# 1.6 Tests Estadístics -------------------------------------------------------
# 1.6.1 Grubbs'Test ...........................................................
# Detecta valors extrems en una distribució normal

library(outliers)

variable <- "Age"

# opposite = TRUE permite indicar que se está buscando un extremo concreto.
# En la práctica, este parámetro controla el comportamiento respecto a las colas.
test <- outliers::grubbs.test(dades[, variable], opposite = TRUE)
test

    Grubbs test for one outlier

data:  dades[, variable]
G = 1.65591, U = 0.99986, p-value = 1
alternative hypothesis: highest value 40 is an outlier

5.6.2 1.6.2 Dixon Test

El test de Dixon está pensado para muestras pequeñas, típicamente entre 3 y 30 observaciones. Fuera de ese rango suele no ser recomendable. fileciteturn2file11

# 1.6.2 Dixon's Test ...........................................................
# Només utilitzar per a bbdd petites (entre 3 - 30) observacions

variable <- "Age"
test <- outliers::dixon.test(dades[, variable], opposite = FALSE)
test

5.6.3 1.6.3 Rosner Test

La prueba de Rosner permite detectar varios outliers a la vez y está diseñada para reducir el problema del enmascaramiento. Resulta más adecuada cuando el tamaño muestral es grande y los datos son aproximadamente normales. fileciteturn2file9

# 1.6.3 Rosner's Test ...........................................................
# La prueba de Rosner permite detectar múltiples valores atípicos a la vez.
# Requiere especificar cuántos outliers sospechamos como máximo (k).
# Asume aproximadamente normalidad.

library(EnvStats)

variable <- "Age"

# En este ejemplo fijamos k = 1, es decir, buscamos como máximo un outlier.
test <- EnvStats::rosnerTest(dades[, variable], k = 1)
test
$distribution
[1] "Normal"

$statistic
     R.1 
1.666119 

$sample.size
[1] 20000

$parameters
k 
1 

$alpha
[1] 0.05

$crit.value
lambda.1 
4.706884 

$n.outliers
[1] 0

$alternative
[1] "Up to 1 observations are not\n                                 from the same Distribution."

$method
[1] "Rosner's Test for Outliers"

$data
    [1] 26 23 34 37 38 40 28 32 30 28 23 25 26 23 30 28 22 20 38 27 27 27 33 33
   [25] 33 38 26 33 22 27 23 37 35 34 19 23 40 19 25 25 33 24 24 21 22 36 37 38
   [49] 22 29 28 30 20 25 38 29 28 33 25 31 26 38 19 30 24 21 19 21 26 25 28 34
   [73] 18 33 22 19 34 28 37 39 26 30 26 34 38 32 29 21 31 19 21 27 19 27 26 38
   [97] 29 37 35 26 18 32 40 27 29 39 40 23 26 40 26 31 23 30 29 34 31 26 21 22
  [121] 37 28 20 21 35 18 22 36 40 24 18 33 25 34 34 33 25 24 35 20 19 20 20 19
  [145] 20 39 21 31 30 28 30 18 20 32 27 29 30 18 21 35 32 19 21 33 39 19 23 18
  [169] 31 18 37 35 32 18 26 20 24 39 20 27 38 34 39 25 25 22 26 37 40 27 34 38
  [193] 39 34 22 34 40 30 27 39 38 40 18 24 29 27 33 25 35 37 29 20 33 33 40 38
  [217] 20 20 32 36 20 32 22 36 32 35 34 30 20 39 24 23 22 29 20 35 21 40 24 21
  [241] 40 20 26 31 32 32 32 18 29 33 30 34 21 32 20 26 21 19 32 36 19 21 40 22
  [265] 19 18 36 31 28 23 23 36 29 33 40 38 31 32 39 18 33 31 30 34 28 25 36 21
  [289] 20 21 31 30 31 30 25 20 31 33 33 21 20 27 34 18 32 22 27 32 40 22 26 37
  [313] 38 18 38 29 40 31 26 28 33 28 19 29 25 31 30 24 24 20 23 20 40 36 37 27
  [337] 32 18 35 33 25 34 28 21 32 35 24 23 39 27 27 34 24 39 27 31 36 20 39 24
  [361] 25 35 29 32 40 33 30 24 29 24 20 27 18 30 19 20 33 20 28 39 34 40 21 36
  [385] 22 32 21 38 30 36 38 25 25 25 27 33 18 21 26 20 40 31 39 22 18 21 25 20
  [409] 39 20 31 37 37 24 26 36 38 33 24 23 24 32 24 24 29 23 20 20 28 40 19 20
  [433] 33 38 38 34 22 25 21 27 36 19 19 37 30 33 26 20 40 18 35 23 23 34 20 20
  [457] 29 22 37 18 22 31 25 30 34 23 38 20 18 40 35 38 33 21 32 37 34 38 36 22
  [481] 26 18 37 35 34 29 32 33 39 35 34 35 28 34 35 39 37 40 33 40 25 36 34 29
  [505] 39 23 35 23 38 20 26 34 28 30 38 32 39 30 18 28 40 37 33 24 37 39 23 24
  [529] 31 24 19 27 32 29 38 39 18 22 29 28 32 35 23 40 19 28 26 19 37 40 39 24
  [553] 23 38 24 34 24 18 40 31 27 34 25 24 40 34 27 37 39 26 26 34 38 27 38 32
  [577] 27 27 32 36 33 26 37 21 36 23 30 35 25 32 37 27 33 30 39 21 34 25 37 36
  [601] 20 21 31 26 21 33 25 19 23 36 27 36 31 23 27 20 21 39 35 33 20 35 19 36
  [625] 32 33 22 36 38 39 38 24 19 37 20 29 36 35 36 37 27 35 31 40 39 30 26 23
  [649] 34 23 25 30 38 27 23 35 33 25 23 30 39 22 28 20 31 23 18 39 29 25 20 31
  [673] 22 26 29 26 31 26 36 38 35 20 38 20 25 28 26 28 18 22 19 24 28 35 24 32
  [697] 18 23 34 30 19 39 18 22 27 32 28 20 26 35 36 38 19 40 36 31 38 18 24 19
  [721] 23 37 36 38 34 34 19 24 22 25 20 23 32 38 40 36 36 22 20 33 23 25 29 27
  [745] 40 20 30 25 32 24 28 18 20 34 28 20 40 30 25 34 31 30 31 32 20 30 33 38
  [769] 22 30 23 24 38 38 27 25 36 37 23 37 27 29 26 27 18 29 18 26 31 26 21 32
  [793] 30 37 34 28 40 29 31 32 22 26 19 25 28 37 29 33 24 18 33 19 29 18 23 28
  [817] 37 34 20 31 39 33 30 32 35 29 23 39 37 30 19 36 26 18 33 35 30 29 32 30
  [841] 20 31 32 33 23 20 33 30 39 31 30 38 31 23 39 38 20 40 40 36 18 35 38 32
  [865] 23 39 23 30 40 20 22 22 21 39 20 25 26 18 40 33 34 26 35 39 36 26 21 38
  [889] 21 31 25 32 37 20 35 34 37 31 28 31 27 19 18 33 28 26 35 26 24 19 24 33
  [913] 35 35 25 25 34 31 24 24 23 24 21 38 38 39 32 31 26 33 18 22 38 24 30 20
  [937] 27 35 25 22 22 23 40 27 38 39 18 21 35 33 39 32 31 31 32 22 28 19 32 20
  [961] 27 28 28 31 28 27 38 19 34 23 23 33 23 31 38 18 37 40 28 21 36 21 39 38
  [985] 37 21 26 29 30 27 26 39 18 25 28 32 30 29 25 19 22 24 19 35 30 23 37 22
 [1009] 20 32 38 29 30 38 25 21 20 36 30 39 28 32 23 30 21 18 22 35 37 27 29 19
 [1033] 26 29 26 18 34 34 22 35 20 40 40 34 29 31 29 20 18 23 18 24 34 36 38 40
 [1057] 22 40 22 37 33 18 40 36 36 40 38 21 32 27 35 34 29 26 27 22 28 35 37 18
 [1081] 21 26 37 25 40 19 33 39 33 28 30 34 34 37 33 36 24 21 26 34 24 27 20 38
 [1105] 22 29 37 23 24 30 37 39 24 40 30 34 27 23 19 26 28 39 27 27 24 37 35 34
 [1129] 36 40 29 19 39 21 29 23 28 38 21 19 20 19 34 40 22 35 23 31 22 26 25 22
 [1153] 35 38 31 26 38 23 28 36 26 30 24 36 34 26 24 30 38 31 31 36 33 25 37 25
 [1177] 19 28 26 37 36 26 18 28 30 40 21 26 34 29 35 35 28 40 22 36 34 31 26 24
 [1201] 34 33 31 38 38 25 38 20 30 26 34 18 26 22 18 22 35 29 29 32 31 29 34 31
 [1225] 32 21 32 18 37 18 20 25 39 32 23 23 30 29 28 20 18 32 24 21 36 23 28 38
 [1249] 20 37 22 33 27 31 36 25 39 24 20 33 40 22 23 21 37 37 26 35 40 32 35 39
 [1273] 37 20 35 38 40 18 32 39 21 27 36 29 22 21 26 25 33 23 35 23 24 22 24 32
 [1297] 31 21 26 22 38 35 28 38 38 39 28 30 37 37 29 24 33 19 20 30 33 35 32 34
 [1321] 29 31 25 19 19 21 26 33 32 32 18 18 33 40 33 28 25 27 20 26 28 32 34 34
 [1345] 21 33 23 21 25 31 22 23 37 25 37 26 19 34 28 27 28 32 35 32 30 19 26 31
 [1369] 22 40 39 30 37 26 22 36 28 23 39 30 37 21 31 32 28 28 31 37 27 29 21 22
 [1393] 35 34 20 18 21 32 24 37 22 39 30 22 30 20 25 39 38 31 36 36 34 35 37 21
 [1417] 32 25 20 23 39 37 38 32 18 32 33 20 35 38 40 18 31 25 22 31 32 31 26 38
 [1441] 20 36 33 40 40 37 40 31 32 24 19 36 32 37 26 32 31 22 20 40 22 35 28 29
 [1465] 23 27 24 30 39 39 20 23 24 40 20 28 24 31 33 31 21 24 40 18 38 21 33 40
 [1489] 30 35 33 18 32 39 24 21 33 34 27 29 22 29 37 22 19 30 39 35 22 32 35 33
 [1513] 37 40 19 31 23 20 30 36 35 39 40 18 23 32 23 36 27 35 24 27 38 24 31 36
 [1537] 32 25 33 21 38 29 21 40 21 30 31 35 27 33 27 35 36 22 38 35 22 34 28 31
 [1561] 27 33 22 29 24 21 25 21 35 20 21 35 20 25 34 31 21 38 32 18 36 35 24 40
 [1585] 32 34 26 36 39 32 29 39 34 38 30 18 33 39 23 19 21 24 33 27 32 22 22 39
 [1609] 35 18 21 29 33 20 37 23 26 37 39 24 31 25 31 26 20 24 30 39 32 21 37 40
 [1633] 39 28 20 21 35 26 38 37 34 22 40 37 18 19 29 36 34 24 40 40 32 30 35 28
 [1657] 25 32 23 35 22 36 20 39 40 19 35 28 25 31 26 25 22 22 30 32 36 27 21 29
 [1681] 37 40 37 30 30 29 30 36 24 24 18 38 22 19 30 19 37 34 31 40 36 32 25 23
 [1705] 40 36 26 20 40 21 34 26 35 37 31 23 34 32 29 34 30 24 38 32 35 28 32 36
 [1729] 18 40 31 32 39 35 21 18 25 38 26 39 39 39 24 29 27 30 32 19 35 33 20 38
 [1753] 27 29 35 38 19 33 18 30 39 40 24 38 27 20 23 27 28 34 18 36 37 22 36 35
 [1777] 38 24 32 34 29 26 37 25 22 25 36 18 20 26 38 19 22 37 18 36 28 29 25 40
 [1801] 36 31 23 30 29 28 29 20 32 22 24 39 26 28 26 19 37 39 22 34 32 24 25 29
 [1825] 22 34 25 23 26 39 32 20 39 30 24 25 32 29 38 34 23 27 34 21 20 37 20 38
 [1849] 38 32 40 35 19 25 23 23 33 37 36 35 33 30 23 31 19 29 36 38 23 32 19 28
 [1873] 19 34 19 24 37 40 35 35 35 34 32 29 29 40 35 20 37 34 22 20 20 27 23 21
 [1897] 36 32 21 27 30 32 18 32 37 23 34 24 38 19 25 21 34 32 36 40 35 34 36 26
 [1921] 36 26 32 24 29 29 21 35 37 19 30 25 34 22 20 31 39 30 21 38 20 35 36 22
 [1945] 38 35 30 23 29 26 33 39 40 40 20 27 18 29 33 33 25 38 30 33 18 27 21 34
 [1969] 30 38 34 23 29 21 37 32 20 21 20 27 22 29 33 40 30 32 39 19 27 29 39 37
 [1993] 40 37 22 25 18 35 36 19 18 38 20 33 20 25 38 39 18 27 21 26 32 37 33 38
 [2017] 37 36 40 34 34 39 34 23 37 29 22 33 38 35 31 39 35 22 24 40 37 34 35 24
 [2041] 19 36 37 35 37 34 38 23 24 24 34 27 26 22 30 21 28 26 24 31 18 18 37 30
 [2065] 34 33 19 36 31 25 28 39 25 40 22 18 36 21 29 23 19 22 36 23 30 28 40 18
 [2089] 36 23 25 33 21 30 31 22 26 28 27 22 19 22 31 40 40 39 21 37 27 36 36 39
 [2113] 27 28 35 24 24 21 18 23 27 38 26 28 22 23 32 30 39 23 20 29 40 28 23 31
 [2137] 22 29 28 18 39 32 40 30 40 40 23 33 30 39 28 29 26 40 19 40 21 31 28 29
 [2161] 37 24 28 40 20 28 22 28 30 26 39 39 24 33 33 30 23 34 19 37 24 20 28 25
 [2185] 39 30 18 29 39 36 31 18 24 29 39 36 33 35 19 39 40 31 24 21 39 36 19 33
 [2209] 28 32 32 39 36 40 35 40 25 26 40 20 18 35 29 40 18 18 38 29 29 25 27 19
 [2233] 31 22 22 40 38 23 30 24 24 39 33 40 26 30 21 33 21 18 27 28 33 20 33 19
 [2257] 35 25 38 24 26 24 26 29 20 27 39 26 31 33 31 36 34 40 40 28 38 29 32 34
 [2281] 18 27 20 23 22 19 28 19 38 35 18 33 20 24 18 33 27 39 30 30 25 20 25 22
 [2305] 32 39 40 30 19 28 36 19 39 31 25 36 24 28 32 23 29 30 35 18 21 27 35 40
 [2329] 36 29 19 28 26 26 36 27 36 26 26 29 37 36 22 22 18 24 33 23 38 40 18 30
 [2353] 22 26 33 20 28 39 25 22 40 21 40 38 30 21 35 21 19 25 22 27 38 24 28 28
 [2377] 36 22 26 22 18 19 21 39 20 27 30 21 25 18 23 34 20 34 34 21 23 23 27 31
 [2401] 31 23 24 36 29 26 28 24 35 29 38 24 35 22 20 19 20 24 32 26 32 23 28 40
 [2425] 28 36 30 26 23 40 27 26 30 23 20 39 23 40 31 36 31 19 36 33 29 32 20 22
 [2449] 31 27 35 25 35 26 30 26 35 37 22 24 30 36 39 39 29 38 27 31 31 24 28 20
 [2473] 34 19 32 24 18 26 35 40 34 36 24 34 21 22 39 35 25 32 25 38 21 25 24 22
 [2497] 31 27 22 18 33 20 27 33 38 30 35 24 26 21 25 38 21 38 39 39 28 23 24 35
 [2521] 29 33 34 40 40 27 23 39 23 37 29 33 23 30 35 38 21 31 23 40 39 18 34 25
 [2545] 37 18 24 26 39 35 25 37 39 32 27 23 22 31 32 23 32 29 31 31 33 35 31 37
 [2569] 20 36 31 19 25 37 26 38 40 20 35 35 20 18 40 36 40 28 35 18 39 32 20 35
 [2593] 21 32 35 35 25 33 23 34 31 31 22 38 24 31 38 27 24 33 18 29 29 36 19 21
 [2617] 37 38 21 26 23 36 36 31 19 18 37 26 36 27 40 35 29 23 26 34 18 19 19 18
 [2641] 38 35 25 25 34 39 22 22 28 27 18 27 33 40 37 26 21 38 23 38 30 36 33 21
 [2665] 32 33 28 38 18 29 36 26 39 34 40 29 33 24 37 22 24 25 22 27 39 40 24 35
 [2689] 37 21 32 20 27 39 39 35 35 33 33 29 30 21 23 26 35 30 26 38 32 38 26 36
 [2713] 37 28 35 19 31 33 20 19 31 25 28 30 34 25 27 37 30 31 40 29 32 35 32 32
 [2737] 22 19 39 36 19 28 26 19 18 31 38 27 24 38 32 25 26 32 36 29 27 22 32 21
 [2761] 38 18 24 21 39 28 25 38 18 20 37 21 34 24 36 21 23 19 26 35 32 27 22 33
 [2785] 34 27 18 26 24 26 22 24 30 23 30 32 26 32 39 32 34 38 26 21 18 25 36 20
 [2809] 18 40 35 18 23 31 21 24 36 28 34 31 24 26 40 30 19 20 32 35 36 27 36 27
 [2833] 30 30 32 23 23 24 24 18 31 39 34 31 30 22 27 36 32 24 36 28 19 35 23 37
 [2857] 37 31 19 40 20 35 20 30 21 29 27 35 18 27 24 21 21 28 30 19 34 38 35 32
 [2881] 37 27 37 32 23 34 29 20 39 29 19 31 33 32 29 38 38 22 35 26 29 37 34 28
 [2905] 40 20 40 19 34 26 20 40 31 36 40 30 24 25 24 26 20 20 34 33 19 36 29 29
 [2929] 23 38 21 34 29 35 18 39 22 40 30 23 38 36 34 33 32 25 24 27 35 39 23 33
 [2953] 32 23 34 34 38 34 20 33 38 30 40 22 38 35 30 40 27 20 29 27 22 30 40 35
 [2977] 22 37 33 28 26 23 24 21 33 38 36 28 26 18 37 23 18 31 20 36 36 30 39 26
 [3001] 24 21 24 36 25 29 23 23 37 27 33 21 35 19 38 36 23 19 38 31 30 30 25 39
 [3025] 32 30 36 38 23 19 34 18 29 21 33 24 34 21 40 35 38 29 35 25 27 29 36 39
 [3049] 38 31 34 31 30 21 39 24 24 28 35 28 23 26 39 38 35 23 29 29 23 28 27 18
 [3073] 36 37 31 31 35 21 27 39 18 23 38 25 34 24 29 31 34 27 36 21 31 27 21 18
 [3097] 37 23 30 32 27 35 39 39 28 34 30 22 39 37 30 39 32 24 35 24 27 30 34 28
 [3121] 19 33 37 27 23 31 34 18 18 33 20 27 29 19 20 31 31 21 32 40 25 32 20 22
 [3145] 20 31 22 24 40 28 18 26 35 27 22 24 21 19 23 23 36 37 30 29 40 36 30 19
 [3169] 22 29 22 18 33 38 31 38 20 33 26 31 30 38 37 18 19 27 30 26 39 29 20 27
 [3193] 39 23 26 28 23 22 29 36 25 37 39 30 29 40 18 19 35 21 36 33 32 21 40 19
 [3217] 21 36 40 25 27 20 35 28 22 28 29 30 40 24 28 40 20 31 33 21 21 33 31 23
 [3241] 36 39 35 23 35 33 32 20 25 20 26 38 22 18 20 28 34 37 27 37 39 39 24 19
 [3265] 27 22 27 39 33 18 32 18 38 21 22 27 26 32 33 28 37 32 23 28 23 38 32 18
 [3289] 22 25 40 39 34 31 22 30 26 38 33 22 24 20 27 34 31 22 24 18 24 28 39 23
 [3313] 32 21 24 25 28 36 26 29 38 38 37 37 35 29 32 40 23 34 18 33 18 28 26 22
 [3337] 31 30 26 25 38 35 23 19 24 26 38 37 31 25 22 19 36 32 26 22 32 22 24 34
 [3361] 37 32 34 37 21 36 31 38 29 39 23 25 18 19 21 26 25 33 34 35 38 25 32 39
 [3385] 21 34 21 32 33 36 25 39 20 40 38 23 28 28 23 39 38 20 29 21 33 33 31 26
 [3409] 24 29 40 27 32 24 20 39 21 31 23 38 27 18 23 33 35 37 26 36 36 36 40 36
 [3433] 24 23 20 22 34 19 28 38 36 37 39 36 31 38 21 39 36 40 19 19 35 38 26 26
 [3457] 28 34 32 22 38 21 36 32 27 38 19 23 20 36 32 31 38 35 30 18 20 19 39 31
 [3481] 38 40 34 19 38 33 33 25 25 26 20 35 25 32 30 24 34 20 23 39 22 33 26 31
 [3505] 29 18 31 29 37 22 39 18 40 29 23 28 29 23 27 20 25 36 36 40 25 23 21 28
 [3529] 20 21 27 39 20 27 34 26 20 35 29 25 25 19 22 36 28 18 26 39 24 18 29 35
 [3553] 24 20 33 35 37 27 28 18 25 19 28 35 21 39 33 19 26 25 29 32 29 25 19 34
 [3577] 29 19 22 22 27 29 39 36 29 33 36 39 33 30 23 35 34 38 20 23 24 36 18 31
 [3601] 32 24 39 20 18 22 25 30 32 19 19 26 26 21 19 32 31 18 32 30 19 32 40 38
 [3625] 40 35 18 38 25 40 31 28 20 25 28 22 19 38 37 19 25 27 39 40 37 24 40 37
 [3649] 24 27 20 23 30 22 26 22 32 19 24 27 35 23 37 34 20 39 20 40 35 25 25 18
 [3673] 19 18 23 20 38 36 29 27 21 37 21 26 36 22 40 32 38 21 37 23 32 32 27 25
 [3697] 19 22 30 28 30 28 24 23 34 28 24 29 38 33 39 18 22 20 35 24 25 38 29 34
 [3721] 18 27 32 19 29 29 20 35 26 35 34 28 37 24 35 28 18 37 27 28 21 23 29 26
 [3745] 39 34 31 34 24 27 25 22 18 24 29 18 37 27 37 35 32 30 27 25 18 30 35 29
 [3769] 20 33 19 38 24 28 24 36 33 40 25 37 27 34 20 23 34 36 21 26 37 24 18 37
 [3793] 24 40 37 39 38 39 32 38 24 24 24 39 22 26 18 18 19 28 22 23 28 29 34 23
 [3817] 26 22 28 29 31 26 21 38 27 36 26 31 29 27 29 32 24 18 18 38 33 39 34 18
 [3841] 26 33 28 38 22 19 24 32 28 26 36 30 22 31 21 33 37 22 18 22 40 20 37 38
 [3865] 31 19 27 22 32 30 24 18 22 36 22 35 32 30 29 38 37 28 35 18 24 28 30 28
 [3889] 29 23 36 22 33 27 38 33 24 36 32 25 19 23 28 34 32 23 32 23 22 31 20 19
 [3913] 39 35 35 30 22 40 28 26 23 27 33 21 31 37 29 30 28 27 31 32 36 27 39 18
 [3937] 35 33 20 27 24 35 40 38 35 27 20 18 37 29 19 35 21 31 25 22 37 20 38 37
 [3961] 38 30 20 34 40 35 27 33 33 29 25 39 34 18 39 23 18 31 40 32 21 29 39 19
 [3985] 31 23 23 27 20 38 23 34 19 31 23 25 20 33 39 34 40 27 32 26 36 38 31 20
 [4009] 18 20 22 32 26 35 35 24 24 27 28 18 21 36 37 23 19 18 30 39 28 30 22 36
 [4033] 18 23 36 22 36 33 31 26 23 30 34 34 37 18 39 36 18 27 23 25 23 22 37 18
 [4057] 38 28 37 35 39 27 26 24 22 20 23 37 18 30 19 19 28 18 29 21 36 33 32 39
 [4081] 34 25 20 33 24 39 27 18 24 38 23 30 27 21 23 35 25 18 35 35 32 38 38 35
 [4105] 39 36 39 29 18 23 37 32 34 24 25 35 18 18 25 36 27 40 35 20 19 19 34 19
 [4129] 20 19 40 34 40 39 29 24 39 33 20 34 40 27 25 25 25 19 31 22 39 31 26 39
 [4153] 25 28 20 22 29 32 28 27 26 24 25 19 37 37 23 38 24 32 25 29 31 38 37 32
 [4177] 21 36 32 22 39 36 39 22 34 23 36 37 29 18 35 25 21 34 33 34 24 37 33 26
 [4201] 35 21 29 38 25 37 27 32 18 25 23 18 21 24 26 31 20 28 37 22 40 19 29 39
 [4225] 21 27 31 28 33 29 26 39 22 33 27 32 19 39 37 25 18 35 24 23 20 34 21 30
 [4249] 29 38 21 25 33 29 31 25 33 22 34 28 20 36 27 35 25 19 36 28 20 26 23 21
 [4273] 36 32 34 40 29 34 31 32 36 38 37 36 21 35 18 22 22 21 30 34 32 31 38 24
 [4297] 27 34 28 27 26 28 26 27 35 38 34 36 18 20 31 26 30 30 21 23 40 40 39 27
 [4321] 27 28 32 39 32 26 39 19 24 20 22 18 38 26 29 26 40 26 21 27 20 40 27 39
 [4345] 28 29 38 38 23 25 30 33 34 36 31 35 30 30 31 39 29 36 37 36 18 27 36 18
 [4369] 33 38 31 36 32 30 21 21 38 22 37 37 28 34 18 23 22 32 18 30 30 30 33 26
 [4393] 38 28 30 37 27 31 37 22 25 39 31 23 33 21 21 22 32 35 26 21 34 25 36 23
 [4417] 31 36 37 25 35 35 29 37 34 37 23 22 21 24 20 32 21 33 24 29 23 24 35 23
 [4441] 34 29 25 35 27 20 24 23 35 20 32 30 28 20 32 23 19 26 25 33 20 39 38 27
 [4465] 29 28 21 39 35 21 36 30 18 37 36 28 21 39 37 31 23 27 39 34 36 25 22 33
 [4489] 29 23 21 29 30 37 29 23 26 19 38 23 24 35 29 27 36 19 27 24 31 39 23 24
 [4513] 19 29 30 18 37 23 20 32 31 39 22 27 23 35 36 25 26 38 37 19 25 30 38 33
 [4537] 31 39 23 37 31 18 22 27 35 26 33 26 28 23 24 32 31 24 37 27 27 21 36 24
 [4561] 19 30 23 37 26 32 39 37 24 26 38 22 22 23 37 19 18 29 19 29 19 35 22 28
 [4585] 25 30 33 26 21 32 23 20 39 24 22 33 30 26 20 38 33 40 18 30 34 28 39 40
 [4609] 28 35 23 37 40 22 25 21 34 38 28 38 40 21 24 33 20 22 20 37 25 37 18 29
 [4633] 26 25 18 26 38 30 33 31 35 29 35 21 25 35 19 25 22 30 19 25 36 37 22 29
 [4657] 32 28 21 38 27 40 29 19 24 38 39 33 33 37 29 25 25 36 33 30 39 23 33 38
 [4681] 18 34 34 33 24 38 24 26 25 33 36 28 23 22 23 26 18 24 27 24 30 29 24 24
 [4705] 31 36 31 37 28 27 26 19 29 40 19 37 21 34 29 19 35 31 30 18 30 40 26 31
 [4729] 24 31 37 32 35 30 27 31 39 31 35 33 29 19 35 37 29 33 21 29 40 38 20 24
 [4753] 33 30 31 29 18 36 40 28 25 37 23 19 25 39 22 24 25 35 24 36 28 27 26 30
 [4777] 22 24 37 26 24 28 36 20 38 29 26 32 34 33 27 33 25 34 27 22 38 22 28 28
 [4801] 23 31 36 22 40 19 39 31 26 21 39 39 29 18 19 38 39 37 39 23 31 25 22 38
 [4825] 29 18 32 20 23 24 26 35 27 36 31 31 37 35 31 37 35 30 31 20 21 22 29 23
 [4849] 19 32 26 20 18 23 33 30 32 28 39 35 29 35 36 32 38 34 23 29 30 25 18 32
 [4873] 40 33 31 27 31 26 23 19 37 22 23 22 39 38 18 32 34 25 23 23 32 30 29 38
 [4897] 21 31 34 18 34 32 27 20 35 20 25 39 30 23 37 23 29 26 21 36 22 25 37 18
 [4921] 23 35 21 21 36 27 20 29 22 25 38 38 25 30 23 40 39 29 22 19 32 25 25 39
 [4945] 26 30 37 40 31 34 28 23 35 19 31 39 23 18 20 26 37 23 27 40 25 23 29 40
 [4969] 23 30 29 26 30 18 31 26 32 34 26 39 36 24 18 39 39 19 35 24 22 38 30 37
 [4993] 39 40 19 26 32 33 21 30 24 40 21 32 30 39 20 33 28 32 25 25 26 34 29 27
 [5017] 36 30 21 29 38 36 29 34 26 34 40 31 34 22 27 28 25 35 19 30 21 21 21 37
 [5041] 38 18 37 27 29 31 31 36 32 29 35 26 34 21 18 40 38 31 34 33 40 36 37 20
 [5065] 40 22 35 26 38 23 18 23 19 40 24 22 23 32 40 40 28 25 36 23 35 29 39 21
 [5089] 32 31 28 33 31 24 28 31 27 32 20 27 18 29 33 23 33 19 27 29 29 24 19 30
 [5113] 22 28 40 30 26 36 19 32 29 34 32 25 30 39 28 40 33 28 32 25 37 37 36 33
 [5137] 22 29 31 25 29 33 21 20 31 31 40 36 34 29 25 19 36 30 36 22 35 21 26 37
 [5161] 32 32 36 34 29 23 29 23 37 27 40 37 18 27 18 19 26 35 31 34 20 29 28 38
 [5185] 26 30 21 35 28 31 40 19 40 38 31 33 37 37 28 34 33 33 18 35 24 32 35 35
 [5209] 27 28 24 32 18 38 23 19 40 37 20 38 19 40 25 38 39 37 33 22 35 23 35 34
 [5233] 22 31 20 31 20 38 35 26 21 22 33 23 23 38 24 40 23 22 25 38 23 21 40 26
 [5257] 34 33 30 33 31 23 26 39 28 32 36 29 22 28 38 22 29 21 23 30 32 34 27 19
 [5281] 19 20 39 29 36 35 27 37 21 35 21 22 26 20 39 26 27 34 37 40 35 21 29 39
 [5305] 20 24 37 24 29 18 26 35 40 35 22 30 40 25 39 31 32 23 30 25 26 23 21 24
 [5329] 24 35 25 25 30 24 29 29 23 31 25 22 23 25 23 21 19 37 26 35 40 29 21 20
 [5353] 30 23 32 24 33 21 32 18 19 28 25 31 27 38 26 27 37 22 36 27 26 38 36 36
 [5377] 31 27 20 26 19 40 22 22 29 29 36 40 30 32 20 19 26 28 37 22 40 28 27 25
 [5401] 40 30 22 32 31 39 24 37 26 31 34 39 24 35 34 21 26 33 27 40 21 20 18 33
 [5425] 26 22 35 31 29 35 35 32 30 18 31 40 38 24 26 19 33 33 40 26 25 19 26 24
 [5449] 24 21 31 27 39 23 18 18 38 20 18 38 38 34 35 33 33 32 35 35 34 30 29 27
 [5473] 35 19 21 23 31 35 26 20 36 25 33 34 25 33 28 25 38 19 22 33 29 22 22 21
 [5497] 39 22 25 39 25 36 28 20 29 21 27 33 27 24 32 33 38 18 24 35 34 35 30 25
 [5521] 23 30 30 26 33 33 40 24 29 19 40 22 24 31 34 40 25 18 29 36 20 24 40 18
 [5545] 26 23 26 30 21 24 36 32 32 40 39 26 28 30 31 28 20 25 29 33 23 20 32 39
 [5569] 32 30 33 39 28 38 20 29 39 22 39 29 21 29 30 25 32 28 19 30 30 27 24 26
 [5593] 33 34 29 25 18 21 39 36 21 19 28 30 20 21 25 34 25 24 18 19 22 24 24 26
 [5617] 37 28 24 32 37 18 25 33 30 32 32 37 38 21 39 35 35 18 30 36 39 34 34 21
 [5641] 20 25 38 30 31 25 25 25 32 26 25 19 27 32 27 19 25 37 37 32 31 36 36 39
 [5665] 30 28 30 32 34 31 35 28 27 30 32 26 40 38 25 33 33 37 38 20 38 20 28 33
 [5689] 19 29 20 26 30 22 19 25 20 31 33 32 28 26 21 19 39 27 23 35 25 18 24 28
 [5713] 34 40 34 40 20 32 30 32 36 32 18 40 23 29 22 26 32 37 32 28 40 23 35 38
 [5737] 37 32 22 19 34 35 32 18 18 37 40 29 37 21 19 21 22 29 36 18 28 36 24 32
 [5761] 35 36 39 31 28 21 36 22 25 32 29 29 24 27 33 30 34 23 33 34 27 39 36 35
 [5785] 36 19 18 38 36 34 31 29 40 31 21 36 29 30 40 31 36 29 33 34 18 27 22 26
 [5809] 24 31 35 39 20 30 33 33 39 18 39 18 28 22 20 34 31 39 25 31 35 39 37 22
 [5833] 19 30 20 33 38 40 21 21 22 36 30 34 26 22 21 33 40 24 27 23 37 19 19 24
 [5857] 38 37 37 30 23 30 21 38 32 22 23 23 28 40 21 20 29 23 31 33 19 36 28 34
 [5881] 34 31 40 31 29 39 23 28 24 19 35 39 40 32 34 31 31 18 24 39 37 38 22 24
 [5905] 22 32 32 34 32 23 20 24 18 24 21 25 31 24 26 31 19 24 34 39 20 24 25 31
 [5929] 35 23 37 33 27 21 36 33 25 33 26 38 25 23 32 23 23 33 37 18 33 25 34 32
 [5953] 33 36 30 30 38 30 20 38 35 31 35 37 29 25 20 38 30 39 21 21 25 28 34 28
 [5977] 23 31 37 24 27 28 38 22 26 20 28 20 32 19 37 40 36 21 23 20 38 29 32 19
 [6001] 32 34 35 30 25 20 38 28 20 32 40 33 34 37 19 32 40 30 33 21 38 38 38 27
 [6025] 28 26 37 26 30 33 28 40 40 38 19 23 28 29 20 34 30 34 33 23 22 40 28 25
 [6049] 27 39 25 20 27 40 28 40 35 24 32 38 24 19 26 20 36 28 31 32 33 23 31 29
 [6073] 25 19 21 34 24 39 35 38 31 24 19 38 33 30 31 40 37 20 39 38 24 30 36 33
 [6097] 21 38 29 33 20 23 35 34 29 40 35 20 37 23 35 38 21 34 28 27 38 25 29 32
 [6121] 24 30 29 22 27 40 20 29 24 32 34 36 23 29 19 20 32 33 23 35 40 37 24 34
 [6145] 25 34 37 20 28 31 19 19 34 18 29 25 21 33 37 34 23 40 24 19 32 26 39 19
 [6169] 32 39 30 36 37 26 20 26 21 23 36 39 20 25 33 32 34 25 33 31 20 35 21 30
 [6193] 28 18 27 37 37 24 25 28 27 23 24 38 24 36 35 30 40 22 19 19 21 38 18 29
 [6217] 23 30 26 33 18 28 33 36 18 35 38 21 36 24 20 24 32 35 20 29 36 32 22 25
 [6241] 40 22 19 20 35 18 30 25 22 40 24 21 24 27 24 26 27 30 24 32 40 36 27 20
 [6265] 33 22 21 23 25 29 26 36 24 21 36 40 21 32 32 34 27 30 35 35 19 34 33 33
 [6289] 31 23 21 29 33 28 34 20 18 33 30 38 22 30 39 24 23 25 36 18 19 33 28 21
 [6313] 39 31 30 27 21 31 37 37 39 34 39 31 37 40 37 20 18 27 26 32 36 22 28 24
 [6337] 40 38 22 20 33 38 36 18 40 25 28 19 32 29 27 18 25 27 22 21 35 38 21 29
 [6361] 35 33 33 30 39 22 33 31 21 40 18 31 18 30 30 23 33 19 38 36 30 22 25 29
 [6385] 22 26 28 30 34 28 25 18 18 26 25 37 29 21 27 35 36 36 20 39 39 28 32 23
 [6409] 19 24 29 35 25 25 24 28 38 35 34 22 40 21 23 18 36 20 34 20 19 18 35 24
 [6433] 34 35 28 34 29 23 36 30 25 32 25 30 37 27 37 24 20 25 34 20 34 37 18 22
 [6457] 23 32 36 39 25 34 34 34 27 19 25 35 40 37 21 27 34 20 37 23 24 25 18 18
 [6481] 31 33 23 28 20 25 40 38 25 30 40 40 28 35 23 39 18 38 18 18 26 38 32 35
 [6505] 35 39 29 32 39 22 28 24 32 20 19 37 23 31 19 19 36 25 26 38 19 27 29 30
 [6529] 20 34 30 25 33 26 31 18 31 40 29 26 33 28 24 28 22 27 27 33 39 34 35 18
 [6553] 26 38 38 20 37 39 32 23 35 20 39 34 20 22 40 28 38 19 26 36 37 21 23 36
 [6577] 20 27 39 22 33 23 19 19 35 23 22 38 35 28 24 36 25 26 34 18 25 37 19 22
 [6601] 18 21 34 23 38 22 34 36 19 23 32 38 31 40 35 19 19 27 20 22 28 21 35 27
 [6625] 32 32 20 40 31 39 27 33 29 23 30 22 36 36 33 27 34 18 35 18 26 21 28 24
 [6649] 28 33 38 26 24 30 29 33 24 40 29 32 31 36 32 35 18 34 34 30 18 22 38 30
 [6673] 32 21 27 19 34 34 29 36 23 24 29 18 21 27 38 38 22 26 40 28 18 21 20 24
 [6697] 29 39 39 19 37 20 25 39 26 33 30 34 31 27 34 34 34 19 37 18 19 23 39 27
 [6721] 38 19 37 33 21 20 21 25 27 23 22 36 29 24 25 27 31 37 26 37 24 28 30 37
 [6745] 23 27 22 35 26 28 33 40 38 24 28 28 40 31 25 20 19 30 21 24 29 25 19 25
 [6769] 20 22 25 23 23 31 36 35 27 37 31 18 27 40 22 29 39 18 33 27 33 29 30 19
 [6793] 25 39 32 36 33 39 32 28 40 20 37 21 28 32 35 23 34 19 29 26 38 38 36 36
 [6817] 20 35 22 39 23 20 22 31 24 19 18 31 18 32 32 35 28 40 27 30 40 29 35 32
 [6841] 28 38 35 38 33 38 23 18 32 23 31 39 33 23 20 34 32 32 31 36 35 21 35 26
 [6865] 33 22 37 34 26 35 36 31 22 19 36 39 38 35 38 33 28 36 18 40 18 34 36 20
 [6889] 25 38 26 25 18 29 36 22 34 23 25 24 19 40 36 39 32 36 24 27 38 27 27 21
 [6913] 30 38 18 22 30 33 38 26 21 31 25 31 40 36 40 19 39 31 20 30 28 35 37 40
 [6937] 23 37 31 28 39 34 20 29 23 22 35 27 40 33 31 24 32 36 38 20 25 35 32 39
 [6961] 37 18 35 36 34 28 21 37 18 32 39 25 22 28 32 36 25 25 40 18 27 32 22 31
 [6985] 38 36 26 23 27 35 33 21 24 30 34 38 23 39 29 40 40 33 39 38 33 19 34 33
 [7009] 30 37 28 40 39 26 20 23 40 21 31 30 21 22 32 22 31 29 30 37 31 39 21 35
 [7033] 20 23 18 21 28 34 40 31 18 32 28 27 25 32 26 34 36 33 22 39 18 18 25 28
 [7057] 33 28 25 37 31 22 25 31 34 35 24 22 26 30 24 19 23 20 31 24 18 19 29 18
 [7081] 37 25 35 23 38 23 35 39 34 18 19 34 31 26 34 40 29 19 20 31 18 32 33 36
 [7105] 30 26 29 36 40 35 34 37 36 23 22 30 18 27 31 29 34 20 25 18 35 21 30 39
 [7129] 20 21 20 31 18 35 25 38 32 24 30 24 31 35 18 25 19 32 20 31 29 29 35 27
 [7153] 21 33 39 19 18 21 29 19 29 19 21 21 18 26 21 40 21 35 32 32 31 21 34 30
 [7177] 19 29 21 23 18 29 23 36 28 37 24 18 27 25 37 33 34 25 36 20 26 32 38 38
 [7201] 37 32 20 28 21 40 26 32 23 38 30 27 38 32 38 27 35 35 28 25 28 28 20 30
 [7225] 26 30 27 22 37 31 35 38 30 19 25 29 25 30 21 24 27 18 20 32 30 31 28 24
 [7249] 37 38 33 22 26 20 34 39 32 27 28 32 29 23 34 34 32 22 34 27 30 39 26 26
 [7273] 29 31 25 31 28 37 33 24 35 24 32 20 18 29 40 19 23 37 20 32 24 40 27 21
 [7297] 33 33 29 23 21 23 22 32 23 29 32 24 39 30 28 24 34 33 27 24 22 24 31 38
 [7321] 27 32 30 25 32 35 27 25 20 36 19 31 23 35 29 36 28 23 40 25 39 29 32 31
 [7345] 31 33 34 35 26 38 37 40 40 35 31 20 33 19 39 23 19 26 31 29 19 33 38 35
 [7369] 31 23 28 35 28 19 36 32 27 21 25 23 23 40 20 33 28 28 37 33 21 18 40 33
 [7393] 36 34 35 20 31 32 39 24 20 36 34 24 29 23 33 19 23 33 37 18 40 32 23 40
 [7417] 25 25 31 34 27 20 18 30 22 21 30 26 29 25 38 21 38 28 30 18 30 23 29 28
 [7441] 20 38 25 25 24 31 31 38 25 40 27 37 34 40 28 30 21 25 35 25 25 33 21 31
 [7465] 24 27 34 18 32 38 20 26 24 19 37 33 25 33 21 22 34 33 36 28 25 35 23 29
 [7489] 23 22 21 33 26 33 40 18 21 21 33 40 27 33 37 38 32 25 18 36 20 27 40 35
 [7513] 38 36 27 21 22 40 39 28 28 29 26 22 25 24 40 25 22 32 27 19 32 27 20 40
 [7537] 21 20 37 40 29 39 30 32 23 22 19 23 35 34 32 26 26 30 28 20 35 37 28 18
 [7561] 36 23 38 27 30 19 34 28 24 18 40 34 37 19 32 38 37 20 19 36 21 22 32 28
 [7585] 35 18 32 29 30 19 39 19 34 19 18 29 23 18 27 32 24 23 20 29 18 28 18 27
 [7609] 35 33 37 19 26 37 29 36 25 30 23 38 23 27 19 26 21 29 29 37 25 28 36 22
 [7633] 38 27 38 32 21 40 25 33 23 37 40 35 20 40 33 28 36 27 27 25 27 21 37 30
 [7657] 27 38 25 36 24 21 38 36 32 23 22 32 27 32 24 19 27 32 26 24 21 39 23 20
 [7681] 39 22 28 24 32 20 35 34 32 18 27 20 33 32 34 27 40 25 19 27 40 34 23 22
 [7705] 20 24 21 26 29 38 35 37 30 40 32 35 40 38 33 40 33 33 34 20 19 39 32 32
 [7729] 21 38 22 23 34 20 18 30 29 39 40 40 33 24 37 29 34 19 20 22 27 32 20 22
 [7753] 18 29 32 25 23 30 36 34 19 26 34 19 24 39 24 37 21 21 23 25 25 27 37 28
 [7777] 18 31 21 23 23 23 30 28 21 28 33 22 27 33 23 25 39 38 30 31 29 30 25 39
 [7801] 21 19 32 19 26 30 29 25 35 30 34 31 36 34 24 37 29 32 24 36 27 20 37 28
 [7825] 27 23 26 33 36 18 23 25 36 28 40 34 21 18 20 23 39 39 33 33 25 27 21 18
 [7849] 20 40 40 32 33 19 27 32 26 38 37 21 18 33 38 30 21 28 37 35 21 21 35 34
 [7873] 26 19 32 25 19 30 38 40 18 29 38 30 40 23 28 30 32 34 18 37 26 39 37 25
 [7897] 23 27 32 38 36 34 25 19 18 31 31 23 33 35 33 26 21 31 33 36 19 22 39 18
 [7921] 31 30 18 26 32 19 29 36 22 20 19 40 33 33 19 35 28 26 29 34 31 33 26 22
 [7945] 32 31 26 27 35 37 35 35 19 35 38 29 34 21 26 19 31 35 24 23 23 39 37 29
 [7969] 27 22 24 28 31 28 22 37 23 30 35 35 22 33 30 30 28 20 30 20 26 20 40 19
 [7993] 18 27 32 19 18 34 18 40 20 23 35 36 26 34 34 27 36 35 36 24 39 21 38 30
 [8017] 29 27 33 18 31 32 32 33 32 23 20 19 36 27 26 27 40 21 30 33 27 31 32 21
 [8041] 39 23 21 30 23 21 36 21 25 25 36 23 39 21 29 33 18 37 34 32 19 37 33 40
 [8065] 21 39 21 26 26 33 24 30 37 24 20 19 25 37 33 20 26 21 25 23 23 22 31 32
 [8089] 36 40 32 30 21 23 18 36 33 22 25 25 28 22 20 28 19 20 29 20 38 22 23 32
 [8113] 39 33 28 39 23 25 24 22 25 36 35 24 20 37 26 33 35 21 25 34 30 25 29 25
 [8137] 38 40 19 40 37 26 22 30 28 25 34 24 19 20 30 30 27 25 32 18 38 37 24 22
 [8161] 34 23 26 19 25 21 18 38 31 18 36 31 30 24 38 19 22 22 34 32 28 19 24 34
 [8185] 20 26 28 24 34 37 26 30 25 20 26 40 31 18 35 25 31 40 23 35 29 22 38 40
 [8209] 31 35 30 24 22 36 32 40 18 39 36 19 31 31 35 29 19 32 32 26 22 22 36 38
 [8233] 34 28 34 19 29 32 39 36 18 26 21 33 38 19 24 28 40 39 26 29 25 23 31 23
 [8257] 25 39 20 28 39 38 29 33 25 26 18 27 21 31 37 18 20 40 28 24 23 39 25 21
 [8281] 27 38 18 31 22 36 33 38 30 19 36 37 29 25 32 40 33 28 19 23 27 29 40 21
 [8305] 38 23 37 40 40 27 20 36 34 39 25 37 38 34 25 33 22 20 31 25 38 18 24 31
 [8329] 23 22 34 39 34 39 25 39 32 20 27 39 40 39 26 39 28 24 23 19 36 26 31 23
 [8353] 24 39 25 39 33 20 27 32 31 30 23 21 26 26 23 33 27 29 37 30 39 31 26 25
 [8377] 21 19 34 38 28 35 30 23 37 25 34 35 25 27 39 20 19 32 34 20 24 34 27 19
 [8401] 25 40 24 31 31 36 25 28 35 25 36 24 39 37 28 39 36 18 29 24 37 30 36 31
 [8425] 19 39 35 37 38 28 21 35 36 35 31 36 31 37 37 20 34 27 32 22 19 30 37 40
 [8449] 40 39 21 34 19 32 32 33 36 24 21 29 25 24 30 24 27 35 40 22 18 34 33 23
 [8473] 40 36 22 36 40 21 23 36 22 25 21 23 30 37 40 30 32 23 32 22 36 31 39 35
 [8497] 28 29 25 36 33 26 28 35 33 35 34 32 30 20 24 30 34 35 26 37 39 20 19 21
 [8521] 27 31 33 30 32 29 25 20 30 23 36 22 35 37 26 27 24 27 36 21 28 32 32 23
 [8545] 23 19 34 23 33 30 29 23 18 36 38 40 22 25 40 36 26 29 25 27 40 40 29 22
 [8569] 18 31 32 26 27 31 37 28 28 24 39 34 39 32 30 37 24 30 37 18 30 28 32 34
 [8593] 29 40 34 28 21 19 30 26 22 39 19 18 31 19 33 28 40 39 22 36 21 22 20 35
 [8617] 38 21 21 33 18 23 26 36 18 34 32 22 35 30 36 31 39 33 27 34 33 34 19 35
 [8641] 22 34 20 38 38 31 29 19 37 20 28 25 38 39 28 22 32 20 33 25 37 37 40 22
 [8665] 35 36 20 33 37 24 39 29 19 23 27 36 29 26 24 33 29 38 40 28 26 34 20 24
 [8689] 30 21 20 25 22 18 36 20 36 26 18 22 26 28 34 38 37 30 37 39 31 36 32 38
 [8713] 20 34 23 37 33 38 26 38 38 27 33 20 26 30 21 23 18 30 22 37 27 21 39 31
 [8737] 20 22 36 18 38 19 29 27 36 25 37 27 32 27 29 35 19 28 24 19 28 26 18 33
 [8761] 36 30 40 34 24 30 33 40 22 39 33 28 21 26 22 31 20 25 28 25 34 20 39 31
 [8785] 28 35 34 23 23 19 29 36 38 27 33 39 32 20 24 36 38 19 20 25 36 37 27 37
 [8809] 39 30 38 20 30 40 36 23 36 39 21 31 30 40 35 34 19 30 39 21 26 35 18 20
 [8833] 20 26 29 29 20 33 38 21 19 30 21 29 20 18 24 26 29 33 21 37 34 19 23 24
 [8857] 18 32 36 21 40 39 22 39 18 39 26 25 21 34 35 36 21 37 18 23 25 27 19 25
 [8881] 25 33 33 39 40 18 34 40 36 19 18 27 33 22 21 33 21 39 20 34 31 40 29 26
 [8905] 38 21 20 39 25 30 18 33 27 28 39 20 22 35 19 28 38 38 28 36 23 28 39 36
 [8929] 34 30 38 32 29 27 23 33 23 18 37 37 18 30 33 38 40 36 40 36 38 27 22 34
 [8953] 29 31 29 32 35 24 25 40 34 22 36 32 28 40 23 23 21 22 40 30 34 35 23 30
 [8977] 25 26 31 32 36 31 38 27 38 30 31 36 40 36 29 19 19 31 29 34 34 34 25 29
 [9001] 22 32 33 20 29 35 30 35 32 30 37 39 36 38 38 25 32 34 30 29 35 29 38 25
 [9025] 37 18 38 32 36 28 37 31 30 36 21 35 28 23 34 39 23 35 18 22 27 31 20 35
 [9049] 27 30 24 38 29 34 39 21 23 32 32 34 37 27 23 33 27 39 29 36 39 29 37 38
 [9073] 38 22 38 19 31 34 20 21 28 26 28 29 19 20 26 35 34 34 33 27 26 31 35 40
 [9097] 18 18 35 25 38 29 19 34 40 38 24 20 35 27 32 33 23 40 26 30 19 37 27 22
 [9121] 33 30 32 26 25 22 30 30 36 39 27 24 34 25 35 26 38 29 37 29 22 31 19 38
 [9145] 33 27 21 29 31 29 28 37 23 29 30 25 18 32 19 26 19 38 31 20 34 21 28 34
 [9169] 33 25 25 35 19 24 39 40 35 20 37 20 31 40 30 30 32 23 20 29 36 18 31 33
 [9193] 37 26 28 25 27 37 34 29 27 37 36 18 38 28 36 26 35 37 24 26 31 31 37 40
 [9217] 37 38 36 33 32 32 27 23 26 32 27 24 27 37 39 26 30 38 23 18 23 18 39 27
 [9241] 24 19 20 23 19 21 32 40 29 18 28 37 37 28 40 26 29 39 21 35 25 35 35 27
 [9265] 37 39 33 27 39 24 23 40 29 27 40 18 20 19 37 25 18 35 21 21 32 23 34 40
 [9289] 21 34 27 29 36 25 26 38 40 36 26 34 30 35 29 20 22 39 23 29 29 23 30 20
 [9313] 40 34 35 27 27 21 38 31 22 23 40 33 35 36 19 33 30 39 26 34 20 21 23 34
 [9337] 28 25 22 34 39 38 24 34 22 36 38 18 38 34 40 24 30 34 21 39 33 23 30 35
 [9361] 21 27 38 29 19 31 39 35 31 34 35 26 21 36 31 26 32 27 24 29 28 38 33 24
 [9385] 39 33 33 30 24 33 21 25 35 37 27 18 35 31 35 40 32 23 23 39 19 33 25 33
 [9409] 35 30 23 30 22 25 18 31 27 31 19 19 35 39 40 35 37 37 27 18 20 39 36 22
 [9433] 34 26 36 38 24 32 33 23 34 26 31 37 27 30 19 25 21 22 18 29 35 32 22 21
 [9457] 32 27 31 36 28 33 40 36 22 36 32 37 29 39 32 31 33 36 35 30 40 40 39 27
 [9481] 35 37 20 31 24 37 25 37 31 22 28 35 30 40 27 30 30 27 29 37 25 23 29 23
 [9505] 22 22 28 40 35 26 36 40 34 35 40 21 18 38 27 39 31 20 22 30 29 25 27 40
 [9529] 36 39 26 24 27 26 20 31 35 35 19 40 23 24 20 32 25 33 27 26 20 34 22 35
 [9553] 36 31 38 37 23 30 22 26 28 40 36 38 39 24 39 19 38 40 21 38 18 38 19 24
 [9577] 35 30 31 26 35 20 33 29 27 18 31 40 28 19 40 23 27 33 21 37 22 27 20 37
 [9601] 35 36 18 38 34 21 26 20 26 25 39 31 28 27 29 29 38 29 21 38 19 19 39 31
 [9625] 34 28 26 34 30 40 22 29 36 22 32 32 19 32 22 18 23 21 33 23 19 26 20 19
 [9649] 33 28 39 24 23 27 38 22 24 28 19 32 39 23 27 18 19 19 32 24 38 36 22 31
 [9673] 18 27 39 35 19 18 24 34 22 26 37 28 25 29 27 27 40 29 23 20 22 31 36 25
 [9697] 27 23 33 31 36 28 24 39 19 32 22 28 26 38 34 28 30 18 36 37 26 28 29 31
 [9721] 30 39 33 30 21 20 20 18 33 28 40 28 22 36 39 25 39 19 29 30 30 22 24 27
 [9745] 39 20 29 32 26 27 23 34 31 31 27 22 38 32 39 22 30 27 21 30 28 34 35 36
 [9769] 40 31 20 19 29 33 29 34 24 18 27 20 22 39 36 39 37 21 31 33 31 38 40 22
 [9793] 26 24 31 29 36 20 27 35 23 34 31 20 39 29 31 26 23 21 32 32 40 29 36 32
 [9817] 23 35 28 34 28 31 31 39 21 34 38 27 28 28 18 27 37 38 27 23 19 25 31 18
 [9841] 19 25 35 25 18 25 31 24 30 27 35 28 32 26 26 40 35 28 28 38 31 31 34 30
 [9865] 39 19 26 36 31 30 22 18 29 38 20 31 34 23 24 19 39 26 22 40 33 36 21 40
 [9889] 38 29 20 39 23 25 35 35 39 35 35 36 37 39 24 39 39 22 20 26 29 34 29 28
 [9913] 26 35 33 35 21 25 40 38 35 26 19 24 21 22 33 19 23 25 32 30 31 27 23 36
 [9937] 39 36 29 26 24 22 29 31 23 23 30 27 19 22 24 18 26 22 35 28 34 26 22 34
 [9961] 21 28 20 21 33 35 30 26 18 28 26 27 27 33 31 32 20 36 30 19 35 38 21 18
 [9985] 39 30 32 31 22 33 32 29 34 38 26 37 36 37 22 18 37 39 25 31 20 38 22 36
[10009] 34 26 38 24 37 25 35 28 18 32 37 26 40 25 27 33 40 31 38 31 39 29 30 28
[10033] 20 39 22 24 36 26 21 21 26 18 20 39 25 29 38 39 24 34 21 20 25 38 23 28
[10057] 18 37 38 22 19 39 23 26 27 34 30 23 22 24 36 35 36 34 25 27 18 21 22 28
[10081] 37 34 34 37 25 23 23 32 23 27 35 26 39 25 22 33 19 27 26 25 19 27 24 22
[10105] 36 36 31 29 29 38 40 25 38 25 28 31 35 26 27 22 23 39 29 39 30 26 37 18
[10129] 22 20 39 34 22 40 27 34 23 36 30 20 39 29 29 28 20 32 27 33 33 28 22 28
[10153] 25 24 39 24 22 23 36 21 35 33 26 40 24 33 35 34 23 40 20 24 22 37 29 26
[10177] 31 31 33 22 23 40 29 21 27 31 24 23 24 28 35 27 33 35 21 31 22 25 39 19
[10201] 33 28 24 27 35 34 36 31 26 26 32 25 19 38 25 18 36 29 32 30 31 23 32 25
[10225] 24 35 26 39 37 34 19 38 22 39 33 40 36 33 30 28 36 39 26 29 19 20 26 28
[10249] 29 35 37 19 35 39 24 35 29 32 26 20 30 25 20 39 34 27 38 25 24 39 19 35
[10273] 20 36 19 40 39 29 19 31 38 36 23 37 23 33 24 40 38 32 40 27 19 29 32 27
[10297] 35 33 34 27 37 20 26 33 18 34 32 30 25 22 25 22 34 19 26 38 36 32 39 25
[10321] 20 30 26 32 31 18 38 32 40 33 26 40 30 25 25 32 30 36 27 24 28 26 28 40
[10345] 39 40 33 24 35 29 22 31 22 40 32 29 28 28 32 29 24 38 24 19 23 36 21 20
[10369] 24 40 26 24 25 18 36 36 20 32 24 29 18 27 23 30 39 37 20 18 20 37 28 28
[10393] 24 36 19 29 20 30 33 34 20 31 18 28 23 28 22 32 21 27 36 25 20 29 33 30
[10417] 24 37 39 29 22 36 37 32 40 38 23 26 38 32 38 34 39 33 34 34 40 22 29 31
[10441] 39 27 36 38 34 30 19 35 39 26 37 31 19 24 34 37 36 33 30 29 19 25 36 36
[10465] 26 25 40 31 28 36 30 26 22 29 30 19 34 30 39 40 25 28 28 38 34 40 23 38
[10489] 19 38 18 30 18 19 26 37 31 19 29 26 36 38 37 35 33 26 40 30 39 27 32 29
[10513] 26 29 32 26 39 38 30 34 25 19 24 30 18 35 18 38 34 18 23 36 36 40 40 32
[10537] 40 29 27 21 27 35 33 36 38 38 23 20 36 24 32 35 29 23 37 23 22 19 29 37
[10561] 32 18 32 35 24 34 35 36 19 21 35 25 18 23 35 19 38 31 23 26 32 21 35 21
[10585] 34 29 18 33 35 27 36 30 27 21 24 18 34 28 33 35 24 40 21 21 29 19 32 36
[10609] 29 29 20 21 30 20 30 19 33 23 29 33 34 19 28 40 35 27 22 24 28 25 18 26
[10633] 24 31 21 25 28 24 18 35 31 27 32 20 40 18 35 35 29 25 18 22 26 38 25 22
[10657] 40 21 34 32 20 28 24 35 19 29 20 29 24 34 26 32 29 40 38 20 21 37 30 22
[10681] 36 38 20 22 33 33 21 38 34 40 27 26 23 18 28 36 25 19 19 19 21 25 22 37
[10705] 22 33 29 31 22 26 18 32 29 34 38 30 22 27 22 28 21 29 23 39 33 18 19 27
[10729] 23 34 40 21 24 39 23 25 26 35 20 21 37 33 23 32 37 24 22 33 38 21 18 23
[10753] 35 37 25 30 29 33 22 18 28 30 26 29 35 33 33 29 29 31 25 36 29 22 31 26
[10777] 35 31 28 39 22 33 27 39 30 34 35 19 31 39 30 36 30 31 21 29 19 21 24 22
[10801] 18 31 35 29 29 29 19 37 37 27 24 23 23 21 35 25 38 31 25 33 39 37 29 33
[10825] 27 30 33 23 25 39 37 25 22 20 26 20 39 39 24 21 35 36 22 33 30 39 21 33
[10849] 24 19 23 39 24 23 28 31 40 34 23 23 28 38 31 33 33 40 29 21 18 26 28 39
[10873] 33 29 29 27 28 33 33 26 29 20 29 26 28 30 23 18 24 23 25 38 25 30 37 34
[10897] 36 32 25 35 35 20 23 33 27 40 35 24 24 25 24 19 28 29 33 33 28 40 35 38
[10921] 37 21 33 23 39 32 32 21 27 29 32 26 28 19 27 22 19 34 18 34 21 30 25 34
[10945] 18 36 19 36 32 20 34 27 19 20 26 39 29 21 28 30 25 27 37 36 23 30 22 38
[10969] 38 32 30 25 39 30 29 36 28 26 27 20 34 29 35 34 33 37 38 20 39 36 19 38
[10993] 39 35 23 24 34 38 31 30 19 29 34 37 39 40 36 23 33 35 18 33 20 28 31 35
[11017] 23 26 23 29 25 25 36 27 20 28 22 39 23 27 28 21 34 36 38 29 18 33 31 28
[11041] 24 29 33 36 25 34 21 37 40 37 28 18 39 31 18 27 23 30 37 30 20 36 33 33
[11065] 36 40 30 29 28 35 23 39 21 32 36 33 35 20 23 30 21 28 36 23 40 21 23 40
[11089] 38 28 33 37 37 37 19 27 21 39 23 33 21 24 33 18 23 39 30 38 39 23 30 18
[11113] 18 27 20 25 37 18 39 40 25 19 18 37 21 22 34 20 40 21 31 35 27 37 29 34
[11137] 18 24 26 30 35 28 32 38 20 38 30 35 36 29 21 39 35 26 22 28 28 36 30 36
[11161] 39 23 28 21 28 39 23 40 22 30 36 22 23 40 18 34 30 28 20 27 19 30 31 40
[11185] 22 30 20 34 33 36 19 26 34 21 30 24 36 38 31 21 35 19 32 30 33 27 39 32
[11209] 28 28 21 18 33 22 23 38 26 26 18 33 23 31 34 33 28 27 30 27 30 34 34 35
[11233] 29 32 30 39 20 21 24 38 40 31 37 28 22 40 30 27 28 33 32 31 24 35 39 39
[11257] 34 29 23 26 18 29 25 18 40 36 18 33 36 25 20 31 40 22 39 26 21 40 25 21
[11281] 27 40 32 35 34 34 29 25 25 21 38 19 26 20 18 18 38 30 31 37 18 37 21 26
[11305] 32 18 22 34 28 35 33 28 28 35 33 24 21 30 26 30 34 28 37 30 35 30 33 28
[11329] 19 38 28 26 39 20 18 32 39 29 33 23 21 19 34 19 20 24 30 29 31 26 20 28
[11353] 26 33 29 22 26 26 31 26 28 30 21 19 19 21 29 25 29 27 22 40 20 27 23 36
[11377] 18 24 26 18 21 21 39 24 37 28 33 40 36 24 25 23 24 38 31 32 22 25 21 29
[11401] 36 37 37 19 38 28 39 24 28 21 36 37 35 40 28 20 39 32 23 34 34 27 18 31
[11425] 20 33 33 22 22 28 18 32 23 38 23 29 19 37 30 22 38 38 39 39 35 32 20 25
[11449] 36 35 23 28 29 36 20 22 30 18 26 23 37 40 19 37 19 29 29 28 18 26 40 29
[11473] 40 40 23 31 30 22 24 19 20 26 35 32 36 39 32 23 38 34 38 23 20 21 27 20
[11497] 29 23 33 28 40 27 22 34 32 40 36 22 19 38 30 22 29 21 35 32 39 20 30 40
[11521] 21 23 36 35 37 35 30 31 34 21 32 19 37 22 29 40 19 37 40 32 18 30 35 25
[11545] 18 29 35 34 25 20 40 29 21 24 33 25 22 38 33 19 19 28 22 36 29 38 28 22
[11569] 30 27 36 23 23 40 28 37 32 32 28 31 18 26 40 35 33 26 21 22 38 39 40 30
[11593] 23 38 29 32 34 39 37 24 33 25 39 28 25 40 39 20 34 33 31 35 26 25 28 21
[11617] 27 18 19 19 34 23 24 26 36 18 20 25 26 25 32 30 21 37 30 23 25 22 32 38
[11641] 38 25 38 22 20 39 21 35 39 39 37 27 32 22 36 33 37 33 36 31 21 29 22 27
[11665] 24 37 35 36 24 18 39 28 27 18 32 38 36 33 28 30 37 21 28 35 27 34 27 38
[11689] 39 28 35 32 35 20 39 30 20 39 23 18 27 33 33 27 18 28 39 40 36 38 22 20
[11713] 38 28 24 37 22 35 31 24 27 25 38 35 38 20 20 27 20 29 24 21 29 20 20 23
[11737] 26 33 18 36 26 36 36 31 18 31 28 27 40 19 32 27 32 37 18 22 37 38 25 32
[11761] 25 20 31 33 33 40 28 26 22 34 28 24 23 40 29 22 40 36 38 25 30 36 33 24
[11785] 23 20 22 27 36 38 20 37 29 18 35 36 23 30 35 18 18 21 24 19 22 40 33 38
[11809] 32 26 24 38 34 19 31 23 39 40 31 32 23 25 40 29 22 36 23 39 27 33 34 19
[11833] 18 19 26 29 37 21 37 22 26 21 32 31 19 37 26 18 37 29 21 39 25 19 26 39
[11857] 34 18 28 37 28 31 39 37 40 21 37 36 37 19 39 24 36 21 23 29 35 35 25 33
[11881] 30 26 24 37 39 39 28 38 33 38 24 29 18 22 19 31 27 30 36 30 28 38 34 34
[11905] 19 25 29 33 33 28 37 22 30 28 40 31 20 30 22 26 18 23 22 34 18 39 19 20
[11929] 24 33 24 21 18 38 23 36 37 35 22 39 18 19 38 22 25 35 25 29 32 33 19 40
[11953] 23 39 19 40 25 31 26 18 34 33 32 27 23 23 32 29 26 38 26 30 24 22 35 28
[11977] 33 21 32 36 28 30 22 24 29 35 20 21 37 40 38 38 35 24 22 20 32 34 28 37
[12001] 33 40 23 21 24 30 19 24 32 18 19 27 39 28 38 30 18 29 31 29 29 31 35 32
[12025] 39 22 18 18 27 31 40 39 33 19 34 26 36 30 27 31 26 23 35 29 18 21 37 26
[12049] 35 19 18 32 26 31 21 25 22 18 27 37 21 35 27 38 31 39 40 19 25 18 22 39
[12073] 33 39 27 20 33 37 28 24 25 18 19 33 33 39 30 25 27 23 35 20 26 24 34 40
[12097] 36 38 39 18 24 20 40 24 19 28 37 20 30 18 38 38 25 22 30 18 31 19 28 22
[12121] 40 28 29 19 35 36 23 21 28 29 28 30 26 35 34 27 21 20 30 29 38 29 34 22
[12145] 35 33 24 24 19 29 24 21 34 25 37 40 31 34 32 34 27 21 34 24 22 18 25 26
[12169] 34 31 26 29 23 29 20 27 36 39 29 23 36 23 29 37 33 21 39 22 34 34 26 27
[12193] 39 39 21 19 27 23 27 39 37 21 37 21 30 20 31 23 28 24 35 25 22 24 34 28
[12217] 31 20 26 40 24 23 18 19 25 23 32 34 22 28 28 21 18 38 26 22 20 37 37 27
[12241] 24 35 26 21 19 21 34 25 32 22 40 19 21 32 26 40 31 37 24 31 33 30 26 33
[12265] 31 32 22 19 35 25 32 34 31 39 18 21 24 21 28 29 33 30 25 34 33 29 38 25
[12289] 23 26 30 35 30 40 38 34 33 40 37 32 32 33 38 26 25 40 30 22 31 25 38 33
[12313] 30 32 24 33 28 22 38 30 35 39 30 20 20 22 22 20 30 20 33 28 28 22 32 34
[12337] 40 26 26 31 28 26 40 39 26 31 33 37 31 22 33 20 31 34 21 32 26 19 30 38
[12361] 32 39 37 28 24 33 38 23 21 30 28 18 31 22 19 27 18 29 18 40 21 25 32 28
[12385] 24 36 39 40 20 22 33 35 28 19 37 32 36 38 33 30 27 38 23 31 18 32 30 40
[12409] 26 32 33 36 18 19 26 28 33 27 23 30 35 37 32 32 24 39 40 30 35 18 19 18
[12433] 19 23 39 26 35 40 35 30 40 22 27 36 33 25 35 35 25 24 18 37 37 23 27 28
[12457] 24 19 32 30 35 38 29 22 28 32 35 20 38 32 25 19 32 37 28 36 18 30 28 31
[12481] 24 30 27 20 25 19 19 23 26 23 31 19 33 35 19 27 34 32 39 33 34 19 38 36
[12505] 28 23 26 21 34 38 27 32 23 24 37 29 32 22 28 23 25 27 32 27 40 20 26 29
[12529] 34 22 23 38 23 40 26 19 33 24 39 36 37 33 28 32 34 35 30 32 24 23 33 31
[12553] 30 40 38 30 28 24 27 30 21 35 33 18 32 22 24 25 29 40 34 38 35 28 36 39
[12577] 40 19 32 27 36 33 33 35 39 31 25 25 27 40 40 38 26 24 18 38 27 25 18 20
[12601] 38 36 21 18 28 39 30 20 36 26 28 38 24 34 26 19 34 35 32 33 19 34 34 28
[12625] 22 33 34 27 24 31 18 24 40 40 39 28 36 18 22 26 33 24 18 35 40 31 29 30
[12649] 37 40 21 24 25 36 21 25 21 31 27 37 23 20 30 19 24 33 38 21 24 33 18 39
[12673] 24 35 37 26 40 23 22 27 38 35 31 27 18 33 21 35 23 37 36 21 37 18 29 33
[12697] 37 21 38 23 29 39 30 26 25 37 21 40 38 27 18 24 39 25 20 37 18 30 28 32
[12721] 23 21 40 35 33 20 18 36 37 30 40 40 30 25 23 21 34 19 36 18 22 21 21 40
[12745] 25 31 28 20 29 36 30 32 32 29 36 21 24 22 30 26 34 22 29 29 27 27 38 40
[12769] 27 25 22 20 33 38 28 36 36 20 29 27 21 30 20 39 19 31 40 23 27 37 21 25
[12793] 34 19 24 23 29 25 37 27 34 18 36 38 38 28 18 32 21 20 34 40 29 29 23 38
[12817] 33 27 37 29 18 26 38 21 21 35 33 23 32 36 40 26 19 25 18 19 38 39 20 25
[12841] 34 19 39 22 35 18 36 22 24 31 21 35 18 37 32 33 21 33 34 35 23 20 22 22
[12865] 20 28 32 18 32 25 33 40 40 30 18 18 19 20 37 24 28 29 29 24 35 30 40 23
[12889] 33 25 20 21 40 23 34 25 26 30 24 33 29 35 30 32 22 24 40 33 25 24 30 19
[12913] 40 24 27 27 36 23 21 30 30 20 35 28 37 32 34 32 20 21 27 24 22 22 21 32
[12937] 28 18 23 21 26 22 36 32 35 27 26 32 37 18 30 30 33 34 32 26 27 26 21 24
[12961] 27 20 22 34 37 25 34 23 21 38 21 36 27 18 27 40 19 36 27 40 33 21 26 28
[12985] 19 25 37 37 34 22 37 25 21 34 40 37 28 29 38 19 21 25 33 26 18 37 38 34
[13009] 27 36 30 35 34 38 28 20 37 35 33 31 33 29 27 34 28 18 18 31 32 21 20 40
[13033] 30 18 36 25 27 21 35 18 20 30 35 34 40 37 23 22 31 26 31 36 38 28 34 25
[13057] 38 34 33 36 32 18 21 30 33 34 22 21 40 23 20 28 36 26 35 36 19 32 33 40
[13081] 26 40 39 20 32 18 23 26 32 22 27 18 23 29 37 31 30 18 22 27 33 33 25 21
[13105] 20 23 33 32 18 30 27 31 27 39 30 37 24 32 27 28 39 40 37 26 38 31 40 40
[13129] 25 28 25 32 33 28 24 19 27 29 40 28 33 26 18 21 35 23 18 35 30 31 35 30
[13153] 33 31 39 31 32 28 29 40 35 22 25 21 34 29 25 27 18 23 34 24 39 38 33 33
[13177] 18 19 39 27 31 23 33 38 24 39 21 34 35 33 28 30 27 35 21 29 22 22 31 22
[13201] 31 22 32 34 39 34 28 25 28 33 36 33 38 31 19 25 26 36 22 20 26 34 37 29
[13225] 20 23 18 20 32 35 38 18 35 20 23 33 19 32 20 32 32 21 25 33 35 22 37 38
[13249] 20 27 23 29 27 30 38 35 21 20 18 27 21 27 25 35 34 27 24 32 32 35 18 20
[13273] 34 27 40 29 20 26 26 33 30 37 34 37 38 22 19 21 34 24 35 40 32 31 38 29
[13297] 38 22 21 33 25 36 29 38 24 30 21 38 23 27 40 28 24 30 40 32 20 38 21 19
[13321] 22 21 30 19 28 32 37 35 31 33 21 20 40 29 20 22 34 30 29 29 39 24 38 38
[13345] 23 26 25 20 23 21 33 24 22 37 24 28 27 37 21 22 21 30 34 24 18 30 18 30
[13369] 36 39 23 34 32 35 22 30 24 22 21 38 22 38 36 27 32 27 23 24 36 23 31 37
[13393] 20 31 35 35 27 24 27 39 22 26 22 27 26 26 33 35 22 30 27 36 29 26 29 18
[13417] 28 20 26 35 34 23 23 24 23 22 37 21 18 38 30 28 20 22 33 18 37 28 29 32
[13441] 39 24 19 30 36 26 21 31 24 26 20 24 24 26 40 32 19 24 27 30 20 24 27 19
[13465] 27 37 19 22 21 37 18 38 37 28 31 37 18 34 40 29 33 37 26 28 26 26 31 38
[13489] 31 23 36 35 23 39 31 23 38 32 26 38 21 30 38 28 24 38 32 38 40 40 30 20
[13513] 28 20 34 30 28 18 36 18 35 29 40 32 31 38 33 30 25 31 21 36 40 34 22 39
[13537] 24 18 21 20 22 33 18 36 36 40 25 34 39 25 31 24 29 32 39 38 36 25 25 40
[13561] 39 27 38 24 30 26 19 34 24 21 36 39 19 31 24 36 36 34 26 26 27 28 40 38
[13585] 18 25 40 40 26 37 19 19 35 22 30 24 33 28 24 18 35 33 30 25 37 39 23 38
[13609] 29 38 21 39 35 20 22 22 40 39 26 36 26 39 26 38 39 34 22 39 23 23 36 26
[13633] 39 21 39 19 34 25 39 36 40 38 40 27 31 28 37 33 34 18 21 27 29 31 21 33
[13657] 27 19 31 20 37 39 32 36 35 40 34 22 22 31 35 28 39 25 34 18 20 29 29 22
[13681] 30 27 38 32 30 18 21 21 27 30 26 38 24 24 32 27 23 22 27 27 19 20 20 39
[13705] 26 24 31 26 34 31 23 25 39 39 39 27 39 28 33 22 23 35 27 32 30 21 19 32
[13729] 38 24 39 27 25 33 36 40 39 25 25 26 26 22 38 33 21 20 38 19 34 23 37 40
[13753] 38 20 40 40 27 19 36 21 39 21 25 33 28 34 36 19 38 30 20 19 34 18 35 31
[13777] 26 27 23 25 38 28 31 21 32 34 28 26 25 35 31 21 22 40 21 36 36 29 21 39
[13801] 31 21 39 26 29 40 24 20 30 37 26 24 30 26 28 37 32 25 23 19 39 23 32 31
[13825] 26 35 37 32 30 32 38 40 25 38 27 38 30 22 26 23 22 26 22 28 19 26 29 40
[13849] 27 20 26 32 29 21 38 23 18 38 20 35 26 33 20 34 32 39 35 21 32 23 27 32
[13873] 19 29 27 40 20 35 24 23 18 39 25 40 30 23 37 36 27 23 36 22 26 32 37 28
[13897] 31 37 33 24 34 18 30 24 28 32 24 19 39 31 39 38 36 30 35 22 22 29 33 20
[13921] 38 31 37 32 24 27 30 26 32 35 31 35 40 32 26 26 30 23 31 19 18 19 39 33
[13945] 18 25 37 25 20 30 34 33 20 22 30 38 35 23 22 32 23 18 37 35 34 19 21 37
[13969] 32 22 24 35 26 32 18 29 38 24 23 27 28 38 40 23 27 18 18 20 36 31 20 37
[13993] 40 21 30 34 24 37 35 22 20 37 28 19 24 29 22 24 32 23 23 22 23 25 33 23
[14017] 40 28 23 37 34 21 20 18 39 20 30 34 34 23 30 36 30 34 40 32 36 20 38 36
[14041] 24 18 28 35 32 29 31 35 39 22 39 27 24 26 28 38 26 18 31 25 21 34 27 24
[14065] 30 33 39 39 33 25 36 18 32 30 37 32 20 30 25 22 22 40 32 38 33 27 23 28
[14089] 22 33 38 18 36 21 33 18 32 37 30 20 38 25 31 23 18 23 30 26 39 26 29 31
[14113] 36 28 19 22 40 36 39 39 20 26 29 32 20 39 40 22 26 40 26 25 21 39 36 35
[14137] 36 23 35 24 19 32 24 23 37 33 21 32 18 26 39 37 35 36 33 39 36 23 23 30
[14161] 30 37 29 34 26 25 20 23 19 21 28 22 26 28 24 26 36 25 30 40 34 20 23 28
[14185] 34 23 19 30 35 27 34 40 25 34 19 36 22 27 21 35 20 38 34 25 23 36 29 36
[14209] 20 31 21 36 40 39 25 36 36 32 34 33 20 29 35 36 35 39 33 32 40 39 34 26
[14233] 35 38 27 32 38 38 20 38 19 24 28 29 24 34 24 22 25 37 39 24 39 39 19 27
[14257] 21 39 25 28 25 34 18 20 20 22 37 39 37 33 30 29 28 27 40 27 18 25 29 38
[14281] 37 40 28 21 28 32 26 31 19 21 31 40 36 21 32 38 40 23 20 28 37 30 40 36
[14305] 27 34 39 24 29 28 27 18 29 21 21 21 28 37 32 37 32 37 32 23 28 20 40 21
[14329] 40 20 40 20 39 36 23 32 25 30 20 18 27 23 31 39 26 30 27 37 40 23 33 35
[14353] 27 21 22 28 35 34 37 29 39 32 36 29 39 34 36 24 29 36 23 36 33 32 31 36
[14377] 35 35 32 29 28 37 19 40 40 29 27 35 21 33 33 34 22 35 34 18 36 22 30 19
[14401] 34 27 34 40 35 36 30 27 30 24 35 21 23 34 32 21 32 39 26 29 36 33 29 27
[14425] 23 24 22 20 29 35 28 40 35 29 22 26 36 33 39 38 36 36 24 23 23 25 20 32
[14449] 32 30 21 21 38 29 24 28 37 25 27 38 20 32 18 33 26 23 30 29 26 37 24 20
[14473] 32 24 21 36 21 21 24 20 34 30 19 36 28 23 28 19 19 39 35 23 25 21 18 38
[14497] 27 39 22 23 28 21 35 23 36 27 40 29 27 26 25 37 28 21 36 33 22 21 34 38
[14521] 18 39 36 25 31 37 22 28 38 20 39 27 27 20 21 21 32 31 39 28 22 35 21 18
[14545] 39 22 35 32 37 32 30 34 22 30 33 26 39 40 31 20 18 27 32 22 21 33 37 26
[14569] 37 35 32 18 29 22 28 26 26 32 28 34 20 30 36 40 34 20 33 25 30 23 24 23
[14593] 33 38 27 38 34 32 18 18 22 30 22 34 19 35 24 28 19 30 22 24 35 32 25 20
[14617] 26 21 26 37 31 37 36 34 29 37 22 36 18 31 33 21 20 27 28 40 22 29 21 18
[14641] 38 23 22 34 38 26 36 38 22 18 25 21 23 23 24 27 24 40 23 26 31 18 32 21
[14665] 29 19 34 29 27 28 39 20 25 20 36 40 28 32 27 36 24 32 29 35 40 20 37 22
[14689] 40 30 20 32 34 36 28 19 36 19 38 28 25 31 18 31 38 27 39 29 23 27 32 28
[14713] 22 22 28 22 25 35 40 22 36 26 28 20 38 26 24 25 19 24 40 27 30 40 33 31
[14737] 39 37 26 33 23 28 33 20 25 39 24 33 24 21 22 18 19 39 36 25 30 25 36 32
[14761] 22 36 32 37 22 40 31 22 31 29 31 31 37 33 36 35 27 28 27 36 25 24 19 36
[14785] 40 28 34 25 19 31 22 21 26 18 20 29 31 39 30 30 34 27 29 26 39 19 26 29
[14809] 32 38 31 31 26 28 18 30 38 38 20 30 37 27 22 26 36 28 33 27 39 20 29 36
[14833] 36 30 34 28 39 29 29 20 32 20 27 37 31 25 25 25 25 34 18 22 18 23 34 34
[14857] 26 40 38 24 33 22 19 30 31 23 31 18 24 23 20 21 36 18 18 32 29 31 27 28
[14881] 33 21 25 18 30 36 39 30 39 37 28 25 40 28 37 28 37 21 27 37 22 27 37 23
[14905] 37 21 28 20 21 31 36 24 22 26 33 38 31 28 26 31 38 25 29 19 29 28 28 20
[14929] 19 29 25 34 21 27 20 26 28 30 18 18 37 25 18 40 39 32 33 18 34 33 35 40
[14953] 23 21 18 32 19 21 38 19 23 30 28 27 19 21 18 28 37 19 20 40 32 27 23 37
[14977] 26 22 26 27 33 39 26 32 37 19 22 26 33 23 21 36 39 40 24 31 28 35 30 34
[15001] 29 22 33 31 29 34 27 40 30 30 30 23 24 36 19 38 37 26 37 20 38 36 29 36
[15025] 20 21 29 21 22 20 31 18 35 28 19 28 26 32 33 35 29 23 26 31 22 21 33 37
[15049] 25 25 25 28 29 38 39 25 18 30 34 20 23 25 31 21 24 39 25 32 19 33 33 26
[15073] 24 36 36 37 37 35 28 36 26 30 39 35 36 22 32 29 18 25 37 40 39 37 35 20
[15097] 28 29 23 39 28 38 34 19 40 39 37 40 29 37 40 34 32 28 37 23 24 35 31 24
[15121] 28 32 26 39 23 21 28 19 29 25 22 25 39 33 21 35 31 35 38 36 36 18 33 28
[15145] 27 22 25 38 28 19 18 32 23 26 18 24 29 19 27 37 18 34 31 23 21 24 29 30
[15169] 33 19 27 27 26 31 40 36 19 24 21 20 33 31 28 19 21 36 38 27 26 29 36 38
[15193] 23 18 38 32 26 37 29 19 20 28 30 27 28 28 33 22 32 21 19 37 18 29 21 38
[15217] 40 37 25 20 36 27 28 30 22 24 24 28 22 30 25 31 20 26 25 26 35 19 23 37
[15241] 27 35 38 21 23 38 25 32 19 31 28 37 36 30 29 19 24 26 31 21 22 21 26 26
[15265] 26 26 32 40 26 33 20 27 39 28 39 29 36 31 31 37 36 29 20 19 21 33 22 23
[15289] 23 23 25 32 21 28 37 20 18 35 34 36 22 34 36 25 29 29 22 35 31 31 39 40
[15313] 25 31 37 35 24 39 35 20 19 35 32 25 22 39 38 29 24 29 32 19 25 31 37 20
[15337] 23 26 32 34 18 36 26 30 29 34 21 20 24 30 25 33 18 22 30 23 34 36 37 28
[15361] 28 25 34 19 40 21 29 38 29 36 32 32 19 35 22 31 28 39 34 40 38 18 27 35
[15385] 23 38 37 26 24 19 20 40 18 29 25 20 32 24 40 37 25 30 21 28 36 36 25 24
[15409] 37 30 38 27 33 22 19 29 29 35 27 24 28 28 19 19 24 40 18 19 23 19 33 18
[15433] 37 40 29 29 39 36 34 31 32 35 23 20 18 36 20 26 27 22 32 22 25 40 37 29
[15457] 38 35 35 36 28 25 28 40 38 30 31 28 27 34 30 27 18 24 37 37 35 21 28 38
[15481] 32 32 28 23 26 30 21 34 37 38 40 32 39 26 38 34 34 19 20 34 36 30 20 32
[15505] 39 20 36 24 39 39 40 25 18 24 19 21 21 38 18 22 19 40 34 29 25 34 33 22
[15529] 19 23 26 33 36 34 26 32 20 23 39 23 22 23 25 22 32 18 23 32 32 33 40 29
[15553] 29 39 24 38 34 33 25 30 18 20 29 18 40 26 36 24 39 31 22 24 31 31 30 39
[15577] 19 34 39 19 18 40 27 25 38 26 35 24 27 24 38 18 36 37 18 18 37 24 25 30
[15601] 18 25 39 32 25 39 18 24 20 36 18 20 26 37 21 18 21 22 23 24 28 22 24 22
[15625] 24 25 30 40 24 27 33 31 29 23 33 35 28 38 22 28 35 36 19 20 32 26 27 23
[15649] 21 37 28 38 27 21 30 28 29 20 24 25 29 36 35 23 23 18 35 21 28 29 24 18
[15673] 34 18 36 33 25 33 37 29 37 24 20 21 36 22 37 26 38 40 38 27 26 35 30 25
[15697] 33 31 35 23 34 21 35 33 19 40 40 32 25 37 31 24 39 36 38 34 22 34 35 31
[15721] 18 37 19 33 26 35 36 19 21 21 27 21 22 20 31 32 31 40 19 29 27 37 22 38
[15745] 32 38 25 22 39 23 18 25 26 35 39 35 18 28 30 37 20 28 36 29 33 26 25 32
[15769] 26 26 38 23 29 23 20 26 36 40 20 28 26 30 28 36 18 24 34 31 22 18 39 32
[15793] 33 34 36 30 31 28 29 35 32 20 22 24 37 38 34 40 27 18 32 37 27 31 39 21
[15817] 35 35 35 38 40 33 27 20 29 24 39 38 30 36 32 19 37 26 23 34 40 25 19 34
[15841] 22 24 25 19 35 24 25 38 21 23 34 35 27 26 37 19 18 34 27 38 32 39 21 39
[15865] 24 29 20 29 32 28 40 20 40 23 38 18 27 24 31 35 33 22 18 19 22 27 18 31
[15889] 39 25 31 21 25 24 32 39 33 39 18 31 26 30 30 27 19 35 18 23 28 39 18 20
[15913] 25 30 36 34 18 34 27 36 26 23 18 30 27 22 30 35 18 33 30 32 25 31 30 21
[15937] 39 36 23 31 22 34 38 26 36 19 18 39 24 30 24 23 34 38 29 36 32 38 40 23
[15961] 35 37 34 26 18 39 38 32 30 38 20 21 40 34 37 21 36 32 22 27 31 30 18 33
[15985] 30 30 35 28 33 37 34 33 27 32 22 36 25 27 38 20 35 36 22 28 37 38 37 22
[16009] 37 18 23 40 40 32 33 40 20 29 31 37 37 33 24 35 27 23 21 23 40 31 22 25
[16033] 19 30 36 18 20 18 20 18 19 25 26 32 26 26 40 28 29 37 18 29 33 25 18 21
[16057] 25 18 37 37 20 39 36 32 32 34 18 37 20 36 32 26 23 19 26 30 18 39 35 19
[16081] 33 25 32 39 33 31 31 23 20 39 25 30 30 32 28 23 30 36 21 35 39 31 34 30
[16105] 30 23 18 29 34 26 29 34 32 38 24 28 18 28 32 23 21 24 27 18 38 31 18 20
[16129] 39 19 33 29 34 23 22 23 25 24 30 40 33 33 33 25 21 19 27 28 22 38 28 23
[16153] 38 40 21 36 20 40 27 28 39 39 26 36 35 36 19 21 21 36 39 34 37 26 35 20
[16177] 26 23 38 36 40 28 33 26 21 34 40 23 25 19 29 39 29 34 31 26 38 40 32 27
[16201] 28 40 29 22 39 31 32 26 38 21 20 39 22 18 36 37 18 34 39 28 25 31 22 20
[16225] 40 39 20 37 39 36 40 26 34 30 21 18 20 35 39 25 22 33 26 36 22 34 20 30
[16249] 22 21 38 20 27 27 33 33 30 38 37 36 36 39 36 39 26 26 33 32 36 37 25 28
[16273] 35 32 22 29 33 19 35 37 29 34 32 24 27 26 39 25 35 24 18 26 25 28 19 33
[16297] 38 21 18 39 38 24 23 33 20 23 35 32 37 21 18 24 31 32 24 40 23 23 29 33
[16321] 19 36 25 18 39 32 28 23 24 27 28 30 39 39 38 36 26 25 40 25 36 26 35 38
[16345] 19 32 36 24 39 39 19 31 23 31 23 33 35 32 32 28 20 20 34 40 31 33 18 30
[16369] 20 28 37 22 21 30 30 24 27 28 39 38 38 35 23 25 20 28 24 34 21 29 36 21
[16393] 36 20 32 35 22 20 29 24 39 32 29 25 26 36 35 24 26 27 26 30 21 24 33 24
[16417] 18 33 36 40 35 27 23 30 36 39 20 19 31 32 25 21 20 21 39 32 21 30 21 19
[16441] 22 33 31 21 28 39 35 27 20 29 31 39 23 24 39 29 35 31 28 18 28 37 27 38
[16465] 30 31 35 28 30 39 22 26 40 36 20 32 30 20 26 31 39 26 18 29 31 22 29 22
[16489] 32 36 21 22 28 22 22 35 29 32 29 22 29 28 29 28 25 37 33 23 20 38 21 24
[16513] 29 21 19 27 27 35 29 38 25 18 19 28 37 38 38 20 31 40 18 22 37 27 23 32
[16537] 27 38 19 37 40 28 37 34 37 40 36 21 28 19 21 30 34 33 27 35 31 32 25 20
[16561] 18 37 32 26 40 19 35 33 29 31 35 23 37 20 37 22 19 35 28 31 37 28 33 36
[16585] 28 31 34 36 28 40 30 25 20 35 37 21 33 22 33 33 28 33 22 38 23 39 21 35
[16609] 26 34 36 25 37 34 26 33 27 23 34 29 34 37 29 33 20 30 35 24 20 36 19 39
[16633] 27 27 31 39 28 28 19 39 23 26 33 35 38 29 35 19 32 37 26 25 20 27 34 25
[16657] 21 37 18 24 37 30 23 26 28 32 19 20 35 34 34 26 27 22 30 29 30 39 18 23
[16681] 23 36 31 20 37 31 38 28 35 32 23 32 23 31 24 23 30 31 30 20 25 22 32 26
[16705] 35 39 23 25 18 33 21 19 22 38 40 21 36 25 22 24 35 30 23 38 20 27 19 25
[16729] 34 35 23 20 21 40 33 40 37 37 27 23 33 33 29 22 33 39 25 22 37 33 28 28
[16753] 28 32 23 37 23 40 27 25 36 36 23 32 36 37 34 18 19 25 23 25 22 40 36 25
[16777] 38 27 36 32 31 23 40 22 40 34 24 29 40 23 38 40 23 23 38 38 20 27 40 36
[16801] 26 22 24 39 36 39 19 36 35 29 21 40 39 30 38 35 36 31 30 29 29 20 30 22
[16825] 20 40 26 28 33 29 40 36 30 34 40 20 27 32 38 19 37 25 22 39 30 40 38 32
[16849] 28 31 20 25 32 24 25 35 38 21 40 39 32 40 39 20 38 40 18 21 26 27 19 36
[16873] 40 32 28 20 23 36 37 25 30 22 25 21 39 40 39 38 29 26 29 26 28 38 24 33
[16897] 40 37 23 29 22 20 33 39 29 31 25 25 31 29 23 38 39 30 18 37 38 38 35 39
[16921] 25 40 18 35 26 37 22 28 35 31 19 29 23 25 36 18 38 30 20 38 26 27 31 26
[16945] 19 35 33 30 37 34 19 19 38 35 24 21 35 35 31 29 39 29 18 31 36 37 26 19
[16969] 24 33 19 22 32 19 22 31 32 24 39 31 32 21 34 21 18 22 39 38 18 19 25 34
[16993] 37 24 31 20 34 34 39 27 25 24 35 22 23 24 39 37 23 40 23 38 37 31 22 18
[17017] 26 21 21 35 19 27 20 34 21 28 20 30 34 31 31 37 34 33 29 20 39 30 26 24
[17041] 29 30 28 31 35 34 40 32 24 20 28 22 21 29 33 20 30 24 31 34 26 38 25 32
[17065] 27 34 28 39 27 18 20 34 33 26 26 31 40 38 30 34 35 38 32 31 37 38 36 30
[17089] 35 25 18 18 20 19 36 22 18 21 20 26 31 20 40 21 30 26 33 20 25 19 19 31
[17113] 24 28 18 20 25 21 39 26 25 22 40 19 33 23 36 37 24 24 21 38 29 38 25 40
[17137] 23 27 20 19 21 22 31 32 31 27 35 36 36 34 18 36 22 36 24 29 20 19 30 23
[17161] 26 39 37 34 30 23 37 26 20 38 20 27 35 40 36 32 38 31 39 37 27 37 19 24
[17185] 31 38 19 35 33 30 24 26 39 29 22 31 31 21 34 32 25 27 23 39 34 37 25 18
[17209] 33 28 24 33 31 26 28 24 19 24 37 37 20 37 18 36 25 21 31 18 22 33 28 39
[17233] 29 29 34 18 35 23 35 22 35 33 36 32 28 21 38 32 19 20 24 40 18 26 39 32
[17257] 28 36 37 20 33 26 27 30 37 38 26 34 22 28 18 30 28 30 27 39 35 29 21 31
[17281] 28 26 24 38 18 21 32 36 37 36 33 33 20 22 38 24 38 22 20 22 27 31 37 20
[17305] 29 37 34 23 35 19 22 22 31 27 40 32 21 30 22 38 26 32 33 26 30 35 24 39
[17329] 40 23 24 20 18 33 35 35 37 24 22 25 25 32 18 21 20 25 28 39 24 30 37 27
[17353] 31 20 32 36 18 32 28 29 29 30 20 31 25 21 36 37 19 32 25 34 28 20 38 36
[17377] 21 21 22 20 35 23 23 34 40 36 33 22 18 25 34 25 32 21 38 36 35 34 19 31
[17401] 40 38 20 36 30 32 33 36 24 38 39 18 39 29 33 38 34 37 40 28 25 26 37 18
[17425] 29 38 29 39 33 29 29 34 31 30 32 27 37 18 37 19 35 34 31 31 20 22 36 20
[17449] 29 33 36 36 32 32 25 37 23 38 28 25 22 25 30 19 34 23 38 31 20 19 40 35
[17473] 19 40 38 18 39 29 26 21 26 21 40 30 28 33 20 29 37 35 20 18 34 19 25 37
[17497] 31 18 27 20 36 32 33 36 22 34 35 24 18 23 35 38 28 37 25 32 36 23 31 21
[17521] 38 19 35 38 36 27 19 21 34 23 35 26 19 22 19 40 28 30 40 26 31 35 28 31
[17545] 26 36 32 35 23 40 25 27 30 30 24 38 31 32 39 28 38 26 37 25 36 29 26 37
[17569] 31 28 36 35 35 20 34 35 28 27 34 25 22 34 33 34 20 39 34 26 28 20 38 21
[17593] 28 33 24 38 32 30 29 19 30 29 20 36 27 39 38 34 36 21 26 40 37 26 34 24
[17617] 23 36 22 34 34 20 23 36 21 25 33 32 24 29 31 32 38 24 32 35 36 33 20 36
[17641] 22 19 21 35 29 21 22 23 30 32 19 21 40 37 24 23 40 25 40 20 22 36 28 34
[17665] 20 29 36 24 37 26 34 29 19 37 40 33 30 35 31 19 21 22 29 29 22 34 25 35
[17689] 29 32 29 34 40 32 24 24 20 24 34 30 39 24 29 19 37 33 19 37 28 32 29 32
[17713] 31 34 23 29 24 26 30 33 29 33 36 28 39 33 23 26 18 18 19 38 28 40 31 18
[17737] 34 25 29 25 24 39 28 23 36 37 35 39 19 37 38 40 39 40 18 19 32 34 36 33
[17761] 20 35 26 34 29 37 28 39 21 39 36 38 20 31 38 38 29 24 25 39 40 21 23 28
[17785] 32 26 30 23 24 30 33 33 27 20 37 38 28 19 38 27 28 18 19 27 19 18 24 38
[17809] 29 30 19 25 19 26 40 31 26 22 38 37 25 36 21 20 38 22 25 19 31 25 36 25
[17833] 29 36 21 24 40 31 18 20 37 40 19 21 26 34 40 18 24 30 19 25 29 20 40 19
[17857] 22 24 29 38 39 25 30 19 20 39 40 38 18 40 27 34 40 19 21 20 27 28 21 39
[17881] 28 24 27 31 31 21 30 34 30 34 23 32 27 38 40 28 28 27 23 23 21 37 33 26
[17905] 27 28 35 21 28 22 27 25 24 32 39 36 32 24 40 25 27 32 23 36 29 24 34 40
[17929] 22 25 19 29 23 20 38 35 40 31 18 30 19 32 21 20 34 36 34 33 32 20 39 20
[17953] 20 26 20 19 31 34 24 27 21 39 28 35 34 21 26 39 26 18 35 29 18 24 39 23
[17977] 31 28 20 40 28 36 28 35 27 24 34 23 35 18 35 21 32 23 39 24 21 34 37 32
[18001] 28 38 27 37 19 20 33 28 29 26 31 18 22 38 37 38 19 25 27 33 37 28 28 36
[18025] 21 22 25 32 27 34 19 31 22 28 18 28 22 22 20 37 26 20 18 27 20 24 24 37
[18049] 38 23 19 25 23 37 28 33 23 21 36 32 40 22 20 27 20 32 23 40 27 40 27 30
[18073] 28 34 18 21 30 30 19 36 35 34 18 37 28 31 29 33 20 23 24 26 37 31 31 26
[18097] 19 19 25 27 37 25 38 20 37 32 18 31 19 18 33 31 19 30 20 26 38 28 23 27
[18121] 37 32 19 18 34 39 33 40 28 35 22 25 21 24 22 25 18 37 38 31 29 36 28 18
[18145] 25 37 31 25 25 35 38 35 35 36 33 20 20 30 22 27 21 35 29 36 26 33 28 38
[18169] 23 27 32 25 31 31 22 29 37 24 33 33 27 38 29 29 28 28 33 35 32 24 33 33
[18193] 27 29 37 33 35 22 29 34 31 25 27 22 38 25 22 36 18 22 35 31 38 25 31 32
[18217] 28 23 18 37 28 28 39 18 21 28 23 19 27 34 38 25 27 22 29 40 34 38 35 20
[18241] 25 40 28 32 20 18 38 18 35 25 18 22 27 31 31 32 22 21 24 31 31 29 24 21
[18265] 33 28 32 36 35 19 34 34 36 30 30 34 20 40 21 35 30 37 27 30 34 32 18 18
[18289] 37 38 30 29 30 40 22 22 30 30 25 30 27 23 22 35 21 31 27 25 39 19 21 35
[18313] 20 24 26 22 28 20 20 26 18 28 28 18 40 31 18 30 33 33 28 34 22 40 34 32
[18337] 39 21 30 31 39 37 33 28 19 22 27 20 37 34 31 37 28 36 34 36 30 38 27 30
[18361] 24 31 36 21 18 19 25 24 34 37 38 32 19 30 37 34 26 21 40 30 29 35 36 30
[18385] 24 27 38 21 40 24 31 40 20 36 30 25 20 25 20 38 23 35 35 25 23 32 34 40
[18409] 35 20 34 34 22 32 39 18 22 29 18 40 24 24 27 37 31 33 19 32 34 26 24 26
[18433] 38 36 37 23 19 22 36 31 35 34 31 37 27 39 30 38 25 29 38 22 25 35 18 27
[18457] 20 20 37 28 23 36 32 33 27 18 26 38 26 25 38 19 30 23 34 26 28 22 18 31
[18481] 18 39 21 32 37 27 29 30 21 30 19 20 28 18 23 29 34 34 21 36 20 29 32 24
[18505] 31 37 40 40 28 39 34 40 23 34 39 24 30 39 24 38 32 33 27 35 33 40 22 19
[18529] 33 18 31 33 25 33 26 40 25 19 35 37 32 35 30 22 34 23 40 29 31 28 38 33
[18553] 39 29 33 33 39 20 26 31 40 38 22 22 28 27 39 26 25 23 40 24 27 37 23 28
[18577] 30 19 23 27 30 18 40 38 19 21 30 22 25 37 26 29 34 27 26 20 40 37 35 18
[18601] 36 28 27 34 21 30 33 26 31 21 23 31 20 33 20 39 26 35 19 26 22 40 31 27
[18625] 24 26 29 32 37 27 35 32 23 33 33 18 29 19 30 40 32 25 19 18 31 27 38 18
[18649] 30 29 35 31 24 31 18 21 30 35 32 22 29 25 29 27 38 19 33 29 30 23 32 22
[18673] 27 21 37 37 40 40 33 28 29 19 22 23 22 19 22 19 23 36 34 32 30 21 27 20
[18697] 40 33 31 31 26 33 36 20 34 38 39 24 32 28 35 23 26 20 24 37 30 29 24 32
[18721] 22 29 23 25 35 25 39 26 33 39 36 21 29 27 35 24 22 26 30 30 28 23 33 39
[18745] 20 35 18 28 39 22 22 20 27 20 32 32 26 38 36 25 32 27 21 23 31 28 40 24
[18769] 24 31 34 21 38 24 30 33 39 32 22 37 32 23 39 36 27 31 40 29 35 37 32 39
[18793] 32 21 24 27 26 31 25 27 38 28 22 40 34 28 25 23 25 37 20 39 33 33 22 23
[18817] 24 32 37 38 38 30 18 23 35 18 35 37 20 36 30 19 25 24 36 19 39 30 39 39
[18841] 38 27 19 24 21 18 29 22 19 34 21 19 19 31 20 36 26 19 28 37 21 36 37 38
[18865] 37 32 40 36 27 27 33 34 22 40 34 19 39 34 30 21 34 21 20 34 31 35 24 38
[18889] 29 32 38 24 20 35 36 29 27 25 36 28 23 35 30 32 19 22 30 18 27 21 30 30
[18913] 30 29 22 28 34 33 37 36 36 32 19 38 35 27 20 35 38 39 26 29 20 36 30 26
[18937] 40 38 38 29 40 35 23 24 34 33 36 18 25 25 30 20 35 36 31 22 20 22 27 21
[18961] 39 22 24 29 31 18 29 21 34 31 32 29 38 35 24 40 31 34 30 29 27 25 40 22
[18985] 33 30 26 37 20 36 21 20 40 19 21 38 20 38 27 24 40 19 18 38 23 25 35 27
[19009] 20 33 23 39 34 21 20 39 33 24 39 30 37 22 25 38 36 37 18 35 38 35 26 31
[19033] 39 23 31 30 18 26 19 32 20 22 29 38 36 37 29 25 28 36 29 22 18 32 28 31
[19057] 37 27 40 37 28 30 21 20 23 39 33 31 40 35 33 38 34 23 18 38 38 40 29 32
[19081] 29 37 36 32 24 19 21 34 34 32 28 28 37 29 20 20 29 36 40 21 25 21 37 18
[19105] 31 27 33 19 28 18 18 20 25 33 37 20 23 18 18 20 23 32 18 25 25 20 24 40
[19129] 25 27 36 33 30 33 38 30 23 19 33 29 40 38 22 22 30 28 35 37 39 18 30 38
[19153] 37 36 33 38 32 19 31 30 18 38 30 40 36 34 39 40 36 33 35 20 40 23 20 23
[19177] 32 32 39 38 36 33 18 38 34 33 26 18 31 23 37 25 20 19 21 23 37 26 22 33
[19201] 20 39 33 39 18 21 40 19 34 38 18 34 35 18 23 20 40 37 24 24 31 26 18 36
[19225] 29 39 37 36 34 38 37 30 23 22 24 35 18 26 39 22 35 30 22 23 28 35 18 23
[19249] 35 26 18 37 35 26 19 23 28 37 39 33 18 34 21 26 33 32 28 34 23 37 34 35
[19273] 18 32 26 30 23 40 34 36 22 26 31 27 31 33 20 33 22 33 27 39 38 29 36 21
[19297] 22 37 21 26 36 39 31 28 36 40 34 37 24 32 22 29 30 39 26 27 28 19 37 26
[19321] 37 32 21 21 26 39 22 27 31 18 27 19 27 22 37 34 40 22 38 38 30 32 25 35
[19345] 28 30 29 25 36 36 40 20 19 18 19 22 36 22 38 38 34 28 22 39 27 34 40 32
[19369] 24 31 22 37 22 36 33 19 38 34 27 39 36 40 35 38 20 28 38 24 18 39 24 33
[19393] 31 29 27 26 39 21 37 34 22 40 34 21 32 23 29 39 23 34 40 37 25 22 23 32
[19417] 27 35 39 38 34 25 33 39 35 21 18 37 40 20 32 39 22 38 33 39 31 39 28 22
[19441] 24 39 31 28 33 30 22 26 39 32 35 29 37 34 24 28 37 26 40 18 36 35 35 31
[19465] 33 24 37 28 38 34 18 33 25 31 38 24 22 37 19 19 26 23 37 26 28 29 35 34
[19489] 18 20 24 32 21 20 36 34 35 34 19 36 19 20 32 20 29 23 26 32 37 19 33 20
[19513] 33 32 25 18 25 36 32 32 19 30 29 40 32 19 24 28 32 31 28 26 29 38 32 21
[19537] 35 26 32 35 33 20 32 34 29 31 35 31 34 29 24 31 36 40 20 31 38 28 39 18
[19561] 29 29 29 18 19 30 36 18 29 36 33 34 32 20 34 36 40 39 27 31 36 30 28 37
[19585] 36 19 40 34 24 30 21 38 23 27 25 32 26 23 24 32 33 19 30 36 40 29 21 27
[19609] 29 37 24 36 30 28 21 26 28 19 26 39 30 18 21 32 18 37 25 34 21 34 19 31
[19633] 35 29 29 37 22 39 29 25 33 27 30 33 19 28 30 26 19 27 31 28 22 20 28 27
[19657] 33 34 35 30 18 37 27 25 33 27 32 25 27 35 26 20 22 19 39 21 28 23 35 40
[19681] 33 18 25 23 29 31 25 22 32 37 18 32 19 38 36 20 24 26 30 29 26 32 25 23
[19705] 36 18 21 37 24 22 27 29 26 40 30 29 39 28 33 38 32 36 30 37 28 21 35 35
[19729] 25 40 20 27 20 30 31 33 33 19 19 37 22 27 22 36 29 40 32 21 28 35 25 24
[19753] 33 35 31 21 35 22 37 40 37 18 32 26 23 40 21 19 34 20 19 40 34 21 24 36
[19777] 28 40 19 27 19 31 39 30 28 25 22 37 22 33 38 30 35 35 21 20 25 32 24 20
[19801] 21 22 20 32 23 25 36 35 28 37 36 27 18 33 32 37 28 38 36 37 32 18 19 33
[19825] 23 26 24 35 37 37 34 31 40 20 40 25 24 19 40 19 32 40 27 34 30 23 34 25
[19849] 20 33 19 18 32 30 35 25 21 21 32 37 26 22 26 30 25 27 19 19 31 19 21 31
[19873] 28 39 36 38 33 35 38 26 19 20 27 30 26 27 31 30 26 26 40 26 34 19 37 35
[19897] 36 28 34 30 39 31 25 40 20 38 29 23 38 33 21 39 27 23 18 39 27 22 19 29
[19921] 19 26 27 29 18 25 27 35 21 19 27 18 30 37 27 37 24 35 28 38 24 19 23 35
[19945] 31 27 27 39 27 39 32 25 20 32 28 27 29 37 28 31 39 22 26 22 29 30 34 31
[19969] 20 27 23 35 24 29 21 27 40 31 20 34 33 32 31 31 32 30 38 26 25 29 35 26
[19993] 36 26 27 26 21 31 33 21

$data.name
[1] "dades[, variable]"

$bad.obs
[1] 0

$all.stats
  i  Mean.i     SD.i Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 29.0338 6.622458    18      73 1.666119   4.706884   FALSE

attr(,"class")
[1] "gofOutlier"
# Mostramos también el detalle de los estadísticos calculados.
test$all.stats

6 2. Detección multivariante

En la detección multivariante ya no analizamos cada variable por separado, sino la posición conjunta de cada observación en un espacio de varias dimensiones. Una observación puede no ser extrema en ninguna variable individual y aun así ser anómala en combinación con las demás. fileciteturn2file9

6.1 Cambio de conjunto de datos

El script original pasa a trabajar con el dataset forestfires de UCI y selecciona tres variables numéricas: DC, temp y RH. Esto permite ilustrar de forma clara métodos geométricos y basados en densidad. fileciteturn2file11

# 2. Detecció Multivariant =====================================================

library(scatterplot3d)
library(readr)

# Cargamos un dataset multivariante externo.
dades <- readr::read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/forest-fires/forestfires.csv")

# Seleccionamos únicamente tres variables numéricas para poder representar los
# datos en 3 dimensiones.
dades <- data.frame(dades[, c("DC", "temp", "RH")])

# Inspección rápida.
head(dades)
summary(dades)
       DC             temp             RH        
 Min.   :  7.9   Min.   : 2.20   Min.   : 15.00  
 1st Qu.:437.7   1st Qu.:15.50   1st Qu.: 33.00  
 Median :664.2   Median :19.30   Median : 42.00  
 Mean   :547.9   Mean   :18.89   Mean   : 44.29  
 3rd Qu.:713.9   3rd Qu.:22.80   3rd Qu.: 53.00  
 Max.   :860.6   Max.   :33.30   Max.   :100.00  

6.2 Visualización 3D inicial

Antes de aplicar algoritmos, conviene visualizar la nube de puntos. Esto ayuda a intuir posibles regiones de baja densidad o puntos alejados. fileciteturn2file11

# Representación 3D estática con scatterplot3d.
scatterplot3d(dades[, "DC"], dades[, "temp"], dades[, "RH"],
              main = "Visualización 3D inicial")

# ..............................................................................
# library
library(rgl)

# Visualización 3D interactiva con rgl.
plot3d(
  x = dades[, "DC"],
  y = dades[, "temp"],
  z = dades[, "RH"],
  col = "black",
  type = "p",
  radius = .1
)
# ..............................................................................
library(plotly)

# Visualización interactiva con plotly.
fig <- plotly::plot_ly(dades, x = ~DC, y = ~temp, z = ~RH, size = 1) %>%
  add_markers()
fig

6.3 2.1 Caso general con métodos multivariantes

El script muestra dos herramientas útiles: aq.plot() del paquete mvoutlier y mvn() del paquete MVN. Ambas permiten estudiar observaciones anómalas desde un enfoque conjunto. fileciteturn2file8

# 2.1 Cas general -------------------------------------------------------------

library(mvoutlier)

# Convertimos los datos en matriz numérica.
dades2 <- dades
Y <- as.matrix(dades2)

# aq.plot genera una representación para estudiar observaciones anómalas.
res <- aq.plot(Y)

# Dejamos la configuración gráfica en un único panel.
par(mfrow = c(1, 1))

library(MVN)

# mvn permite detectar outliers multivariantes.
# multivariateOutlierMethod = "adj" aplica una metodología robusta.
mvnoutliers <- mvn(
  dades,
  multivariateOutlierMethod = "adj",
  showOutliers = TRUE,
  showNewData = TRUE
)

# Observamos el resumen de cuáles han sido detectados como outliers.
mvnoutliers$multivariateOutliers

# También podemos ver el dataset anotado con esta información.
mvnoutliers$newData

6.4 2.2 Distancia de Mahalanobis

La distancia de Mahalanobis mide cuánto se aleja un punto del centro de la nube de datos teniendo en cuenta la estructura de covarianzas. Es una herramienta fundamental en detección multivariante. fileciteturn2file8turn2file13

# 2.1 ACP ---------------------------------------------------------------------
# Métodes basats en correlacions ens permeten detectar outliers
# 2.2 Distancia de Mahalanobis ------------------------------------------------
# Medeix la distancia de un punt respecte a la mitjana considerant la covariança

# Calculamos la distancia de Mahalanobis de cada observación.
distancia_mahalanobis <- mahalanobis(dades, colMeans(dades), cov(dades))

# Densidad de las distancias para observar su distribución.
plot(density(distancia_mahalanobis), main = "Densidad de las distancias de Mahalanobis")

# Fijamos un punto de corte teórico usando el cuantil 99% de una chi-cuadrado
# con grados de libertad iguales al número de variables.
cutoff <- qchisq(p = 0.99, df = ncol(dades))
cutoff
[1] 11.34487
# Mostramos las observaciones cuya distancia supera dicho punto de corte.
dades[distancia_mahalanobis > cutoff, ]
# Ordenamos las observaciones según su distancia de Mahalanobis, de mayor a menor.
dades <- dades[order(distancia_mahalanobis, decreasing = TRUE), ]

# Histograma para estudiar visualmente posibles umbrales de corte.
par(mfrow = c(1, 1))
hist(distancia_mahalanobis, main = "Histograma de distancias de Mahalanobis", xlab = "Distancia")

# En el script original se fija manualmente un umbral = 8.
# Esto es un criterio práctico, no necesariamente el más riguroso.
umbral <- 8

# Creamos una variable lógica indicando si una observación es outlier.
dades[, "outlier"] <- (distancia_mahalanobis > umbral)

# Asignamos un color según sea o no outlier.
dades[, "color"] <- ifelse(dades[, "outlier"], "red", "black")

# Visualización 3D estática coloreando los puntos detectados como outliers.
scatterplot3d(dades[, "DC"], dades[, "temp"], dades[, "RH"], color = dades[, "color"])

# Visualización 3D interactiva con plotly, usando color para diferenciar outliers.
fig <- plotly::plot_ly(
  dades,
  x = ~DC,
  y = ~temp,
  z = ~RH,
  color = ~color,
  colors = c('#0C4B8E', '#BF382A')
) %>%
  add_markers()
fig
# Índices de los casos marcados como outliers.
quienes <- which(dades[, "outlier"] == TRUE)
quienes
 [1]   4   5  76 105 212 240 277 278 279 280 281 282 283 287 300 305 336 375 380
[20] 446 464 465 479 500

6.5 Mahalanobis robusto

Una versión robusta intenta reducir la sensibilidad del método clásico ante la presencia de observaciones extremas que distorsionen la media y la covarianza. fileciteturn2file8

# Mahalanobis robust ...........................................................

library(chemometrics)

# Moutlier calcula medidas robustas de distancia multivariante.
dis <- chemometrics::Moutlier(
  dades[, c("DC", "temp", "RH")],
  quantile = 0.99,
  plot = TRUE
)

par(mfrow = c(1, 1))
plot(dis$md, dis$rd, type = "n", main = "Mahalanobis clásico vs robusto")
text(dis$md, dis$rd, labels = rownames(dades))

# Ejemplo de selección de puntos con distancia robusta superior a 7.
a <- which(dis$rd > 7)
a
277 278 279 280   5 282   4 305 380 446 240 464 105  76 465 394 466 284 166 448 
  1   2   3   4   5   6   7   8   9  10  12  15  17  18  20  31  35  37  39  40 
395 418 112  98 391 119 177 197 203 285 242 469 205  62  78 471 117 443  73  92 
 41  43  46  48  49  51  52  53  54  55  60  63  66  67  68  69  72  74  83  84 
517 470  90 116 169 115 379 412  70  17 118 191 396 220  49 107 241 215 216 467 
 85  86  87  88  90  91  92  94  95  96  97  99 100 103 105 107 108 109 110 113 
468  71   1  20 472 161  77 388  59  97 183  60 127 190  19 163 106 411  61 187 
118 119 121 122 123 126 128 131 132 133 137 139 140 144 145 146 147 150 151 152 
408 132 135 111 202  40 133 147  50 214 223 131 189 
154 157 158 159 163 164 165 169 170 171 172 173 177 

6.6 2.3 Regresión lineal y residuos

El script deja este apartado como recordatorio conceptual: en modelos de regresión, un residuo grande puede sugerir una observación atípica respecto al modelo ajustado. No se desarrolla un ejemplo explícito en código, pero es una idea importante desde el punto de vista docente. fileciteturn2file13

6.7 2.4 Distancia de Cook

De forma análoga, la distancia de Cook mide la influencia de cada observación en un modelo de regresión. Valores altos indican observaciones influyentes. El script lo menciona como criterio conceptual pero no implementa el ejemplo. fileciteturn2file13

6.8 2.5 K-Nearest Neighbors Outlier Score

Los métodos basados en vecinos cercanos detectan outliers a partir del aislamiento local. Si un punto queda lejos de sus vecinos, su puntuación de anomalía aumenta. fileciteturn2file13

# 2.5 K-Nearest Neighbors (KNN) Outlier Score ---------------------------------
# Basats en la densitat local de les dades

library(adamethods)

# do_knno calcula un score basado en la distancia a los k vecinos más cercanos.
# Aquí usamos k = 1 y pedimos los 30 casos más extremos.
do_knno(dades[, c("DC", "temp", "RH")], k = 1, top_n = 30)
 [1]   9 149  64  65   7  33  73  79 130  32  16  19 274 167 198  22 142  63 106
[20]  35  11 273 245 227   5   8  13  27  10 279

6.9 2.6 Local Outlier Factor (LOF)

LOF compara la densidad local de un punto con la densidad de su vecindario. Un valor LOF alto sugiere que el punto vive en una región mucho menos densa que sus vecinos, lo que es indicativo de anomalía. fileciteturn2file14

# 2.6 Local Outlier Factor (LOF) ----------------------------------------------
# Compara la densidat de un punt amb la densidat dels seus veïns. Un valor LOF alt

library(Rlof)
library(dplyr)

# Calculamos el LOF para cada observación usando k = 5 vecinos.
outliers.scores <- Rlof::lof(dades[, c("DC", "temp", "RH")], k = 5)

# Densidad de las puntuaciones LOF.
par(mfrow = c(1, 1))
plot(density(outliers.scores), main = "Densidad de scores LOF")

# Seleccionamos los 5 puntos con score más alto.
outliers <- order(outliers.scores, decreasing = TRUE)[1:5]
print(outliers)
[1]  32 455 329  46 494
# Aprofitarem el ACP per poder visualizar els outliers

# Usamos PCA como herramienta de visualización bidimensional.
n <- nrow(dades[, c("DC", "temp", "RH")])
labels <- 1:n
labels[-outliers] <- "."

biplot(prcomp(dades[, c("DC", "temp", "RH")]), cex = .8, xlabs = labels)

# Grafiquem les correlacions per veure els gráfics

# Representamos pares de variables y destacamos los outliers.
pch <- rep(".", n)
pch[outliers] <- "+"
col <- rep("black", n)
col[outliers] <- "red"

pairs(dades[, c("DC", "temp", "RH")], pch = pch, col = col)

# Ho visualitzem en 3D

# Visualización 3D resaltando outliers detectados por LOF.
plot3d(dades[, "DC"], dades[, "temp"], dades[, "RH"], type = "s", col = col, size = 1)
# ..............................................................................


# Otra implementación del LOF mediante el paquete Rlof.
outliers.scores <- Rlof::lof(dades[, c("DC", "temp", "RH")], k = 5)
plot(density(outliers.scores), main = "Densidad de scores LOF (Rlof)")

6.10 2.7 Isolation Forest

Isolation Forest es un método moderno de detección de anomalías no supervisada. Su lógica consiste en que las anomalías son más fáciles de aislar mediante particiones aleatorias, por lo que tienden a presentar menor profundidad media en los árboles. fileciteturn2file14

# 2.7 Isolation Forest --------------------------------------------------------
# Cargamos las librerías necesarias
library(R.matlab)   # Lectura de archivos .mat
library(solitude)   # Modelo isolation forest
library(tidyverse)  # Preparación de datos y gráficos
library(MLmetrics)

# Carreguem les dades
# Se descarga un dataset con etiquetas reales para poder ilustrar la evaluación.
cardio_mat <- readMat("https://www.dropbox.com/s/galg3ihvxklf0qi/cardio.mat?dl=1")
df_cardio <- as.data.frame(cardio_mat$X)
df_cardio$y <- as.character(cardio_mat$y)
datos <- df_cardio

# Inspección rápida.
dim(datos)
[1] 1831   22
head(datos)
# Modelo isolation forest

# Creamos el modelo. sample_size fija cuántas observaciones se usan en cada árbol.
# num_trees determina el número de árboles del bosque.
isoforest <- isolationForest$new(
  sample_size = as.integer(nrow(datos) / 2),
  num_trees   = 500,
  replace     = TRUE,
  seed        = 123
)

# Entrenamos el modelo usando únicamente las variables predictoras.
isoforest$fit(dataset = datos %>% select(-y))

# Predicción: obtenemos la profundidad media de aislamiento de cada observación.
predicciones <- isoforest$predict(data = datos %>% select(-y))
head(predicciones)
# Histograma de las profundidades medias.
# Observaciones con menor average_depth suelen ser más anómalas.
ggplot(data = predicciones, aes(x = average_depth)) +
  geom_histogram(color = "gray40") +
  geom_vline(
    xintercept = quantile(predicciones$average_depth, seq(0, 1, 0.1)),
    color = "red",
    linetype = "dashed"
  ) +
  labs(
    title = "Distribución de las distancias medias del Isolation Forest",
    subtitle = "Cuantiles marcados en rojo",
    x = "average_depth",
    y = "Frecuencia"
  ) +
  theme_bw() +
  theme(plot.title = element_text(size = 11))

# Guardamos cuantiles para facilitar la elección de umbrales.
cuantiles <- quantile(x = predicciones$average_depth, probs = seq(0, 1, 0.05))
cuantiles
   0%    5%   10%   15%   20%   25%   30%   35%   40%   45%   50%   55%   60% 
7.556 8.952 9.264 9.451 9.548 9.629 9.694 9.744 9.790 9.824 9.852 9.870 9.888 
  65%   70%   75%   80%   85%   90%   95%  100% 
9.904 9.920 9.934 9.948 9.958 9.970 9.980 9.998 
# Detección de anomalías ------------------------------------------------------
# Añadimos las predicciones al dataset original.
datos <- datos %>%
  bind_cols(predicciones)

# Comparamos visualmente la profundidad media según la clase real.
ggplot(data = datos, aes(x = y, y = average_depth)) +
  geom_jitter(aes(color = y), width = 0.03, alpha = 0.3) +
  geom_violin(alpha = 0) +
  geom_boxplot(width = 0.2, outlier.shape = NA, alpha = 0) +
  stat_summary(fun = "mean", colour = "orangered2", size = 3, geom = "point") +
  labs(
    title = "Distancia promedio en el modelo Isolation Forest",
    x = "clasificación (0 = normal, 1 = anomalía)",
    y = "Distancia promedio"
  ) +
  theme_bw() +
  theme(
    legend.position = "none",
    plot.title = element_text(size = 11)
  )

# En este ejemplo sí disponemos de etiquetas reales, por lo que podemos forzar
# una clasificación y comparar contra la verdad terreno.
# El umbral 8.5 proviene del script original y actúa como regla práctica.
resultados <- datos %>%
  select(y, average_depth) %>%
  arrange(average_depth) %>%
  mutate(clasificacion = if_else(average_depth <= 8.5, "1", "0"))

# Matriz de confusión entre la clasificación predicha y la real.
mat_confusion <- MLmetrics::ConfusionMatrix(
  y_pred = resultados$clasificacion,
  y_true = resultados$y
)

mat_confusion
      y_pred
y_true    0    1
     0 1638   17
     1  158   18

7 Comentarios docentes finales

A nivel metodológico, este guion muestra una progresión muy útil para clase:

  1. Empezar por reglas descriptivas simples, fáciles de explicar e interpretar.
  2. Pasar a contrastes formales, remarcando siempre los supuestos de normalidad y tamaño muestral.
  3. Escalar al caso multivariante, donde la intuición geométrica y la estructura de dependencia entre variables se vuelven esenciales.
  4. Cerrar con métodos modernos, como LOF o Isolation Forest, muy relevantes en Machine Learning aplicado.

Desde una perspectiva didáctica, conviene insistir en que:

  • no existe un único criterio universal de outlier,
  • la detección depende del contexto del problema,
  • y una observación extrema no siempre debe eliminarse: a veces representa precisamente la señal más interesante del fenómeno.

8 Bibliografía

Aquesta web està creada por Dante Conti y Sergi Ramírez, (c) 2026