# Load the dataset
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
#What are the typical values (mean, median, min, max) for customer age, annual income, and spending score?
summary(mall_customers)
##  Customer.ID             Age           Gender          Annual.Income   
##  Length:15079       Min.   :18.00   Length:15079       Min.   : 20022  
##  Class :character   1st Qu.:36.00   Class :character   1st Qu.: 64141  
##  Mode  :character   Median :54.00   Mode  :character   Median :109190  
##                     Mean   :54.19                      Mean   :109743  
##                     3rd Qu.:72.00                      3rd Qu.:155008  
##                     Max.   :90.00                      Max.   :199974  
##  Spending.Score  
##  Min.   :  1.00  
##  1st Qu.: 26.00  
##  Median : 51.00  
##  Mean   : 50.59  
##  3rd Qu.: 75.00  
##  Max.   :100.00
# Load the dataset
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")

gender_counts <- table(mall_customers$Gender)

colors <- c("Male" = "blue", "Female" = "pink")

barplot(gender_counts, col = colors, main = "Distribution of Gender Among Customers",
        xlab = "Gender", ylab = "Count")

#What is the distribution of customer ages in the dataset? Are there any noticeable patterns or outliers?
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
hist(mall_customers$Age,
     breaks = 20,
     col = "skyblue",
     xlab = "Age", 
     ylab = "Frequency",
     main = "Histogram of Customer Ages") 

#Annual Income Distribution:
#What is the distribution of customer annual incomes? How does it vary among the customers?
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
hist(mall_customers$Annual.Income,
     breaks = 20, 
     col = "lightgreen", 
     xlab = "Annual Income", 
     ylab = "Frequency", 
     main = "Histogram of Customer Annual Incomes")

#Spending Score Distribution:
#What is the distribution of customer spending scores? Are there any segments of customers with particularly high or low spending scores?
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
hist(mall_customers$Spending.Score,
     breaks = 30, 
     col = "skyblue",
     xlab = "Spending Score",
     ylab = "Frequency",
     main = "Histogram of Spending Scores")

#Gender vs. Spending Score:
#Do male and female customers have different spending scores on average? If yes, how significant is the difference?
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
aggregate(Spending.Score ~ Gender, data = mall_customers, FUN = mean)
##   Gender Spending.Score
## 1 Female       50.39765
## 2   Male       50.78275
#Age vs. Spending Score:
#Is there a relationship between customer age and spending score? Are older customers more likely to spend more?
# Create a scatter plot of Age vs. Spending Score
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
plot(mall_customers$Age, mall_customers$Spending.Score,
     xlab = "Age",  # Label for the x-axis
     ylab = "Spending Score",  # Label for the y-axis
     main = "Scatter Plot of Age vs. Spending Score", 
     col = "black", 
     pch = 19,  
     cex = 0.1)  

#Annual Income vs. Spending Score:
#How does customer annual income relate to their spending score? Do customers with higher incomes tend to spend more?
# Create a scatter plot of Annual Income vs. Spending Score
# Load the ggplot2 package
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# Create a 2D density plot of Annual Income vs. Spending Score
ggplot(mall_customers, aes(x = Annual.Income, y = Spending.Score)) +
  geom_density_2d(color = "blue") +
  labs(x = "Annual Income", y = "Spending Score",
       title = "2D Density Plot of Annual Income vs. Spending Score")

#Age Group Analysis:
#Are there differences in spending behavior among different age groups of customers? Which age group tends to have the highest spending score?
# Define age groups based on age ranges
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
mall_customers$age_group <- cut(mall_customers$Age, breaks = c(0, 18, 25, 35, 45, 55, 65, 100),
                                labels = c("0-18", "19-25", "26-35", "36-45", "46-55", "56-65", "66-100"))
# Aggregate spending score by age group and calculate mean spending score
spending_by_age <- aggregate(Spending.Score ~ age_group, data = mall_customers, FUN = mean)
# Print the aggregated statistics for spending score by age group
print("Mean Spending Score by Age Group:")
## [1] "Mean Spending Score by Age Group:"
print(spending_by_age)
##   age_group Spending.Score
## 1      0-18       50.09794
## 2     19-25       52.08369
## 3     26-35       49.79666
## 4     36-45       50.62169
## 5     46-55       51.07637
## 6     56-65       50.71318
## 7    66-100       50.27077
#Customer Segmentation:
#Can we identify distinct groups of customers based on their demographic and spending behavior? If so, what are the characteristics of each segment?
#K-means clustering
# Set seed for reproducibility
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
set.seed(123)
# Perform K-means clustering
kmeans_result <- kmeans(mall_customers[, c("Age", "Annual.Income", "Spending.Score")], centers = 3)
print(kmeans_result)
## K-means clustering with 3 clusters of sizes 5117, 4947, 5015
## 
## Cluster means:
##        Age Annual.Income Spending.Score
## 1 54.18956     169687.52       50.65957
## 2 54.33960     108931.02       50.85001
## 3 54.04766      49379.89       50.26740
## 
## Clustering vector:
##     [1] 1 1 3 3 1 1 1 3 3 3 1 2 2 1 2 3 1 3 2 3 1 1 2 3 1 1 2 3 1 2 2 2 3 1 2 1
##    [37] 3 2 3 3 2 3 2 2 1 2 3 2 1 3 1 2 2 2 3 3 1 3 2 1 2 3 1 3 2 3 3 1 3 1 2 1
##    [73] 1 2 2 1 2 2 2 3 3 3 1 3 1 3 2 2 2 2 1 1 1 3 2 1 3 1 3 2 3 1 2 1 1 1 2 1
##   [109] 2 1 1 3 2 1 2 1 3 2 1 2 3 1 1 1 1 2 2 1 1 3 1 1 1 2 1 2 2 2 2 2 3 1 1 2
##   [145] 2 3 2 1 1 3 1 2 1 1 3 3 2 3 3 3 1 2 1 1 2 3 1 3 2 3 2 1 1 2 3 3 2 3 1 3
##   [181] 2 1 2 2 1 3 2 1 2 3 2 2 3 3 2 3 1 2 3 1 3 1 2 2 3 1 3 3 1 2 2 2 1 1 1 1
##   [217] 3 1 3 1 3 2 2 1 3 1 2 2 1 2 1 3 1 3 2 3 1 3 3 1 2 1 2 3 2 1 3 1 2 3 2 1
##   [253] 3 3 2 3 2 3 1 1 2 3 3 3 1 3 3 3 2 2 3 3 1 1 1 2 3 2 1 1 2 2 1 2 3 2 2 1
##   [289] 2 3 2 3 1 2 2 2 2 1 2 3 2 2 1 1 2 3 3 1 1 1 1 2 3 3 3 2 1 1 3 1 3 1 2 1
##   [325] 1 2 1 1 1 3 2 2 1 3 1 3 3 2 3 3 1 1 1 1 1 1 3 2 2 2 1 2 3 1 3 2 2 3 2 3
##   [361] 3 2 1 2 1 2 2 1 3 2 1 2 3 2 1 2 1 3 3 2 2 1 1 2 3 3 3 3 2 1 3 2 2 3 2 2
##   [397] 1 1 2 1 2 1 2 3 2 2 1 3 1 2 3 1 3 2 2 3 1 2 1 2 2 1 2 1 1 3 2 1 2 2 2 2
##   [433] 2 2 2 1 1 2 1 2 3 1 3 2 3 1 1 3 3 1 2 1 3 2 1 2 3 2 1 2 2 3 1 1 1 1 3 3
##   [469] 2 1 3 1 1 1 2 2 2 1 1 1 1 2 1 3 2 3 2 3 1 3 3 2 1 2 3 2 1 1 1 3 3 1 1 1
##   [505] 2 1 1 3 2 2 3 3 2 2 3 1 2 3 2 2 2 3 2 2 3 1 2 1 2 3 1 3 1 3 2 1 1 3 1 1
##   [541] 2 3 3 1 2 1 2 1 3 1 1 3 1 2 3 2 1 2 1 1 3 2 1 2 2 3 2 2 3 3 2 2 2 2 3 2
##   [577] 3 3 1 3 3 2 2 2 1 2 3 1 1 2 2 1 1 1 3 1 1 3 1 2 3 1 3 2 3 2 2 1 1 3 2 1
##   [613] 3 3 3 2 3 1 1 1 1 2 2 3 1 1 1 1 1 1 2 1 3 2 1 3 3 1 1 3 1 1 1 1 1 3 3 3
##   [649] 1 3 1 3 1 2 3 3 3 2 1 2 2 3 1 2 2 1 2 2 3 2 1 1 1 2 2 1 1 1 2 2 1 3 1 2
##   [685] 3 3 1 2 1 2 3 3 3 3 1 3 3 3 2 3 1 1 1 2 3 2 2 3 2 2 3 2 1 1 1 3 1 3 3 1
##   [721] 3 1 1 1 3 3 2 3 3 1 2 2 2 1 2 1 2 2 1 3 2 2 1 3 2 1 3 1 3 3 2 2 1 2 1 1
##   [757] 3 3 1 1 3 2 2 1 1 1 2 1 1 2 1 3 3 2 1 2 1 3 1 1 3 2 3 1 2 3 1 2 3 2 2 3
##   [793] 2 2 1 1 1 1 1 3 2 3 3 2 2 1 1 3 1 2 1 3 3 2 2 1 1 3 1 2 2 1 2 3 1 2 2 1
##   [829] 1 2 1 3 2 1 1 1 1 2 2 2 1 2 3 3 3 2 2 1 3 2 1 2 3 1 1 1 2 3 2 3 2 1 3 2
##   [865] 3 1 2 1 1 1 2 2 3 3 3 1 2 1 2 3 1 2 3 2 3 1 1 3 1 2 3 2 3 3 3 1 2 3 1 2
##   [901] 2 1 1 2 1 3 2 1 1 3 3 3 2 3 2 3 1 2 1 3 3 1 1 2 1 1 3 1 1 1 3 3 2 2 3 3
##   [937] 1 2 1 2 1 2 3 3 2 3 2 3 1 1 2 3 3 2 3 2 3 1 1 3 3 1 3 2 1 2 3 2 1 3 3 2
##   [973] 2 3 1 2 3 3 3 3 1 2 1 2 1 3 3 3 3 3 1 2 3 2 1 1 2 1 3 2 2 1 3 2 2 2 1 2
##  [1009] 3 1 2 2 3 3 3 2 2 2 3 1 1 2 2 3 1 2 2 2 1 1 2 2 1 3 1 3 1 2 3 2 1 2 1 2
##  [1045] 1 2 2 2 1 1 3 3 3 2 2 1 1 1 2 2 3 3 3 2 1 2 3 2 1 2 2 2 1 3 2 1 1 3 2 3
##  [1081] 2 1 2 3 3 1 3 2 1 1 2 3 2 2 1 2 3 1 3 3 1 1 1 3 3 2 2 1 2 3 2 3 2 3 3 3
##  [1117] 3 2 3 2 1 2 1 1 1 3 3 1 1 3 1 1 1 3 2 1 2 1 1 1 2 3 2 2 1 1 3 1 2 2 1 2
##  [1153] 3 2 1 3 1 3 1 1 1 2 3 1 1 2 3 3 2 3 2 1 2 3 1 1 2 2 3 3 2 2 2 1 3 3 3 2
##  [1189] 1 3 2 3 2 1 1 3 3 2 1 2 1 3 2 2 3 1 1 3 2 3 3 1 2 3 3 3 3 3 1 1 3 2 2 3
##  [1225] 3 3 3 2 1 1 1 2 3 2 2 3 1 3 1 2 3 1 1 1 2 1 1 3 2 3 2 2 1 1 2 3 1 1 1 3
##  [1261] 3 1 3 1 3 2 2 1 1 1 3 3 3 2 2 2 3 3 2 3 1 2 2 1 1 1 3 3 3 2 3 2 3 3 3 1
##  [1297] 2 3 3 3 3 2 3 3 1 1 3 1 2 2 2 2 2 1 1 3 2 3 1 3 3 2 3 1 1 3 1 2 3 1 2 3
##  [1333] 3 2 2 2 3 3 3 2 3 3 3 3 3 2 2 3 1 2 2 1 2 2 2 1 1 2 2 2 1 3 1 2 1 3 1 2
##  [1369] 1 1 3 3 1 1 2 1 2 1 3 3 3 1 2 2 3 2 2 3 2 2 3 1 1 2 2 1 3 1 3 2 3 3 2 3
##  [1405] 2 2 3 1 3 2 3 3 1 3 3 2 2 1 2 2 2 3 2 3 3 2 1 1 3 3 3 1 1 1 1 2 2 1 1 2
##  [1441] 3 1 2 1 2 2 1 3 1 1 3 3 1 1 3 1 2 2 3 1 2 3 3 2 3 3 2 2 1 1 1 2 3 3 3 1
##  [1477] 2 1 3 1 3 2 3 1 2 1 3 2 1 3 3 1 3 2 1 3 2 3 3 3 2 2 3 3 1 3 2 2 1 3 1 3
##  [1513] 1 2 1 1 3 3 1 3 1 2 1 2 2 1 2 1 2 2 2 3 3 2 3 2 1 2 2 3 3 3 3 3 1 2 3 2
##  [1549] 2 3 1 1 1 3 1 1 1 1 2 3 3 3 3 3 3 2 2 3 3 1 2 3 1 2 1 2 3 2 3 3 1 1 1 2
##  [1585] 1 3 1 1 3 1 2 1 2 3 3 1 3 1 1 1 3 2 3 2 2 2 1 3 3 3 3 2 2 2 1 1 3 1 2 3
##  [1621] 2 2 2 2 1 3 1 2 1 3 1 3 1 2 3 1 3 3 3 2 1 3 1 3 3 2 1 2 3 3 3 3 3 2 2 3
##  [1657] 1 3 2 1 3 1 2 2 3 1 3 1 3 1 2 1 2 3 2 1 3 2 2 1 3 2 2 2 1 3 2 2 3 3 3 2
##  [1693] 3 2 1 3 2 1 3 1 3 1 2 3 3 2 3 3 1 2 3 3 1 3 3 1 1 2 1 2 1 1 2 1 2 2 3 1
##  [1729] 3 3 1 2 3 3 1 2 3 1 1 3 2 2 1 1 1 1 2 3 2 1 2 2 2 1 3 2 2 1 3 3 2 2 1 1
##  [1765] 3 2 3 3 1 1 2 1 3 1 3 2 1 3 3 3 3 3 2 2 3 1 3 2 3 3 1 2 2 1 1 3 1 1 2 3
##  [1801] 1 3 2 2 2 1 1 2 2 1 2 2 3 3 2 3 3 1 1 1 3 2 2 3 1 3 1 3 2 2 1 2 3 1 1 2
##  [1837] 2 3 3 1 1 1 1 1 1 1 2 3 2 2 2 2 3 2 1 3 3 3 2 1 2 1 2 3 1 2 2 2 3 2 1 2
##  [1873] 2 2 1 3 1 1 3 3 3 1 3 2 2 2 1 1 1 2 3 3 3 1 1 3 1 1 2 1 2 1 2 2 2 3 3 1
##  [1909] 2 2 1 3 1 2 2 2 3 3 1 1 2 1 2 2 1 1 3 2 2 1 3 1 3 2 3 2 3 3 1 2 3 1 3 3
##  [1945] 1 1 1 2 3 1 1 2 3 3 3 1 3 3 3 1 1 1 1 3 3 2 3 1 3 3 3 3 1 3 3 2 3 2 1 2
##  [1981] 2 1 2 1 3 3 3 1 3 2 3 1 3 2 1 2 1 1 1 3 3 2 3 2 1 3 2 3 1 3 3 3 2 2 1 3
##  [2017] 3 2 2 3 2 3 3 1 2 2 2 1 1 2 1 1 1 1 2 1 3 1 2 2 1 3 3 3 2 3 2 1 3 2 3 1
##  [2053] 2 3 2 1 2 1 3 2 3 3 3 1 2 2 1 2 1 3 2 1 2 1 2 1 2 3 1 2 3 1 2 2 3 1 3 1
##  [2089] 3 2 1 3 1 2 1 2 1 1 3 3 1 1 2 2 2 3 3 3 1 1 2 2 2 1 3 3 2 3 2 1 3 3 1 3
##  [2125] 3 3 3 1 1 2 3 3 1 3 3 2 2 2 2 2 2 3 2 3 2 1 2 1 1 3 3 2 3 2 3 1 2 1 1 3
##  [2161] 1 1 2 1 3 1 3 1 3 2 1 2 1 3 1 1 2 2 1 3 2 1 3 2 2 1 1 3 2 2 2 1 1 1 1 1
##  [2197] 1 2 2 1 1 1 2 1 3 1 2 1 1 3 1 1 2 3 1 3 3 3 1 3 2 1 3 1 3 1 1 2 3 2 2 2
##  [2233] 1 2 1 3 3 3 3 3 2 1 3 1 3 1 1 3 1 1 3 1 1 2 1 1 2 2 1 1 3 2 3 1 1 3 1 1
##  [2269] 2 3 1 3 3 1 1 2 2 2 2 2 3 3 2 1 1 1 2 3 3 1 2 2 2 1 3 2 3 2 3 2 3 3 1 3
##  [2305] 3 1 1 1 3 3 3 1 2 3 1 1 1 1 2 1 3 3 1 1 1 1 2 2 2 3 1 2 3 3 2 3 1 3 3 3
##  [2341] 1 2 3 1 2 1 1 2 2 3 2 1 3 3 1 2 3 2 1 3 3 2 3 2 2 1 2 3 3 2 1 3 2 3 1 2
##  [2377] 1 2 2 3 1 3 2 3 2 3 1 3 1 3 1 3 3 3 3 1 2 2 2 3 1 2 1 2 3 3 2 2 1 1 3 1
##  [2413] 3 1 3 1 3 3 1 1 1 3 3 1 1 2 3 3 1 1 2 2 3 2 1 3 3 2 1 2 2 1 1 1 1 1 1 1
##  [2449] 2 2 3 1 2 3 2 2 2 3 1 1 2 1 1 1 3 2 3 2 3 3 3 2 3 3 2 3 2 3 2 1 3 3 1 3
##  [2485] 3 2 1 1 3 1 1 3 2 2 2 3 1 3 2 3 1 3 1 3 2 1 3 3 3 2 1 1 1 3 1 3 1 1 2 2
##  [2521] 3 2 3 1 3 3 1 3 3 3 1 2 2 1 1 2 2 1 2 1 1 2 1 1 1 2 3 2 2 2 2 2 1 3 1 2
##  [2557] 1 3 2 3 2 2 3 1 1 2 2 1 3 3 2 1 1 2 2 3 2 3 1 2 3 1 1 3 3 3 3 1 1 1 3 2
##  [2593] 3 3 1 3 3 3 2 3 2 1 3 3 1 3 2 2 3 3 1 2 1 2 2 2 1 2 3 1 3 3 3 1 3 2 3 1
##  [2629] 2 1 3 2 3 2 1 1 3 2 3 1 3 3 1 1 3 2 3 1 2 3 2 2 3 2 2 1 2 1 1 3 3 3 3 2
##  [2665] 2 2 3 1 1 1 1 1 2 2 2 1 3 1 2 1 1 3 1 3 2 3 1 1 3 2 2 1 1 2 2 2 3 3 3 3
##  [2701] 1 3 2 1 3 2 3 1 3 2 2 1 3 1 2 3 2 1 3 2 1 2 3 1 2 2 1 2 1 2 3 3 1 1 2 1
##  [2737] 1 3 2 1 1 3 3 1 1 1 3 2 2 1 1 1 2 2 2 2 2 3 2 2 1 3 1 1 2 2 3 3 2 2 2 3
##  [2773] 3 3 1 1 2 3 2 3 2 3 1 3 3 2 2 3 1 2 1 1 2 1 2 1 3 2 3 1 3 3 2 1 3 2 3 1
##  [2809] 1 1 3 3 1 2 2 2 1 1 1 3 3 3 3 1 3 3 2 3 1 2 1 3 3 1 2 3 3 2 2 1 3 2 3 1
##  [2845] 1 3 1 2 1 1 1 1 2 2 3 1 2 3 1 2 3 3 1 2 3 1 1 1 2 3 2 1 3 3 3 2 2 1 1 3
##  [2881] 3 2 2 1 1 1 1 1 1 3 3 1 3 1 3 2 3 1 1 2 3 3 1 3 2 1 2 3 2 1 3 3 2 2 1 1
##  [2917] 1 1 3 1 2 3 3 1 2 3 1 3 2 2 2 3 1 3 3 3 2 2 3 2 3 1 3 3 2 1 1 1 1 3 2 1
##  [2953] 3 1 3 1 1 3 2 3 2 1 3 1 2 1 1 1 3 2 1 2 3 3 3 3 1 1 1 3 3 1 2 2 2 2 2 1
##  [2989] 3 1 2 3 1 2 2 3 3 3 1 2 3 3 3 3 3 1 3 1 3 3 1 1 2 1 1 1 2 3 3 2 1 1 2 3
##  [3025] 3 1 3 1 1 1 2 1 1 1 1 2 2 3 2 3 2 2 3 3 2 3 1 1 2 3 3 1 2 2 1 1 2 1 3 2
##  [3061] 2 1 1 3 1 3 2 3 1 2 3 3 1 2 1 3 2 1 1 2 1 1 1 2 3 2 1 1 3 2 1 3 2 2 1 1
##  [3097] 2 2 3 1 1 2 3 3 1 1 1 1 2 1 3 3 2 2 2 2 2 3 3 1 2 1 1 1 3 3 3 3 1 1 1 3
##  [3133] 1 2 1 1 1 1 1 1 3 2 3 2 1 2 1 3 1 1 3 1 3 3 3 1 3 1 2 3 3 3 2 1 2 1 2 2
##  [3169] 2 1 1 1 2 3 1 1 3 2 1 3 3 1 2 1 3 3 2 1 3 2 3 2 1 2 3 2 2 1 3 1 2 1 3 2
##  [3205] 1 3 3 2 1 3 1 3 1 1 2 3 1 3 1 2 3 2 2 2 3 3 2 3 1 3 3 3 3 3 2 2 3 3 2 1
##  [3241] 1 3 2 3 1 1 3 3 1 3 2 1 3 1 1 3 2 1 3 1 3 1 1 3 3 2 3 3 1 1 2 1 2 1 3 1
##  [3277] 3 2 3 1 2 2 2 2 1 2 2 2 2 3 3 2 3 1 3 1 2 2 2 3 1 2 2 3 1 1 1 3 3 1 1 2
##  [3313] 1 3 2 2 1 3 2 3 1 2 2 2 2 3 1 3 1 1 1 3 1 2 3 3 1 3 1 1 3 3 2 2 1 3 2 1
##  [3349] 3 3 3 3 3 2 2 1 3 2 2 1 2 1 3 1 1 3 1 1 1 1 3 2 2 1 2 3 1 1 2 3 2 2 3 2
##  [3385] 1 3 2 2 1 3 1 3 1 2 3 1 2 1 1 2 3 2 3 3 1 3 2 3 3 2 3 1 2 3 3 1 2 2 2 3
##  [3421] 2 2 3 3 3 1 3 2 3 2 3 2 3 2 3 1 2 3 1 1 1 3 2 3 3 2 1 1 1 1 3 2 3 1 2 3
##  [3457] 2 1 3 3 2 1 1 3 3 2 3 2 1 2 3 1 2 1 3 1 1 2 1 2 2 1 1 3 1 3 2 3 2 1 1 2
##  [3493] 2 1 1 3 1 1 3 2 3 3 3 3 2 1 3 1 2 3 2 2 2 3 2 1 1 2 1 1 1 3 1 2 3 3 3 1
##  [3529] 1 1 1 2 2 1 2 3 3 2 3 1 1 1 1 3 2 3 1 1 2 2 3 3 2 3 3 2 2 2 1 1 2 3 3 3
##  [3565] 3 1 2 1 3 2 3 1 1 1 2 3 3 1 2 3 1 3 2 2 1 1 1 1 1 2 2 2 2 2 1 2 3 1 3 1
##  [3601] 2 1 2 3 3 2 2 3 1 1 1 2 3 2 2 3 2 3 3 2 1 1 3 3 2 3 2 3 3 1 1 2 3 1 1 2
##  [3637] 1 2 2 2 1 1 3 1 2 2 1 2 3 1 3 1 3 1 3 2 1 1 2 1 3 1 2 1 3 1 2 1 1 3 1 2
##  [3673] 2 2 1 1 2 1 1 1 1 2 1 3 2 3 2 3 2 3 2 3 3 1 2 2 3 3 1 2 1 2 1 3 3 1 1 2
##  [3709] 3 1 2 3 3 2 2 1 2 3 2 3 2 2 2 3 2 1 2 2 3 3 1 3 2 1 3 1 2 3 3 1 2 1 3 3
##  [3745] 1 3 1 2 3 3 2 3 3 3 3 2 2 1 1 1 3 2 3 3 1 3 1 1 1 3 3 1 3 3 3 2 2 3 1 2
##  [3781] 2 2 3 2 3 3 2 2 3 3 3 2 1 3 1 1 1 1 3 3 1 2 2 3 1 3 3 1 3 1 1 2 2 3 1 3
##  [3817] 1 2 2 3 2 2 2 3 1 3 2 2 1 2 3 3 3 1 3 2 1 3 3 1 1 2 2 2 3 3 1 3 1 3 3 2
##  [3853] 2 1 2 1 2 3 2 1 3 2 3 2 1 3 3 3 2 3 2 2 1 3 2 3 1 1 2 1 3 1 2 2 2 1 2 3
##  [3889] 3 1 1 2 3 2 2 3 1 2 1 2 1 3 3 1 3 1 3 3 3 3 1 3 1 3 1 1 1 2 1 3 1 3 1 2
##  [3925] 2 2 2 1 2 1 2 2 2 2 3 3 3 1 2 3 3 1 3 1 2 1 1 2 2 1 2 1 2 1 2 2 1 2 3 1
##  [3961] 3 2 3 1 2 2 3 3 3 3 1 1 1 3 1 2 2 1 1 3 1 2 3 2 3 3 2 2 3 1 2 1 1 1 1 1
##  [3997] 3 2 3 3 3 1 3 2 2 1 2 3 2 1 3 1 2 3 3 3 1 1 2 2 1 1 1 1 2 3 1 3 1 3 2 3
##  [4033] 1 3 1 2 1 2 2 3 1 2 3 2 1 2 1 1 2 1 2 1 2 3 1 3 3 2 1 2 1 2 2 1 1 1 1 3
##  [4069] 3 3 3 1 1 1 3 2 2 1 2 1 1 1 2 1 3 2 1 1 2 1 1 3 1 1 2 3 1 1 1 3 1 1 2 3
##  [4105] 1 2 1 3 2 1 3 2 3 2 1 2 3 1 2 1 2 3 2 2 3 1 1 2 3 2 1 3 1 2 2 3 3 1 2 3
##  [4141] 3 2 1 1 3 2 3 1 3 1 1 3 1 2 1 2 3 3 3 2 3 3 2 3 3 1 1 2 3 3 2 1 2 2 1 2
##  [4177] 2 2 3 2 3 3 3 2 3 2 1 1 2 1 2 3 1 1 1 3 1 3 3 3 1 3 2 2 1 2 2 1 3 3 1 3
##  [4213] 2 2 2 1 2 1 3 2 2 2 2 3 1 2 3 3 3 2 2 3 1 2 1 3 2 1 2 2 3 3 1 3 1 2 3 1
##  [4249] 3 2 3 3 3 3 3 1 3 3 1 3 3 1 3 1 2 3 1 1 2 1 3 1 2 2 1 1 2 3 2 3 1 1 3 3
##  [4285] 3 3 1 1 2 3 2 1 2 2 2 1 1 2 1 3 2 2 1 2 1 2 1 3 1 2 2 3 1 1 2 1 1 1 3 3
##  [4321] 1 2 1 2 1 1 2 2 1 2 2 2 3 2 2 1 1 2 1 3 1 1 3 3 1 3 2 1 3 1 2 3 1 3 1 3
##  [4357] 2 3 1 1 1 1 1 1 2 2 3 2 1 3 2 2 2 1 1 3 3 3 2 3 3 1 2 2 2 2 1 3 3 1 2 1
##  [4393] 1 2 2 2 1 1 1 2 1 2 2 2 1 1 3 3 3 1 1 1 2 3 1 1 3 1 3 1 3 1 3 1 3 3 1 1
##  [4429] 3 3 3 3 1 3 2 1 2 2 2 1 2 2 3 1 2 1 2 1 2 1 1 3 2 3 2 1 1 3 3 3 3 3 2 3
##  [4465] 2 1 1 2 2 3 2 2 2 2 1 3 2 3 1 3 2 2 1 3 2 3 2 3 1 2 1 1 1 2 2 2 1 2 1 3
##  [4501] 2 3 1 1 1 2 1 2 2 2 3 2 1 1 1 3 2 1 1 1 1 2 1 3 1 3 1 3 1 2 3 3 1 2 3 2
##  [4537] 3 3 2 2 2 2 2 1 1 1 1 3 1 3 2 1 2 3 2 2 1 2 3 2 3 2 1 1 1 3 3 2 3 1 2 3
##  [4573] 1 3 2 1 3 3 2 2 3 2 2 3 1 2 1 1 1 1 2 2 1 3 1 2 1 3 3 2 1 1 1 2 1 3 1 3
##  [4609] 2 1 3 3 3 3 3 3 2 2 3 3 1 2 3 2 1 2 1 3 1 3 1 3 3 3 1 2 2 2 3 2 2 3 3 2
##  [4645] 3 3 2 2 1 1 3 1 1 2 3 1 3 1 3 2 1 1 3 3 3 1 1 2 1 2 3 1 1 3 1 1 3 3 2 1
##  [4681] 1 1 2 3 2 2 3 3 3 2 1 3 1 1 3 2 3 3 2 3 2 3 3 1 3 3 3 2 1 3 2 2 1 3 1 1
##  [4717] 3 3 3 2 3 2 3 3 3 3 1 1 3 1 3 1 1 1 3 3 1 2 3 1 2 2 3 3 3 1 3 1 1 2 1 1
##  [4753] 1 2 2 3 1 1 3 3 2 1 1 3 3 1 2 1 2 3 3 2 2 1 1 3 1 1 1 3 2 2 1 2 2 3 2 2
##  [4789] 1 3 3 1 2 2 2 1 1 3 3 2 2 1 2 3 3 3 3 2 3 2 3 2 1 1 2 3 2 1 3 3 1 3 2 1
##  [4825] 1 1 3 1 3 2 1 3 3 3 1 2 2 3 3 1 2 3 1 3 3 3 3 1 3 2 2 3 1 3 2 2 1 2 2 1
##  [4861] 2 1 3 3 3 1 3 1 2 3 1 3 1 2 3 1 2 1 1 1 2 3 3 1 3 2 1 1 3 3 1 3 3 1 2 2
##  [4897] 2 2 2 1 1 2 1 3 2 3 3 2 2 3 3 2 1 3 2 1 1 2 1 2 3 3 1 3 3 2 2 2 3 1 2 2
##  [4933] 2 3 2 3 2 1 3 1 2 2 3 2 1 2 1 3 2 1 3 3 2 1 2 1 3 3 1 2 2 1 2 1 2 3 1 2
##  [4969] 2 2 3 2 2 2 2 3 1 2 1 2 3 2 2 3 2 2 3 2 2 1 2 3 1 2 3 2 3 3 3 1 2 1 1 1
##  [5005] 2 1 1 2 2 1 3 1 3 3 3 2 2 1 3 2 1 2 1 3 3 1 1 1 3 2 2 3 2 3 1 2 1 2 3 2
##  [5041] 3 2 1 1 1 2 3 3 3 1 3 1 3 1 3 1 2 3 3 2 3 1 2 2 1 1 1 1 2 1 2 3 3 1 2 1
##  [5077] 1 1 1 1 3 2 3 2 2 2 1 2 3 2 2 3 2 1 3 3 2 1 2 1 1 1 2 3 3 3 1 1 1 2 3 3
##  [5113] 1 1 3 2 2 1 1 1 1 1 2 1 2 3 3 1 2 2 3 3 2 1 2 3 3 3 1 2 3 3 1 1 3 3 1 3
##  [5149] 2 1 3 3 3 1 1 1 3 1 1 1 3 1 3 3 1 2 1 3 3 1 1 1 1 3 2 1 2 1 2 1 3 2 2 2
##  [5185] 1 3 1 3 1 3 2 2 2 3 1 3 1 1 3 3 3 2 2 3 3 3 2 3 1 2 2 3 2 3 3 1 3 3 1 2
##  [5221] 1 2 3 2 2 3 1 3 2 2 2 3 2 2 3 1 3 1 1 1 1 3 1 3 3 3 1 3 2 1 3 1 1 1 1 3
##  [5257] 1 2 2 2 1 2 2 2 3 3 1 3 1 3 3 3 2 3 2 3 3 2 2 3 3 3 2 3 3 2 1 1 2 3 2 3
##  [5293] 1 2 3 2 1 1 1 2 1 3 3 1 3 1 1 2 1 2 1 1 1 3 1 3 1 1 3 1 3 2 1 3 2 2 1 2
##  [5329] 3 2 2 3 3 3 2 1 1 1 2 2 1 3 1 1 3 1 3 3 2 1 3 3 3 2 1 1 2 2 3 1 3 3 3 3
##  [5365] 2 3 1 2 3 2 2 2 3 1 2 1 3 1 1 1 1 2 3 1 2 3 1 3 3 3 2 1 3 2 1 1 2 3 2 1
##  [5401] 2 1 3 3 1 1 3 2 1 1 3 1 2 2 3 3 3 1 2 2 3 1 3 1 3 3 2 1 2 3 1 2 3 1 1 2
##  [5437] 3 2 2 3 1 2 3 1 3 1 1 1 1 2 3 3 2 1 1 3 2 3 1 1 1 1 3 3 3 3 3 1 1 3 1 1
##  [5473] 3 2 2 2 3 1 2 3 2 2 2 2 1 3 1 1 3 2 3 2 3 1 2 2 3 2 3 2 1 2 2 2 1 1 2 1
##  [5509] 3 2 3 3 2 3 2 2 2 1 1 3 3 2 1 1 3 1 3 3 2 3 2 1 1 3 1 1 3 1 3 3 1 1 2 2
##  [5545] 3 1 3 2 1 3 2 3 3 1 2 1 1 3 3 2 3 1 1 1 3 2 3 3 3 1 2 3 3 1 1 3 2 1 2 1
##  [5581] 1 2 2 3 1 2 2 3 2 3 3 3 2 1 3 2 1 1 3 1 2 3 1 2 2 1 1 3 3 2 3 2 1 2 2 1
##  [5617] 3 3 3 1 1 2 1 1 1 2 2 2 2 3 2 3 1 3 1 3 2 3 3 1 1 2 1 1 2 2 2 3 2 1 3 1
##  [5653] 2 1 1 3 1 3 1 1 2 2 3 1 1 2 3 3 1 1 3 2 2 2 2 2 2 1 2 1 2 3 1 3 1 3 3 2
##  [5689] 1 2 1 3 3 2 1 3 3 2 2 1 2 1 3 1 2 2 2 1 2 3 3 2 3 2 1 3 2 1 1 2 3 2 1 3
##  [5725] 2 1 1 1 2 1 2 1 3 1 3 3 2 1 3 1 2 3 3 1 2 2 2 2 2 3 3 1 2 3 3 1 2 3 1 2
##  [5761] 1 2 3 2 3 3 3 2 1 3 1 3 2 2 2 3 1 1 2 3 1 2 3 2 1 2 3 3 2 2 1 2 3 1 3 1
##  [5797] 3 3 3 2 2 1 2 3 2 2 3 1 3 3 3 2 2 2 3 2 3 1 2 1 3 1 2 3 1 1 1 1 1 3 3 1
##  [5833] 1 2 2 2 3 2 3 2 1 1 2 1 3 1 2 1 3 3 3 3 3 3 2 2 2 1 1 1 2 2 3 2 1 2 1 1
##  [5869] 2 3 1 2 3 1 2 1 3 1 3 1 3 2 3 1 2 1 1 3 1 2 2 3 3 3 2 3 2 1 1 2 3 1 1 2
##  [5905] 1 3 1 3 1 3 2 2 2 2 1 1 3 3 2 3 1 3 3 1 1 1 3 3 3 3 2 1 3 1 3 2 1 2 2 3
##  [5941] 1 1 2 1 2 2 1 1 3 2 2 1 3 2 2 1 3 3 1 1 2 1 2 3 1 2 1 1 2 1 1 1 1 2 3 1
##  [5977] 3 3 3 3 2 3 1 3 1 1 1 2 1 1 2 2 2 2 3 3 2 1 3 1 2 2 3 2 3 1 1 2 1 3 3 1
##  [6013] 1 1 2 1 2 2 1 1 2 3 2 2 3 2 2 3 1 1 3 3 2 3 3 1 1 1 2 3 1 1 1 1 1 1 3 1
##  [6049] 3 3 3 1 1 3 1 3 2 2 3 1 2 2 3 2 3 1 2 2 2 3 3 3 1 1 3 2 3 2 1 2 3 3 2 2
##  [6085] 3 2 1 1 2 2 2 2 1 1 1 2 3 2 1 1 1 3 1 1 1 2 2 2 3 2 1 2 2 2 1 2 2 2 3 1
##  [6121] 3 3 2 1 1 2 3 3 3 2 2 2 2 3 2 1 1 2 1 2 3 3 3 1 2 1 2 3 2 1 1 3 2 1 2 3
##  [6157] 1 3 1 2 1 3 1 2 3 2 1 3 2 3 3 2 2 2 3 3 3 2 1 1 3 2 2 1 3 3 3 2 3 1 3 2
##  [6193] 1 1 3 3 1 1 2 3 1 2 3 2 1 3 2 1 3 2 1 2 2 1 3 3 3 3 2 1 3 1 2 2 2 3 2 3
##  [6229] 1 2 1 1 3 3 2 2 2 3 2 1 2 3 3 1 2 1 3 3 2 1 3 3 1 2 3 3 2 2 1 2 2 1 1 3
##  [6265] 1 3 1 2 3 1 1 1 1 2 3 3 1 1 3 2 3 1 1 1 1 1 1 1 1 1 3 3 1 2 1 2 2 2 1 3
##  [6301] 3 3 2 1 1 1 1 3 2 3 2 2 1 1 1 3 3 1 2 2 3 1 1 3 2 1 1 3 1 3 2 2 2 3 2 3
##  [6337] 2 2 2 2 1 1 3 2 1 1 2 3 1 2 1 1 1 2 2 3 2 2 2 3 3 3 2 1 3 3 3 1 1 1 1 1
##  [6373] 2 2 2 3 3 1 3 2 2 3 3 1 1 3 1 2 1 2 1 3 3 2 2 1 3 3 2 2 1 1 2 1 2 2 1 2
##  [6409] 2 2 3 1 2 2 3 1 3 1 3 2 3 2 2 3 3 3 1 1 1 2 1 3 1 3 1 3 3 3 2 3 3 3 1 2
##  [6445] 1 2 2 1 3 1 2 2 3 1 3 3 2 2 2 3 1 2 1 1 3 2 3 2 3 2 1 2 1 2 2 2 1 1 1 2
##  [6481] 1 3 3 2 3 2 3 2 3 1 3 2 2 3 2 2 3 1 2 2 3 2 1 1 2 3 1 3 3 3 3 3 2 2 1 1
##  [6517] 1 3 3 3 3 1 2 3 3 1 1 2 2 3 1 1 3 2 2 1 2 2 1 1 1 3 2 1 2 2 2 3 1 1 3 2
##  [6553] 1 1 3 3 1 1 1 1 3 1 3 2 3 1 2 1 1 3 1 2 2 2 1 3 3 2 2 2 2 2 2 2 1 1 1 3
##  [6589] 1 1 3 2 1 2 2 3 2 3 2 3 3 2 2 1 3 2 2 2 1 2 1 1 2 2 1 2 1 2 2 1 3 2 1 2
##  [6625] 1 3 3 2 2 3 3 1 2 3 2 3 3 2 1 3 2 1 3 3 1 2 1 3 2 3 1 2 3 2 1 2 2 1 1 3
##  [6661] 1 1 2 1 1 3 3 1 3 2 1 1 1 2 2 1 3 1 2 3 1 1 3 1 2 1 3 1 1 3 2 3 2 2 1 2
##  [6697] 3 2 1 1 3 1 1 2 3 2 3 1 1 2 3 1 1 2 2 2 3 3 1 3 2 2 1 1 1 1 2 3 2 3 2 2
##  [6733] 2 3 1 3 1 3 1 1 2 1 1 2 3 1 3 1 2 3 1 3 2 2 1 2 3 3 3 1 3 2 2 2 3 1 3 3
##  [6769] 1 1 1 2 2 2 2 1 2 3 1 1 2 2 3 2 1 3 1 3 3 1 1 1 3 1 3 3 2 1 1 2 3 2 3 3
##  [6805] 3 3 2 2 3 3 3 2 3 2 2 2 3 1 2 1 2 2 2 3 3 1 3 1 3 2 1 1 1 1 2 2 1 1 1 2
##  [6841] 3 1 2 2 1 2 3 3 3 3 1 3 1 1 2 1 3 3 3 3 2 1 2 3 3 3 1 1 1 2 1 2 1 2 2 3
##  [6877] 3 2 1 3 3 2 3 1 1 2 1 2 2 2 3 1 1 2 1 1 3 2 2 3 1 1 1 1 3 1 1 1 2 1 2 2
##  [6913] 1 3 3 1 2 3 1 3 3 1 2 2 3 3 3 3 1 2 3 3 1 3 3 2 2 3 1 3 1 2 1 1 1 1 1 1
##  [6949] 2 3 1 1 2 3 3 3 2 1 1 1 2 2 3 2 2 1 1 3 3 3 2 1 2 2 2 2 2 1 3 1 3 3 2 1
##  [6985] 2 3 1 2 2 2 2 2 3 3 3 3 3 1 1 3 1 1 3 1 3 1 2 3 3 1 2 1 3 1 1 3 1 3 2 3
##  [7021] 2 2 1 1 1 3 2 1 3 1 2 2 1 1 3 1 1 1 1 3 3 2 2 2 2 1 1 2 3 1 3 3 1 3 2 1
##  [7057] 1 2 1 2 1 3 1 2 2 3 2 3 1 2 2 2 2 3 1 1 1 3 2 1 2 1 1 3 1 2 2 3 3 1 1 3
##  [7093] 3 2 3 3 2 2 2 2 3 1 1 1 1 3 3 3 1 3 1 3 1 3 1 1 3 2 2 1 2 1 1 1 2 1 3 2
##  [7129] 1 3 2 3 3 2 3 1 2 3 2 2 1 3 1 3 3 2 3 1 2 2 3 1 3 3 1 2 1 2 2 3 2 3 3 3
##  [7165] 3 2 2 1 2 3 2 3 2 2 2 3 1 3 1 2 2 1 1 1 1 2 2 3 1 3 2 2 1 2 3 2 3 1 2 2
##  [7201] 3 2 3 3 3 2 2 1 2 1 1 2 2 2 2 2 1 3 3 1 3 3 3 3 3 3 3 3 2 1 1 2 1 2 3 1
##  [7237] 2 1 3 2 1 1 3 3 1 2 3 2 2 2 2 3 1 3 3 1 2 1 2 2 3 1 1 2 1 2 3 2 1 3 1 1
##  [7273] 3 2 2 3 3 3 2 3 3 1 2 1 2 1 1 3 2 1 1 1 2 3 2 1 2 2 3 3 2 1 3 2 1 1 1 1
##  [7309] 2 3 2 3 3 2 1 3 1 1 1 1 1 3 2 2 2 3 3 2 3 1 3 2 2 3 3 2 3 2 3 2 1 3 3 1
##  [7345] 3 1 1 3 2 1 1 2 1 2 3 1 1 3 1 1 2 3 2 2 3 3 1 2 3 2 1 3 3 3 1 1 2 1 2 1
##  [7381] 3 3 2 2 3 1 3 1 3 3 2 2 2 1 2 2 3 2 1 2 2 2 3 1 2 3 1 3 2 1 2 3 3 1 2 3
##  [7417] 2 2 3 2 1 1 3 3 3 3 3 1 3 1 3 2 1 3 2 3 2 2 3 3 2 3 3 1 2 1 1 1 2 2 3 3
##  [7453] 3 3 2 1 2 2 3 3 2 3 2 3 2 3 2 1 2 2 2 2 2 2 2 1 1 2 1 2 2 2 2 2 3 2 3 1
##  [7489] 1 2 3 2 1 1 1 2 2 3 3 2 1 2 3 1 2 1 2 3 2 3 2 2 3 3 3 2 1 3 3 2 2 2 3 2
##  [7525] 2 2 2 3 1 1 3 2 3 3 3 1 2 1 2 2 3 1 2 2 2 2 1 2 2 1 2 1 2 2 1 3 2 2 3 1
##  [7561] 1 3 2 3 1 2 3 1 1 2 1 2 3 1 1 1 1 3 2 3 3 3 1 3 1 3 1 3 2 2 1 1 3 3 1 3
##  [7597] 2 2 2 1 1 1 3 1 2 1 2 1 1 1 2 2 1 1 2 1 2 2 3 2 3 1 3 1 3 2 3 2 3 2 1 3
##  [7633] 2 2 3 1 3 3 1 1 1 2 1 3 3 2 1 1 3 3 1 1 3 1 1 2 3 1 2 2 1 1 3 1 2 1 3 1
##  [7669] 3 3 3 3 2 1 3 1 1 3 2 2 3 1 1 3 3 3 1 3 2 2 2 1 3 2 1 1 3 1 3 1 3 3 3 3
##  [7705] 3 3 3 1 3 3 2 2 1 3 2 2 3 3 1 2 2 2 1 1 2 1 2 3 1 2 1 1 1 1 2 2 3 3 3 3
##  [7741] 1 2 2 2 1 2 1 3 2 3 3 3 3 1 3 2 3 1 2 3 2 3 2 1 3 2 1 3 1 2 3 1 1 3 3 3
##  [7777] 1 1 3 1 1 2 1 3 1 3 3 1 1 1 1 3 2 1 1 2 3 3 2 1 3 2 2 3 3 1 3 1 2 2 2 3
##  [7813] 1 1 1 2 1 1 2 1 3 3 1 3 2 2 2 2 2 2 2 2 3 1 3 3 2 1 1 1 2 3 3 2 2 3 3 1
##  [7849] 3 3 1 1 2 1 1 3 3 3 2 1 3 3 2 2 1 2 3 2 3 1 3 3 1 3 3 1 1 3 3 3 2 1 1 1
##  [7885] 3 3 2 1 2 1 2 1 3 2 1 1 1 1 1 3 2 2 1 2 2 2 1 1 1 3 1 2 1 1 3 3 2 2 3 2
##  [7921] 1 1 3 1 3 3 1 3 2 3 3 1 2 2 2 1 2 3 1 1 1 1 2 3 3 1 3 2 1 3 2 3 2 1 2 1
##  [7957] 2 3 1 3 1 2 1 2 2 3 3 1 2 3 3 3 3 2 1 1 2 3 3 1 3 2 3 3 3 1 1 1 1 3 1 1
##  [7993] 2 2 1 2 1 1 3 1 2 2 1 1 2 2 3 2 3 3 2 3 3 1 3 2 2 2 3 3 2 1 3 1 2 2 3 2
##  [8029] 1 1 2 2 1 1 1 1 2 2 2 2 1 3 2 3 2 1 2 3 1 2 3 2 1 3 3 1 2 1 1 2 3 1 2 3
##  [8065] 2 3 1 3 1 1 3 2 1 1 1 1 1 3 3 3 3 2 1 2 1 2 3 3 2 3 2 3 2 3 3 2 2 1 3 2
##  [8101] 3 2 3 3 3 3 2 1 1 2 1 3 2 1 1 2 3 3 2 1 1 1 2 1 1 3 1 1 3 2 2 1 1 2 1 2
##  [8137] 1 2 1 2 1 1 1 3 2 2 2 1 1 1 1 2 2 3 2 3 2 3 2 1 1 2 2 1 3 3 1 3 1 1 2 2
##  [8173] 3 2 2 2 2 2 3 3 2 2 1 1 3 3 1 3 2 2 3 3 3 3 1 1 2 2 3 1 2 3 1 3 3 3 1 2
##  [8209] 2 1 2 1 1 3 2 2 2 3 1 2 1 2 3 2 2 1 2 3 1 1 1 1 1 1 3 1 1 2 1 2 2 3 2 1
##  [8245] 1 2 3 3 3 1 3 1 2 3 3 3 2 1 2 1 3 1 1 1 3 1 2 3 1 1 1 3 3 2 2 3 2 3 2 2
##  [8281] 2 2 3 2 1 3 3 2 3 3 1 1 3 3 2 2 3 3 3 1 2 2 1 1 3 2 3 3 1 3 2 1 1 1 3 1
##  [8317] 1 2 1 3 2 2 1 3 1 1 2 2 3 3 1 2 3 2 2 2 1 2 3 1 3 1 1 1 3 2 2 3 3 3 2 2
##  [8353] 3 1 2 1 2 2 1 2 1 3 3 2 1 1 2 1 3 2 2 3 2 1 2 2 3 2 3 3 1 3 1 3 1 3 2 3
##  [8389] 2 2 1 3 1 1 3 1 3 2 1 2 1 1 1 1 1 1 2 2 1 2 1 1 2 3 1 3 3 1 1 3 3 1 2 1
##  [8425] 2 2 2 1 3 3 1 1 3 2 3 2 3 2 3 1 2 3 2 2 1 3 2 3 2 3 3 3 3 2 3 2 3 1 2 2
##  [8461] 3 1 3 1 3 3 3 2 2 2 2 1 2 2 1 3 3 3 1 1 2 1 2 2 1 2 3 3 1 2 2 1 2 2 3 1
##  [8497] 1 1 3 3 1 2 3 1 2 2 2 2 3 2 2 1 1 1 1 1 3 3 1 3 3 2 2 1 3 3 1 3 2 3 3 1
##  [8533] 1 2 3 1 1 2 3 3 3 3 3 2 3 1 2 1 1 3 1 3 2 2 2 2 1 3 2 2 1 1 2 3 1 3 1 2
##  [8569] 2 3 2 3 3 2 2 1 3 2 2 1 1 3 1 3 3 2 3 1 2 3 1 1 1 3 2 3 2 2 2 3 1 1 2 2
##  [8605] 3 2 3 2 3 2 3 1 1 3 2 1 1 2 1 2 3 2 2 2 2 2 2 3 3 2 1 3 1 3 2 2 1 2 1 1
##  [8641] 2 2 2 2 1 2 2 1 1 3 2 3 1 2 1 1 3 2 1 1 2 3 2 1 1 3 2 3 2 3 3 3 2 2 3 3
##  [8677] 3 3 2 1 3 2 2 2 1 1 1 2 3 1 3 2 1 1 2 3 3 1 2 3 3 1 2 2 3 1 2 1 1 2 3 3
##  [8713] 1 2 2 3 2 2 3 3 3 3 2 3 3 1 3 3 1 1 3 1 1 3 3 1 3 1 3 3 2 1 2 3 2 2 3 1
##  [8749] 1 2 3 2 1 1 1 1 3 3 1 1 3 1 2 3 1 2 3 2 3 1 2 1 3 1 3 3 3 2 3 3 2 3 3 2
##  [8785] 3 1 2 3 2 3 2 3 2 1 3 2 2 3 1 2 1 2 2 2 3 3 1 3 2 2 3 3 3 1 2 1 3 1 1 1
##  [8821] 1 1 1 3 1 3 1 2 3 3 3 3 1 3 1 1 1 3 2 1 2 1 2 2 3 3 3 3 1 1 2 2 3 2 3 1
##  [8857] 1 2 2 2 2 1 1 1 3 1 1 1 2 1 1 1 1 1 1 1 3 1 1 2 1 1 3 2 3 3 2 3 3 2 1 3
##  [8893] 2 3 2 1 1 3 1 1 3 2 1 3 2 2 3 1 3 3 3 1 1 2 3 1 2 3 1 1 1 1 3 1 1 3 1 3
##  [8929] 1 1 1 2 1 3 1 1 2 3 1 1 1 2 2 2 1 1 3 3 2 3 2 1 3 1 2 2 1 1 2 3 3 1 2 2
##  [8965] 1 1 3 2 1 1 3 3 2 2 1 2 3 1 1 2 3 2 1 3 1 2 2 3 1 2 1 2 1 1 1 1 2 3 3 1
##  [9001] 1 3 3 1 3 2 2 2 2 3 2 3 3 3 3 3 3 1 1 3 1 1 1 2 3 2 2 1 2 2 1 1 1 3 1 2
##  [9037] 3 1 1 1 3 2 3 3 2 1 1 1 1 3 2 2 1 1 3 2 1 2 3 3 3 3 3 3 2 2 2 3 1 2 2 1
##  [9073] 3 2 1 1 3 2 2 3 3 1 3 3 2 3 1 3 2 2 1 2 1 3 2 1 2 2 3 2 3 1 1 2 1 1 3 3
##  [9109] 1 2 3 2 3 2 2 2 2 3 3 1 2 2 1 2 3 1 3 2 3 1 1 3 1 2 1 3 2 2 1 2 2 2 2 1
##  [9145] 1 2 1 2 3 2 2 1 2 1 1 1 3 3 1 3 3 1 3 1 1 1 1 3 2 1 1 1 2 2 2 3 1 3 3 1
##  [9181] 1 2 2 2 3 3 2 2 3 1 3 2 2 3 1 2 1 2 1 2 2 3 2 3 1 1 1 1 2 3 2 2 1 2 1 3
##  [9217] 2 2 3 1 2 2 3 1 3 1 3 1 2 3 1 1 3 2 1 3 3 3 3 3 1 3 1 2 2 2 1 1 3 3 2 1
##  [9253] 2 3 3 3 1 1 3 1 1 2 2 3 3 1 1 2 2 1 2 2 3 3 3 2 1 2 3 2 2 2 2 2 1 3 2 3
##  [9289] 2 3 3 1 3 2 3 3 3 2 2 1 2 2 3 3 3 3 3 1 1 2 3 3 1 3 2 1 2 1 1 1 1 2 3 2
##  [9325] 2 1 2 1 2 2 2 3 3 3 1 2 2 1 1 3 3 2 3 1 3 3 1 2 1 3 2 2 2 3 1 3 2 1 1 1
##  [9361] 3 2 2 3 2 2 1 3 1 3 3 1 3 2 1 3 1 2 3 3 1 2 2 3 3 3 2 3 2 1 1 1 2 1 3 3
##  [9397] 2 3 1 1 2 3 2 1 2 2 1 3 1 1 3 3 3 1 3 3 1 2 3 3 1 2 1 1 2 1 1 3 3 2 2 1
##  [9433] 2 1 1 3 1 3 2 1 3 1 3 2 2 2 3 3 2 3 2 3 1 2 1 1 3 1 1 1 1 3 2 3 1 3 1 2
##  [9469] 3 1 2 3 2 3 1 3 2 2 3 3 3 3 1 3 3 1 2 2 2 3 1 3 3 3 1 1 3 1 1 3 2 1 2 2
##  [9505] 1 1 1 1 3 1 3 3 2 1 3 3 1 3 1 3 1 3 2 3 3 3 2 3 2 1 2 1 3 1 1 1 1 2 1 3
##  [9541] 2 3 1 3 1 2 3 3 2 3 1 3 3 1 1 2 2 1 3 1 3 3 1 1 1 2 1 3 2 3 1 1 1 2 2 3
##  [9577] 1 3 3 2 1 1 2 3 2 2 2 3 1 1 1 2 1 3 2 3 2 2 2 3 2 2 2 1 3 3 1 2 3 3 3 2
##  [9613] 1 3 1 3 2 3 3 1 2 1 1 1 1 3 2 2 3 1 3 2 1 2 1 3 1 2 2 1 2 1 1 3 3 2 1 2
##  [9649] 1 1 3 3 3 1 3 2 2 2 3 3 2 3 1 1 2 2 1 1 3 3 3 1 2 3 1 2 2 1 1 3 2 2 1 3
##  [9685] 2 1 2 3 3 1 1 3 2 2 3 3 2 3 1 2 3 1 2 1 2 3 1 2 1 2 3 2 1 3 1 3 2 1 2 3
##  [9721] 2 2 2 1 2 1 2 2 3 1 3 3 3 1 2 2 2 1 1 3 2 2 3 1 3 1 1 3 1 2 2 1 2 1 1 1
##  [9757] 3 1 1 1 1 2 1 1 1 2 2 2 2 1 2 2 3 1 1 1 2 2 2 1 3 2 3 1 3 1 3 1 1 3 2 2
##  [9793] 2 1 1 3 2 1 3 3 3 3 2 3 2 2 3 3 2 3 1 3 2 1 1 1 2 3 3 1 2 3 1 1 3 1 2 1
##  [9829] 1 2 2 3 1 2 3 3 3 3 3 1 3 3 2 3 1 3 2 2 3 2 1 2 1 2 2 3 2 1 2 1 1 3 3 3
##  [9865] 1 3 1 2 3 1 2 2 3 3 3 1 2 1 1 1 3 2 3 1 3 3 3 1 1 2 1 1 2 2 3 2 2 3 1 2
##  [9901] 3 2 3 3 2 3 3 2 2 1 2 3 3 2 3 3 1 2 3 3 2 2 1 2 3 3 2 1 2 1 2 2 3 3 1 3
##  [9937] 2 1 1 3 2 2 2 2 1 2 2 1 2 3 2 2 1 1 1 1 3 2 2 3 2 2 1 1 2 1 3 1 1 1 3 1
##  [9973] 2 1 1 1 2 1 3 1 1 3 1 1 2 1 1 1 1 2 1 1 1 3 2 3 3 1 1 2 1 1 3 2 3 1 1 1
## [10009] 3 2 3 2 2 3 3 2 1 1 3 1 1 3 3 2 2 1 2 1 1 1 1 3 2 1 2 1 1 1 3 3 1 3 1 3
## [10045] 2 1 3 2 1 3 1 1 3 2 1 3 3 2 3 2 3 2 2 2 3 2 1 3 2 2 1 1 1 3 3 1 3 2 1 1
## [10081] 2 2 1 2 1 2 3 1 1 2 3 1 1 1 3 3 2 3 1 2 2 3 3 3 1 2 2 2 3 1 2 3 3 1 3 1
## [10117] 1 2 1 2 1 2 3 2 2 2 1 3 1 2 2 2 2 3 1 3 3 3 3 1 3 2 3 2 1 2 2 1 2 1 2 2
## [10153] 1 1 1 2 1 2 1 3 3 1 1 1 3 1 3 1 1 1 3 1 3 3 2 1 3 1 1 3 2 2 2 3 1 1 1 2
## [10189] 1 1 3 1 2 2 3 3 1 3 1 3 3 2 3 2 3 1 2 3 3 2 1 2 3 3 1 2 2 3 1 1 2 1 2 2
## [10225] 1 3 2 3 2 2 2 1 1 3 2 2 2 2 2 1 1 1 3 2 2 2 3 2 3 3 3 2 1 3 2 3 3 2 2 3
## [10261] 1 2 3 2 1 1 1 2 1 2 2 1 3 1 3 1 2 1 1 3 1 3 1 3 3 2 1 2 1 1 2 2 2 3 1 3
## [10297] 2 1 1 1 3 1 1 2 2 2 2 1 3 1 2 1 3 1 3 1 3 2 1 2 1 2 2 3 3 2 3 3 2 3 1 1
## [10333] 1 1 2 3 2 2 3 2 3 1 1 2 1 1 1 2 1 3 3 3 1 1 2 2 1 2 3 1 1 2 2 2 2 1 1 3
## [10369] 3 1 3 1 2 3 3 3 2 2 3 3 1 3 2 2 3 3 2 2 1 2 2 1 3 1 1 2 1 2 1 3 1 2 3 2
## [10405] 3 1 1 2 2 2 1 2 1 3 3 3 1 1 2 1 2 1 1 3 2 1 1 2 2 1 2 1 2 1 2 1 3 3 3 2
## [10441] 3 1 2 3 2 2 3 2 3 1 3 1 1 2 2 2 2 1 1 3 3 1 1 1 1 3 2 2 2 1 3 1 3 3 1 2
## [10477] 1 3 1 3 3 2 3 1 3 2 2 1 2 3 2 1 3 1 3 3 3 3 2 2 1 1 1 1 3 1 1 3 2 3 2 2
## [10513] 2 2 1 1 3 1 1 1 1 2 3 1 1 2 1 2 1 2 2 2 3 3 3 1 1 3 2 3 3 1 3 2 2 3 1 3
## [10549] 2 1 2 3 2 1 2 2 2 1 3 2 1 2 2 2 3 1 3 1 1 2 2 1 3 3 2 2 1 3 3 1 2 2 1 2
## [10585] 3 3 2 2 1 3 1 1 1 3 2 2 1 2 3 2 3 2 1 1 2 1 2 2 1 3 1 2 3 2 1 3 2 1 1 3
## [10621] 3 1 2 1 1 2 3 3 1 3 2 2 3 2 1 3 3 3 3 2 3 3 3 2 1 3 1 1 2 2 2 3 3 1 3 1
## [10657] 3 2 2 2 3 3 3 2 2 1 1 1 2 1 3 2 3 2 2 2 1 3 1 2 1 1 2 2 2 3 1 2 1 3 3 3
## [10693] 2 1 2 2 1 2 3 3 2 2 1 2 3 1 1 3 3 2 2 2 1 1 2 2 1 3 3 2 1 1 2 3 1 3 2 1
## [10729] 2 3 1 1 1 1 2 1 3 1 2 1 1 2 3 3 3 1 2 3 1 3 3 1 2 3 1 3 2 2 2 2 2 2 1 3
## [10765] 1 2 3 2 3 2 3 2 1 3 3 3 2 3 2 3 3 1 1 1 3 3 2 3 1 3 2 3 2 3 3 1 1 1 3 1
## [10801] 1 2 2 3 3 2 3 2 2 1 2 2 1 1 3 3 2 2 2 1 3 2 2 1 1 2 3 1 2 2 2 2 2 3 3 1
## [10837] 1 1 3 2 2 3 2 1 3 2 3 1 3 3 2 2 2 1 3 2 3 2 3 1 1 3 1 2 1 3 2 1 2 2 2 3
## [10873] 2 1 2 3 2 2 1 2 2 2 2 2 1 3 2 3 2 1 1 2 3 3 3 3 3 2 3 3 3 2 3 3 2 1 3 1
## [10909] 2 3 1 1 3 1 2 1 3 2 2 3 1 1 1 1 1 3 2 1 2 3 1 3 3 3 2 3 1 2 2 2 3 1 1 1
## [10945] 3 3 2 1 2 2 3 2 2 3 1 1 2 2 2 3 2 1 3 1 1 2 2 2 3 3 1 3 3 2 2 1 3 1 1 1
## [10981] 2 3 3 3 2 2 1 2 2 2 2 3 1 3 2 2 2 2 2 3 2 3 1 3 3 2 2 3 1 1 3 1 3 2 1 1
## [11017] 3 2 2 3 3 2 1 1 3 3 2 1 3 1 1 1 3 2 3 1 3 3 3 2 1 2 1 3 2 1 2 1 2 3 3 2
## [11053] 1 1 2 2 3 2 3 2 3 3 2 3 1 1 3 1 3 3 1 1 2 1 3 2 1 2 2 1 2 3 1 2 2 3 3 3
## [11089] 1 1 3 2 3 3 2 3 2 3 3 2 3 1 3 2 1 1 3 1 3 3 1 1 2 1 3 2 1 3 2 1 1 1 2 1
## [11125] 1 2 2 2 2 3 3 2 3 3 1 2 2 3 3 3 1 3 3 1 2 1 1 3 3 2 2 3 3 2 3 3 1 2 2 3
## [11161] 3 1 3 3 1 1 1 2 1 3 2 1 1 1 3 1 2 2 1 3 3 1 3 3 2 3 2 2 2 1 3 1 2 1 1 3
## [11197] 2 2 1 2 1 3 3 1 1 1 2 2 3 2 3 2 2 1 2 2 1 2 3 2 2 3 3 1 1 2 1 1 3 3 2 3
## [11233] 3 1 1 3 3 3 3 2 1 1 3 3 1 1 3 1 1 1 3 1 1 2 2 3 2 2 1 1 1 2 2 2 1 2 2 3
## [11269] 1 2 2 2 2 1 2 2 1 1 2 3 3 2 1 3 1 3 2 3 2 2 1 1 1 1 3 3 2 2 1 3 1 1 2 2
## [11305] 2 2 2 3 3 2 3 3 3 1 2 2 1 3 3 3 3 2 3 2 3 1 2 1 2 2 1 2 2 3 2 2 2 1 3 3
## [11341] 3 2 2 1 1 2 1 2 1 1 2 2 1 2 1 3 3 3 1 2 1 2 3 3 3 3 2 3 3 2 1 3 3 3 3 2
## [11377] 2 3 3 3 2 2 3 2 1 2 2 3 3 2 2 3 3 3 2 2 3 1 3 1 2 2 2 1 2 3 1 3 3 1 1 1
## [11413] 2 2 3 1 1 1 2 3 2 1 1 1 1 3 3 1 2 2 1 2 2 3 3 3 3 3 2 1 3 2 2 3 1 2 1 3
## [11449] 2 1 2 2 3 2 1 2 3 1 3 3 2 1 2 2 2 1 3 1 1 2 3 2 2 1 2 1 1 3 2 1 1 1 2 1
## [11485] 2 1 1 2 3 3 2 2 3 1 3 1 3 1 3 3 1 3 3 3 1 2 3 2 2 2 3 2 3 3 3 3 3 2 1 3
## [11521] 1 3 2 1 3 2 1 1 1 3 3 1 2 3 3 1 1 3 2 3 1 3 3 2 2 3 3 3 3 2 3 1 1 1 3 2
## [11557] 3 2 2 1 2 3 1 2 2 1 2 1 1 3 3 2 3 3 2 1 1 1 3 3 3 2 2 3 1 2 1 1 1 1 1 3
## [11593] 1 1 3 3 2 3 1 3 3 1 1 2 1 2 3 3 3 2 2 1 1 3 3 3 1 2 3 1 1 3 3 2 3 3 1 1
## [11629] 2 2 1 3 3 2 1 2 1 3 1 3 2 3 2 2 3 1 3 2 1 1 2 3 3 2 1 1 2 2 1 3 2 3 3 1
## [11665] 2 1 2 1 3 3 3 3 3 3 3 2 1 2 1 3 1 2 2 2 3 2 2 1 2 3 3 2 3 3 3 2 2 3 1 1
## [11701] 1 3 2 1 2 2 2 3 1 1 3 2 1 3 3 2 3 3 2 2 2 2 3 2 1 3 1 3 2 1 1 2 1 1 1 2
## [11737] 3 3 2 2 3 3 1 1 1 1 2 3 2 2 1 2 3 1 1 1 1 1 3 1 1 2 2 1 2 2 3 2 3 2 2 2
## [11773] 1 2 2 3 3 1 1 3 3 2 1 2 1 3 1 1 3 3 3 3 2 2 3 3 1 2 2 3 3 3 2 1 1 2 3 2
## [11809] 3 1 1 3 1 3 1 2 2 2 2 2 2 1 3 2 2 3 3 2 1 1 3 2 3 1 1 3 2 2 3 1 1 3 2 2
## [11845] 1 1 1 1 3 2 1 3 1 1 2 2 1 1 1 2 3 2 1 1 3 1 2 2 3 3 2 2 1 1 3 2 1 2 1 2
## [11881] 3 2 2 2 3 1 3 1 3 1 2 3 1 2 2 1 1 3 3 1 3 1 3 3 1 3 2 3 2 1 3 1 3 2 2 1
## [11917] 2 1 2 3 3 3 2 2 3 1 2 2 2 2 3 2 1 3 2 2 1 2 1 2 2 3 2 2 2 3 1 2 1 1 2 3
## [11953] 3 3 3 2 2 1 3 1 1 1 3 3 3 1 2 1 1 3 3 2 1 2 3 2 1 2 2 3 1 3 1 1 2 2 1 3
## [11989] 3 3 1 2 3 1 1 2 3 1 1 2 1 2 3 2 3 1 1 3 3 2 3 3 1 1 1 1 3 3 1 3 2 3 2 2
## [12025] 1 3 1 1 3 3 1 1 3 1 2 3 1 1 1 1 3 2 1 3 3 1 2 3 3 1 2 3 2 1 3 3 2 2 1 1
## [12061] 1 3 3 1 1 2 1 1 1 2 3 3 1 1 1 2 3 1 2 2 2 1 2 1 3 2 2 3 2 3 1 1 1 1 2 3
## [12097] 2 1 2 1 1 3 3 2 3 1 1 1 3 3 3 1 3 3 3 3 1 2 1 2 1 3 2 2 3 1 3 2 3 2 2 3
## [12133] 1 1 1 2 2 2 1 2 3 3 2 3 1 3 3 3 1 3 2 1 3 1 1 2 1 3 2 1 1 3 3 2 3 3 1 2
## [12169] 2 3 2 1 3 3 3 1 3 2 2 3 2 2 2 3 3 2 3 1 3 2 2 1 1 1 1 2 3 2 1 2 3 3 1 2
## [12205] 1 2 2 3 3 3 2 3 3 3 1 3 1 2 3 3 3 2 3 2 3 3 1 1 1 1 3 2 1 1 3 1 1 2 3 3
## [12241] 2 1 3 3 1 2 3 3 1 3 2 2 1 3 1 3 3 1 3 1 2 1 3 3 2 1 3 1 2 3 1 3 3 2 2 3
## [12277] 1 3 2 2 2 1 2 1 2 2 3 2 1 1 1 3 3 2 3 3 2 3 3 2 1 1 1 1 1 2 1 2 2 3 2 1
## [12313] 1 2 1 1 3 2 3 3 1 1 1 1 2 2 3 2 2 1 1 3 3 3 1 2 1 3 3 1 1 3 2 2 2 3 1 1
## [12349] 3 1 2 2 3 1 1 1 1 3 3 2 3 1 2 3 1 2 2 2 2 3 1 1 3 2 2 1 1 1 1 3 2 2 2 3
## [12385] 1 3 2 1 2 2 3 3 3 2 2 2 1 1 3 2 2 3 2 1 1 2 2 1 1 3 2 3 3 3 2 2 1 2 1 3
## [12421] 1 3 3 1 3 3 2 1 3 2 3 1 3 2 3 1 3 1 1 3 1 3 1 2 2 2 2 2 3 1 2 2 1 3 1 3
## [12457] 1 3 1 2 1 2 3 2 1 2 3 1 1 1 1 2 1 2 2 1 3 3 2 1 2 2 3 3 1 2 3 1 3 1 1 1
## [12493] 2 3 2 3 2 2 2 3 1 1 1 3 2 1 3 1 1 2 3 1 3 1 3 1 1 2 3 1 3 1 1 2 1 1 1 3
## [12529] 1 2 1 1 1 1 3 1 3 3 2 2 3 3 2 2 3 2 2 2 3 2 3 3 2 1 1 3 2 1 3 1 3 1 3 1
## [12565] 1 3 3 2 3 1 2 1 3 1 1 1 2 3 2 1 3 1 3 2 1 3 1 2 3 1 1 3 3 1 1 1 2 1 3 2
## [12601] 2 2 1 3 3 3 2 2 1 3 2 3 3 2 2 1 1 3 1 3 2 2 3 2 3 2 3 3 2 2 2 3 2 2 3 3
## [12637] 1 2 1 1 2 2 3 2 1 3 1 3 1 3 2 1 1 2 1 2 2 2 1 1 1 1 3 1 3 2 1 2 3 3 2 2
## [12673] 1 1 1 2 3 3 1 1 3 2 1 3 2 3 3 2 3 2 1 1 2 2 1 2 1 2 3 1 1 3 2 2 3 3 3 1
## [12709] 3 1 1 3 2 1 2 3 2 3 3 3 3 2 1 2 1 2 1 1 3 1 2 1 2 1 1 1 2 3 3 1 3 2 1 2
## [12745] 1 3 1 1 2 2 3 1 3 1 2 2 3 3 3 3 2 1 2 1 1 3 2 1 1 1 3 3 1 3 2 3 2 2 1 3
## [12781] 1 1 3 1 2 2 3 2 1 1 3 2 3 1 1 3 1 1 3 3 2 3 2 2 1 2 3 1 2 2 2 3 3 3 3 3
## [12817] 1 3 3 2 1 3 1 3 3 3 1 1 1 2 3 3 3 1 3 1 3 1 1 1 3 2 2 3 2 1 2 1 2 3 1 2
## [12853] 1 3 3 3 2 2 1 1 3 1 3 2 2 3 1 1 3 1 3 2 1 2 2 1 3 1 3 1 3 3 1 3 3 2 1 1
## [12889] 2 2 2 3 2 3 3 1 2 2 2 3 1 1 1 2 3 2 3 2 1 3 3 3 3 2 2 3 3 3 3 1 1 3 1 2
## [12925] 1 2 3 2 3 3 3 3 2 3 2 2 2 1 1 2 3 1 3 2 2 1 2 2 3 2 3 2 1 1 3 1 2 2 2 1
## [12961] 2 1 2 1 2 1 3 1 1 1 3 3 2 3 1 1 2 1 1 1 3 3 2 1 3 2 2 2 2 2 2 1 1 3 1 3
## [12997] 2 1 2 2 2 2 2 2 2 3 2 2 1 2 1 1 2 2 2 3 2 1 3 2 2 2 1 2 2 2 3 2 1 3 3 1
## [13033] 1 3 3 1 1 2 2 2 2 3 3 1 3 2 3 1 1 1 2 1 2 3 3 3 3 2 2 1 2 3 2 2 1 1 2 1
## [13069] 1 3 3 2 1 3 2 1 1 2 3 2 2 1 2 3 1 2 3 3 3 1 1 3 3 3 1 3 3 3 2 1 2 2 1 1
## [13105] 3 1 3 1 3 3 3 3 3 2 3 3 2 2 2 3 2 2 1 3 1 2 2 3 1 1 3 3 3 3 3 1 3 1 2 3
## [13141] 2 2 3 1 3 1 3 1 3 1 2 3 1 2 1 3 1 2 1 1 1 2 2 3 2 3 1 2 2 2 3 3 1 3 2 3
## [13177] 2 3 1 3 3 3 1 3 1 2 3 2 3 1 2 2 1 3 1 3 2 3 3 1 1 2 3 2 2 2 3 1 1 2 1 3
## [13213] 3 3 2 2 2 1 1 3 3 1 3 3 3 1 3 1 1 2 3 1 2 2 1 2 3 2 3 1 2 2 2 1 1 2 2 3
## [13249] 1 3 3 3 1 3 2 1 1 1 1 2 3 3 3 1 3 3 1 1 1 3 1 3 1 3 1 1 3 3 1 2 3 2 2 2
## [13285] 1 1 3 2 1 1 2 3 2 1 2 3 1 1 1 3 2 3 2 3 1 3 2 3 2 1 1 3 3 1 1 1 3 2 2 2
## [13321] 1 2 1 3 3 3 3 1 1 3 2 3 3 1 2 2 1 2 2 3 3 3 3 3 2 2 3 3 3 2 1 3 1 1 2 1
## [13357] 2 3 3 1 1 2 1 1 2 3 2 2 1 3 1 2 2 2 3 1 2 3 1 1 2 1 1 1 1 1 1 3 3 3 3 3
## [13393] 3 2 2 3 2 1 2 2 1 1 2 2 2 1 1 2 3 1 3 2 3 2 3 2 3 2 3 2 2 2 1 2 2 3 3 3
## [13429] 1 2 2 3 1 1 1 1 1 2 1 2 3 1 3 2 3 1 2 3 1 2 3 3 2 1 2 3 2 2 1 3 2 1 2 1
## [13465] 3 2 3 1 1 1 1 1 3 2 2 3 1 3 3 2 2 3 1 3 1 1 1 3 2 2 2 2 1 3 3 2 3 2 2 1
## [13501] 3 2 3 3 3 2 3 1 3 1 3 3 1 3 3 1 2 1 1 3 1 3 2 1 1 3 2 1 1 3 2 1 2 3 2 2
## [13537] 3 2 2 3 2 2 2 3 1 3 2 2 2 2 3 3 1 2 1 2 3 3 2 1 1 3 2 1 1 3 1 2 2 1 3 2
## [13573] 1 3 3 3 2 3 2 2 3 1 1 2 3 2 2 2 2 2 2 2 3 2 2 2 1 3 2 3 2 2 3 2 2 3 1 1
## [13609] 1 2 1 3 3 1 3 3 1 1 2 3 3 3 3 1 3 3 2 1 1 3 1 3 2 2 3 1 2 1 3 2 3 2 2 1
## [13645] 2 2 1 1 3 1 3 1 3 2 1 1 2 2 2 2 3 3 2 1 2 1 3 1 2 3 1 2 3 2 2 1 3 3 3 3
## [13681] 1 2 2 1 2 1 3 3 2 2 3 3 2 1 2 3 3 3 2 3 1 2 1 1 2 3 2 2 2 1 2 2 1 1 1 2
## [13717] 3 1 3 3 3 2 1 3 1 3 1 2 1 3 3 1 2 3 3 1 2 2 3 3 2 3 1 2 3 3 3 3 3 1 1 1
## [13753] 3 3 2 1 2 3 2 1 3 3 3 2 2 3 3 2 1 3 3 1 3 3 3 1 2 1 2 1 3 3 3 1 2 2 2 1
## [13789] 2 1 1 3 2 2 2 1 2 1 3 3 1 2 1 3 3 1 2 3 2 2 2 1 2 3 3 1 1 3 1 2 3 3 3 3
## [13825] 2 2 3 3 3 2 2 3 1 1 1 1 3 2 1 1 1 1 1 3 1 3 3 2 2 1 3 1 1 1 2 3 3 3 3 3
## [13861] 1 3 3 1 1 2 2 1 2 3 1 1 1 1 3 2 2 1 3 1 1 2 3 2 2 3 1 3 2 3 1 2 2 3 2 2
## [13897] 1 2 3 3 3 1 2 3 1 3 1 1 2 2 2 1 2 3 1 3 1 3 3 1 3 2 3 2 1 1 2 3 2 2 2 1
## [13933] 3 1 1 2 1 3 1 3 1 2 1 2 2 2 2 1 1 2 2 3 1 3 1 1 2 2 2 2 1 2 3 2 2 2 1 3
## [13969] 3 1 1 1 2 3 2 2 2 1 3 1 3 1 3 1 1 1 2 3 3 3 1 1 3 3 1 2 3 1 1 3 1 3 1 3
## [14005] 1 3 2 3 2 3 3 3 1 2 2 2 1 2 2 2 1 2 2 3 3 1 2 3 1 1 2 2 1 2 3 3 2 3 3 1
## [14041] 2 3 2 3 2 2 1 2 2 3 1 1 1 2 3 3 2 1 3 2 3 2 3 2 1 1 1 1 2 2 3 3 2 3 2 3
## [14077] 2 3 1 1 3 2 1 2 3 1 3 2 2 2 3 2 1 1 3 1 2 3 1 1 1 2 3 3 3 3 1 3 1 2 3 2
## [14113] 2 1 1 2 3 3 3 3 3 2 3 2 2 2 1 1 2 3 1 2 3 1 2 2 3 3 2 2 3 3 2 1 3 2 1 3
## [14149] 2 3 3 3 2 3 1 2 3 2 2 2 2 3 1 1 1 2 2 2 3 3 1 2 1 1 1 3 1 2 3 2 2 3 1 2
## [14185] 2 2 3 3 1 2 3 1 3 1 1 3 3 2 3 3 1 1 2 3 3 1 1 3 2 1 2 1 2 1 3 3 1 3 1 2
## [14221] 1 1 1 2 1 1 3 3 3 1 2 2 3 3 2 3 3 1 3 2 3 2 2 1 2 1 3 3 3 1 3 1 3 1 3 1
## [14257] 2 1 2 2 3 3 1 1 1 3 1 3 3 1 1 1 3 2 3 1 3 3 2 2 2 1 1 2 2 3 3 1 2 2 3 1
## [14293] 1 3 2 3 3 2 2 3 2 3 1 1 2 3 2 3 2 2 2 3 3 2 3 3 3 1 1 3 3 2 1 2 2 3 3 3
## [14329] 2 2 3 3 1 1 2 2 1 1 2 3 1 3 2 3 3 2 2 1 1 1 2 1 1 3 1 2 3 3 2 3 3 3 1 1
## [14365] 2 1 2 1 3 2 1 3 2 2 2 3 2 1 3 3 3 1 1 3 3 2 2 3 2 1 2 1 1 2 1 2 2 1 1 3
## [14401] 1 3 1 1 3 3 1 3 3 3 2 1 1 1 1 3 3 1 3 1 2 3 1 1 3 3 3 2 1 1 3 3 1 1 3 2
## [14437] 1 2 2 1 2 3 1 1 1 2 1 2 2 3 2 2 3 1 3 3 2 1 3 1 3 2 1 1 2 3 1 2 3 2 2 3
## [14473] 2 2 3 1 1 1 2 1 1 2 1 1 2 3 3 1 2 2 3 1 2 2 3 1 2 3 1 1 1 1 2 1 2 2 3 2
## [14509] 2 1 3 1 1 2 3 2 3 2 3 2 1 3 2 1 1 2 1 3 1 2 3 3 2 1 3 3 1 2 2 2 2 2 1 2
## [14545] 2 2 3 1 3 3 1 2 3 1 2 2 1 2 3 3 2 1 1 2 3 1 1 1 3 3 1 1 2 1 1 2 2 1 1 2
## [14581] 1 2 3 2 1 1 1 2 1 3 3 2 1 2 2 2 1 3 3 3 1 1 2 2 3 1 3 1 2 1 1 2 1 1 3 2
## [14617] 3 3 2 3 3 3 2 3 1 1 2 3 2 1 3 2 2 1 2 3 3 1 3 3 2 3 1 3 2 1 2 2 3 2 1 3
## [14653] 2 2 1 3 3 1 3 1 2 2 1 1 2 2 2 2 2 1 3 3 1 1 2 3 1 2 1 1 3 1 2 3 3 3 2 3
## [14689] 2 2 3 3 1 3 3 1 1 2 3 3 3 3 2 1 3 1 2 2 3 1 1 1 1 3 3 1 1 1 2 3 3 2 1 3
## [14725] 3 1 3 1 1 3 1 2 3 3 1 1 1 2 2 1 3 3 3 3 2 1 1 2 1 3 2 2 2 2 2 1 1 1 2 3
## [14761] 1 1 2 2 2 2 1 1 1 1 2 3 3 2 2 3 2 2 1 3 1 2 1 3 2 3 2 1 2 1 2 3 1 2 1 1
## [14797] 2 3 2 2 2 1 2 1 2 2 2 2 2 2 3 2 2 3 1 1 1 1 3 2 2 3 3 3 2 3 1 2 2 2 3 1
## [14833] 2 1 1 1 2 3 2 1 1 1 2 3 1 1 3 2 1 3 1 2 1 1 2 1 1 1 1 1 3 2 2 2 2 3 3 1
## [14869] 3 1 3 3 2 2 3 2 2 3 1 1 1 3 3 2 1 2 2 1 3 2 1 3 1 1 3 2 3 3 2 1 1 1 3 3
## [14905] 3 3 2 1 3 2 2 3 3 3 2 3 1 1 1 3 2 3 1 2 3 3 2 3 2 1 3 3 3 3 1 2 2 3 1 2
## [14941] 1 3 2 3 3 3 3 2 3 3 1 3 1 2 2 2 1 1 1 3 2 2 3 2 1 1 2 3 1 2 1 2 3 2 2 3
## [14977] 3 2 3 1 1 3 2 2 1 3 1 1 1 2 3 3 2 2 3 1 2 1 2 3 1 2 3 1 1 2 3 1 2 3 3 2
## [15013] 3 2 2 1 1 1 1 1 1 2 2 1 2 3 3 3 1 3 2 1 1 2 2 3 2 1 3 3 2 1 1 1 2 3 1 1
## [15049] 3 2 1 2 3 3 3 2 1 2 2 1 2 3 1 1 3 1 3 3 3 3 3 3 2 2 2 3 2 2 3
## 
## Within cluster sum of squares by cluster:
## [1] 1.561941e+12 1.481199e+12 1.456266e+12
##  (between_SS / total_SS =  89.1 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
#Gender-based Analysis:
#Do male and female customers differ in their spending behavior or annual income? If yes, how do they differ?
# Aggregate mean Spending Score by Gender
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
spending_by_gender <- aggregate(Spending.Score ~ Gender, data = mall_customers, FUN = mean)
print(spending_by_gender)
##   Gender Spending.Score
## 1 Female       50.39765
## 2   Male       50.78275
# Aggregate mean Annual Income by Gender
income_by_gender <- aggregate(Annual.Income ~ Gender, data = mall_customers, FUN = mean)
print(income_by_gender)
##   Gender Annual.Income
## 1 Female      109902.8
## 2   Male      109585.3
#Customer Profiles:
#Can we create meaningful customer profiles based on demographic characteristics and spending behavior? What are the common traits among customers in each profile?
#Create customer profiles based on age and spending score
#Create a new column 'profile' based on age and spending score conditions
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
mall_customers$profile <- ifelse(mall_customers$Age < 30 & mall_customers$Spending.Score > 60,
                                 "Young and High Spender", "Other")
#Generate a table of counts for each profile category
profile_counts <- table(mall_customers$profile)
print(profile_counts)
## 
##                  Other Young and High Spender 
##                  14104                    975
#Predictive Modeling:
#Can we predict customer spending score based on their age and annual income? How accurate are the predictions, and which factors are most influential in predicting spending score?
#Linear regression to predict spending score based on age and annual income
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")
lm_model <- lm(Spending.Score ~ Age + Annual.Income, data = mall_customers)
summary(lm_model)
## 
## Call:
## lm(formula = Spending.Score ~ Age + Annual.Income, data = mall_customers)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.072 -24.709   0.117  24.683  49.954 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    5.100e+01  8.086e-01  63.079   <2e-16 ***
## Age           -1.124e-02  1.108e-02  -1.015    0.310    
## Annual.Income  1.800e-06  4.478e-06   0.402    0.688    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.73 on 15076 degrees of freedom
## Multiple R-squared:  7.88e-05,   Adjusted R-squared:  -5.385e-05 
## F-statistic: 0.594 on 2 and 15076 DF,  p-value: 0.5521
# Load necessary libraries
library(ggplot2)
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.3
# Read the dataset
mall_customers <- read.csv("C:\\Users\\ASUS\\Desktop\\Shopping Mall Customer Segmentation Data .csv")

# Calculate the correlation matrix
correlation_matrix <- cor(mall_customers[c("Age", "Annual.Income", "Spending.Score")])

# Convert the correlation matrix to a long format
correlation_long <- melt(correlation_matrix)

# Create a heatmap of the correlation matrix
ggplot(data = correlation_long, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile() +
  scale_fill_gradient(low = "blue", high = "red") +
  labs(title = "Correlation Heatmap",
       x = "Variables1",
       y = "Variables2",
       fill = "Correlation") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "right")