-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlabb1KattisTestCases.txt
145 lines (71 loc) · 14.5 KB
/
labb1KattisTestCases.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
In this task you should show that you know how to predict how the system will evolve over time and estimate the probability for different emissions / events in the system i.e. what can be observed from the HMM. You will be given the state probability distribution (i.e. the probability that the system is in each of the N states), the transition matrix (i.e. the matrix that gives the probability to transition from one state to another) and the emission matrix (i.e. the matrix that gives the probability for the different emissions / events / observations given a certain state).
More specifically, given the current state probability distribution what is the probabity for the different emissions after the next transition (i.e. after the system has made a single transition)?
Input
You will be given three matrices (in this order); transition matrix, emission matrix, and initial state probability distribution. The initial state probability distribution is a row vector encoded as a matrix with only one row. Each matrix is given on a separate line with the number of rows and columns followed by the matrix elements (ordered row by row).
Output
You should output the emission probability distribution on a single line in the same matrix format, including the dimensions.
input hmm1
4 4 0.2 0.5 0.3 0.0 0.1 0.4 0.4 0.1 0.2 0.0 0.4 0.4 0.2 0.3 0.0 0.5
4 3 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.2 0.6 0.2
1 4 0.0 0.0 0.0 1.0
output hmm1
1 3 0.3 0.6 0.1
In this task you should show that you know how to calculate the probability to observe a certain emission sequence given a HMM model. You will be given the HMM model and a sequence of observations (aka emissions, events, etc) and your task is to calculate the probability for this sequence.
Input
You will be given three matrices; transition matrix, emission matrix, and initial state probability distribution followed by the number of emissions and the sequence of emissions itself. The initial state probability distribution is a row vector encoded as a matrix with only one row. Each matrix is given on a separate line with the number of rows and columns followed by the matrix elements (ordered row by row). It is assumed that there are M different discrete emission types and these are indexed 0 through M-1 in the emission sequence. For example, if there were M=3 possible different emissions (could be the three colours red, green and blue for example), they would be identified by 0, 1 and 2 in the emission sequence.
Output
You should output the probability of the given sequence as a single scalar.
input hmm2
4 4 0.0 0.8 0.1 0.1 0.1 0.0 0.8 0.1 0.1 0.1 0.0 0.8 0.8 0.1 0.1 0.0
4 4 0.9 0.1 0.0 0.0 0.0 0.9 0.1 0.0 0.0 0.0 0.9 0.1 0.1 0.0 0.0 0.9
1 4 1.0 0.0 0.0 0.0
8 0 1 2 3 0 1 2 3
output hmm2
0.090276
In this task you should show that you know how to calculate the most likely sequence of (hidden) states that the system moves through given an emission sequence and an HMM model.
Input
You will be given three matrices; transition matrix, emission matrix, and initial state probability distribution followed by the number of emissions and the sequence of emissions itself. The initial state probability distribution is a row vector encoded as a matrix with only one row. Each matrix is given on a separate line with the number of rows and columns followed by the matrix elements (ordered row by row). It is assumed that there are M different discrete emission types and these are indexed 0 through M-1 in the emission sequence. For example, if there were M=3 possible different emissions (could be the three colours red, green and blue for example), they would be identified by 0, 1 and 2 in the emission sequence.
Output
You should output the most probable sequence of states as zero-based indices separated by spaces. Do not output the length of the sequence.
in hmm3
4 4 0.0 0.8 0.1 0.1 0.1 0.0 0.8 0.1 0.1 0.1 0.0 0.8 0.8 0.1 0.1 0.0
4 4 0.9 0.1 0.0 0.0 0.0 0.9 0.1 0.0 0.0 0.0 0.9 0.1 0.1 0.0 0.0 0.9
1 4 1.0 0.0 0.0 0.0
4 1 1 2 2
out hmm3
0 1 2 1
In this task you should show that you know how to estimate the model parameters for an HMM. You will be given a starting guess of a HMM (transition matrix, emission matrix and initial state probability distribution) and a sequence of emissions and you should train the HMM to maximize the probability of observing the given sequence of emissions.
Input
You will be given a starting guess of the three matrices; transition matrix, emission matrix, and initial state probability distribution followed by the number of emissions and the sequence of emissions itself. The initial state probability distribution is a row vector encoded as a matrix with only one row. Each matrix is given on a separate line with the number of rows and columns followed by the matrix elements (ordered row by row). It is assumed that there are M different discrete emission types and these are indexed 0 through M-1 in the emission sequence. For example, if there were M=3 possible different emissions (could be the three colours red, green and blue for example), they would be identified by 0, 1 and 2 in the emission sequence.
Output
You should output the estimated transition matrix and emission matrix on one line each in the same matrix format as they were given, including the dimensions. Do not output the estimated initial state probability distribution.
in hmm4
4 4 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4
4 4 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4
1 4 0.241896 0.266086 0.249153 0.242864
1000 0 1 2 3 3 0 0 1 1 1 2 2 2 3 0 0 0 1 1 1 2 3 3 0 0 0 1 1 1 2 3 3 0 1 2 3 0 1 1 1 2 3 3 0 1 2 2 3 0 0 0 1 1 2 2 3 0 1 1 2 3 0 1 2 2 2 2 3 0 0 1 2 3 0 1 1 2 3 3 3 0 0 1 1 1 1 2 2 3 3 3 0 1 2 3 3 3 3 0 1 1 2 2 3 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 3 3 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 0 1 2 3 0 1 1 1 2 3 0 1 1 2 2 2 2 2 3 0 1 1 1 2 2 2 2 3 0 0 0 0 0 1 1 1 1 2 2 3 3 0 1 2 3 3 0 0 0 0 0 0 1 1 2 2 3 0 0 1 1 1 1 1 1 2 3 3 0 0 1 1 1 2 3 0 0 1 2 3 0 1 1 2 3 3 0 0 0 1 2 3 3 3 0 1 1 1 1 2 3 3 3 3 3 3 0 1 2 2 2 2 2 2 3 0 1 1 1 2 2 3 3 3 3 0 1 2 3 0 0 0 1 1 2 2 3 0 0 0 0 0 0 0 1 2 2 2 3 3 3 3 0 0 1 2 2 2 3 3 3 0 0 1 2 2 3 0 0 0 0 1 1 1 2 3 3 3 3 3 3 3 3 0 1 2 3 0 0 1 2 3 3 3 0 0 0 0 0 1 1 1 1 2 3 0 0 0 1 2 2 3 3 0 0 0 1 1 1 1 1 2 3 3 3 3 0 1 1 1 2 2 3 0 1 2 3 3 3 3 0 0 0 0 1 2 3 3 0 1 2 2 3 3 0 0 1 1 2 3 3 0 1 2 2 3 3 3 0 0 1 1 2 3 3 3 3 0 0 1 1 2 3 3 0 1 2 3 0 1 1 2 2 3 0 1 2 3 3 0 1 1 1 2 2 2 3 3 0 0 1 1 1 1 1 2 3 3 3 0 1 1 2 2 2 2 3 3 0 0 1 2 3 0 1 1 2 2 2 2 3 0 0 1 2 2 3 0 0 0 0 0 1 1 1 2 3 0 0 1 2 3 3 0 0 0 1 2 2 2 3 3 0 0 0 1 2 2 2 2 2 3 0 1 1 2 3 0 0 1 1 1 2 2 3 0 0 0 0 1 1 1 2 2 3 0 1 1 1 2 2 2 3 3 0 0 1 2 2 3 3 3 0 1 1 2 3 0 0 0 0 0 1 2 2 2 3 3 3 0 0 0 1 2 3 0 1 1 2 3 3 3 0 1 2 2 2 3 0 0 1 1 1 1 2 3 3 0 0 0 0 1 2 3 3 3 0 0 0 1 1 2 3 0 1 1 1 1 2 2 2 2 2 2 3 0 0 0 0 1 2 2 2 2 3 0 1 2 2 3 0 1 2 3 0 1 2 3 0 0 0 1 1 2 2 3 3 0 1 1 1 1 2 2 3 3 0 1 1 1 2 2 2 3 3 3 0 1 1 2 3 3 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0 0 0 1 2 2 3 3 0 0 1 2 3 0 1 2 2 3 0 0 0 1 1 2 2 2 2 2 3 3 3 3 3 0 1 2 2 3 3 3 3 3 0 0 1 1 2 2 3 0 0 1 2 2 3 3 3 0 0 0 1 2 2 2 2 3 3 0 1 2 3 0 0 1 1 1 2 2 3 0 0 1 1 2 2 2 3 3 0 0 1 1 1 1 1 2 3 3 3 0 1 2 2 2 2 3 3 3 3 3 3 0 0 0 0 0 0 1 2 3 0 0 1 1 1 2 3 0 0 1 1 2 2 2 2 3 3 3 0 1 1 2 2 2 3 3 0 0 0 0 0 0 1 2 2 3 3 0 0 0 0 0 0 1 2 3 3 3 0 1 1 1 2 2 2 2 2 3 3 3 0 1 2 2 2 3 3 3 3 0 0 0 0 1 2 3 3 3 3 3 3 0 0 1 1 1 1 2 3 0 1 2 3 0 1 1 2 3 3 3 0 0 0 0 1 1 2 3 3 3 3 0 0 1 1 1 2 2 2 2 2 2 3 3 0 0 0 1 2 3 0 0 1 1 2 2 3 3 3 3 3 0 0 1 2 2 2 2 3 0 0 1 1 1 1 1 2 3 3 0 0 1 1 1 2 3 3 3 0 0
out hmm4
4 4 0.545455 0.454545 0.0 0.0 0.0 0.506173 0.493827 0.0 0.0 0.0 0.504132 0.495868 0.478088 0.0 0.0 0.521912
4 4 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0
in hmm4
4 4 0.2 0.4 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.4 0.2
4 4 0.7 0.1 0.1 0.1 0.1 0.7 0.1 0.1 0.1 0.1 0.7 0.1 0.1 0.1 0.1 0.7
1 4 1.0 0.0 0.0 0.0
1000 1 0 1 0 2 3 0 1 0 1 2 3 2 0 1 0 3 2 3 2 3 2 1 0 1 0 1 2 3 2 0 2 1 0 1 3 2 3 2 3 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 2 0 1 0 1 2 3 2 3 0 3 2 1 0 3 2 1 2 3 0 1 0 1 2 0 3 0 1 0 3 0 1 2 3 1 2 3 2 1 0 1 0 3 2 3 2 1 2 1 0 2 1 3 2 3 2 3 1 0 1 0 3 2 3 2 0 1 0 2 1 0 1 0 3 1 0 1 0 2 1 0 3 2 3 2 3 2 3 0 1 2 1 0 1 0 1 0 3 2 3 2 0 1 3 2 3 2 3 0 1 0 3 2 3 2 3 0 1 3 2 3 1 0 1 0 3 1 0 1 2 3 0 1 0 3 2 3 0 1 0 1 2 1 0 3 0 1 0 1 3 2 3 1 0 1 2 1 0 3 2 1 0 2 3 1 2 3 2 3 2 3 2 3 0 3 0 1 2 3 2 1 3 2 0 3 2 3 2 3 2 1 0 1 3 0 1 3 2 3 2 0 3 2 3 2 3 2 3 0 1 0 1 2 3 2 3 2 1 0 1 0 3 0 1 0 2 3 0 1 0 1 0 1 2 1 0 1 0 1 3 2 3 2 3 2 3 0 2 1 2 3 2 3 2 0 1 0 1 0 1 0 3 2 3 2 3 0 1 0 1 0 2 3 2 3 2 3 2 3 2 1 0 2 3 2 3 0 1 2 3 2 1 0 1 2 0 3 1 0 1 0 3 0 2 3 1 0 1 2 1 2 3 0 3 0 1 0 3 2 1 0 1 0 3 2 0 1 0 1 2 3 0 3 2 1 0 3 2 0 1 0 1 0 1 0 1 0 1 2 0 1 3 2 3 2 3 0 2 1 0 3 2 1 0 1 0 1 0 2 3 2 1 0 1 0 1 0 1 2 3 0 1 2 0 1 0 1 0 1 0 1 0 3 2 1 0 1 0 1 0 1 2 3 2 3 0 1 0 1 0 3 2 3 2 1 2 1 0 1 0 1 2 3 2 3 2 3 2 3 0 3 0 1 0 3 2 3 2 3 2 1 2 3 2 3 2 3 0 1 3 0 2 1 0 1 0 1 3 0 1 0 1 0 1 0 3 2 3 2 1 0 1 3 1 0 1 0 3 0 1 0 2 3 2 3 2 3 2 3 2 1 2 3 2 3 2 1 0 1 0 1 2 3 2 3 2 1 0 1 2 1 0 1 3 0 3 2 3 2 3 0 1 0 1 2 3 2 1 0 1 0 1 3 2 1 0 3 2 1 0 3 2 3 2 0 1 0 1 2 3 0 2 3 2 3 2 1 0 1 2 3 2 1 0 1 3 2 0 1 2 3 0 2 3 2 3 0 1 0 1 2 3 2 0 1 0 3 2 0 1 0 1 0 1 0 1 0 1 0 1 3 2 3 2 1 2 3 2 1 0 1 0 1 0 1 0 3 0 1 0 1 0 3 0 1 0 1 2 3 0 1 0 3 0 1 0 1 0 1 2 3 0 1 0 3 0 1 0 1 2 3 0 1 0 1 2 1 3 0 1 0 1 0 1 0 3 2 3 2 3 2 1 0 1 0 1 3 0 3 0 1 2 3 1 3 2 3 2 1 3 1 2 1 0 1 0 1 0 2 1 0 1 0 1 2 3 2 1 0 2 3 2 3 2 3 2 3 0 3 2 3 0 1 2 3 2 3 2 3 2 3 1 0 1 0 1 0 1 2 0 3 0 3 2 0 3 2 1 0 1 0 1 0 1 2 3 2 3 2 1 2 3 0 1 0 3 2 0 3 2 0 1 0 1 0 3 0 1 0 1 2 3 2 3 2 1 0 1 0 1 2 3 2 3 2 3 2 1 0 1 0 1 0 3 0 1 2 1 0 3 2 3 2 3 2 0 3 2 3 2 3 0 1 2 3 1 0 1 0 3 2 3 2 1 2 3 0 3 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 3 2 1 0 1 0 1 0 3 2 3 0 3 2 3 2 3 0 1 2 1 0 3 0 3 2 3 2 3 2 0 1 2 3 0 1 0 1 2 0 1 0 1 0 1 0 1 3 2 1 0 1 0 1 0 1 0 3 2 3 2 1 0 1 0 1 0 3 2 1 0 1 0 1 0 1 3 2 3 0 3 0 1
out hmm4
4 4 0.0 0.694045 0.070896 0.235060 0.684412 0.0 0.228137 0.087451 0.105932 0.271192 0.0 0.622876 0.266083 0.060087 0.673830 0.0
4 4 1.0 0.0 0.0 0.0 0.0 0.999980 0.0 0.000020 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0
in hmm4
4 4 0.7 0.1 0.1 0.1 0.1 0.7 0.1 0.1 0.1 0.1 0.7 0.1 0.1 0.1 0.1 0.7
4 4 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4
1 4 1.0 0.0 0.0 0.0
1000 0 0 0 0 2 0 0 0 2 3 3 2 2 3 1 1 2 2 2 2 2 2 2 0 1 1 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 3 0 0 0 0 1 3 3 1 2 2 2 2 1 2 2 2 2 0 0 2 1 0 0 1 1 1 1 2 2 2 0 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 3 1 1 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 3 3 3 3 3 3 3 3 2 2 2 2 2 1 2 2 2 3 3 3 3 3 3 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 3 3 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 0 0 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 2 1 1 2 1 1 1 1 2 3 2 2 1 1 3 3 1 1 1 1 1 3 1 1 1 2 2 2 2 2 2 2 2 1 1 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1 2 2 2 1 2 3 3 2 2 2 2 1 0 1 1 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 0 3 3 0 0 1 1 3 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 1 1 3 2 2 2 0 0 1 2 2 3 3 3 3 3 2 1 2 1 2 0 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 0 0 0 0 0 2 1 2 2 0 2 2 3 3 3 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 1 3 1 3 2 2 2 2 2 2 1 2 2 3 2 2 3 2 2 1 1 1 1 1 3 3 3 3 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 1 2 0 0 1 3 2 3 3 2 3 3 2 2 2 2 2 1 1 1 1 2 1 3 2 2 2 1 0 2 2 2 2 2 1 2 3 1 2 1 1 1 1 1 2 3 2 2 1 3 2 2 2 2 2 2 2 3 1 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 3 2 1 2 2 2 2 2 2 2 2 2 2 2 0 0 0 1 0 0 2 2 2 2 2 2 2 2 3 3 3 1 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 2 1 1 1 1 3 1 3 3 3 3 3 2 2 2 1 2 2 2 3 1 3 3 2 2 2 2 2 2 2 3 3 3 1 1 1 1 1 0 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 0 0 0 1 3 3 3 3 3 1 2 2 2 2 2 2 1 2 3 3 2 1 1 1 3 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 0 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 1 2 0 0 0 3 0 0 2 2 2 2 2 2 2 2 0 1 2 2 1 2 1 1 2 2 2 2 2 2 3 2 2 2 2 2 2 0 0 0 1 2 2 2 2 2 2 2 1 2 2 2 2 3 2 2 2 2 2 2 2 2 2 1 0 1 2 2 1 3 3 3 2 0 0 0 1 1 1 3 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 2 2 2 2 2 0 0 1 3 3 3 3 3 3 3 2 2 2 3 2 2 2 2 1 2 2 3 3 1 1 1 3 3 3 3 3 2 2 2 2 2 2 2 2 1 3 3 2 0 0 2 2 2 1 1 1 3 2 2 2 2 2 2 2 1 2 1 2 3 3 3 3 2 2 1 1 2 2 2 2 2 2 2 1 3 0 1 2 2 0 3 0 0 0 0 2 3 2 1 3
out hmm4
4 4 0.661425 0.250893 0.087682 0.0 0.0 0.698875 0.140576 0.160550 0.045010 0.026948 0.888408 0.039634 0.0 0.084577 0.293716 0.621707
4 4 0.790017 0.058239 0.061136 0.090608 0.005925 0.764448 0.191994 0.037632 0.003951 0.077912 0.910978 0.007159 0.0 0.0 0.000077 0.999923
HMMc
input question 7
3 3 0.54 0.26 0.20 0.19 0.53 0.28 0.22 0.18 0.6
3 4 0.5 0.2 0.11 0.19 0.22 0.28 0.23 0.27 0.19 0.21 0.15 0.45
1 3 0.3 0.2 0.5
1000 0 3 3 2 1 0 2 3 0 0 2 3 0 0 2 3 0 0 0 0 1 2 2 3 1 3 0 2 3 1 2 3 1 3 3 1 2 0 3 1 2 2 2 1 1 1 0 2 0 3 2 3 2 1 1 2 3 1 2 1 2 1 2 1 1 3 3 1 1 2 3 0 0 1 1 2 3 1 1 0 1 1 1 1 1 3 3 1 1 3 0 0 3 1 3 1 3 3 2 1 3 3 2 3 3 3 1 1 1 1 2 1 3 3 3 0 1 0 0 3 3 2 2 3 3 3 2 1 0 0 3 3 1 0 2 2 2 0 0 2 3 1 1 1 2 2 3 3 1 1 0 0 1 2 0 0 2 0 1 1 0 0 0 0 3 3 1 2 0 0 2 3 2 2 0 1 1 3 1 1 0 3 3 0 3 3 3 2 3 2 3 1 2 1 2 0 0 0 0 3 0 3 3 3 3 1 1 3 2 1 2 0 3 3 3 3 3 3 0 0 2 3 2 1 1 1 3 2 2 2 1 2 1 1 2 3 1 2 3 1 1 1 3 3 2 2 2 1 0 2 2 1 0 3 2 2 3 1 0 1 2 2 2 0 3 1 2 0 3 0 0 3 1 2 2 3 1 1 0 2 2 1 3 2 3 1 0 0 0 2 1 3 3 0 1 0 3 0 2 0 0 3 2 3 3 3 2 3 2 3 1 3 3 0 1 0 2 2 1 2 3 3 1 3 2 3 3 3 1 2 1 3 0 1 2 0 1 3 3 3 3 2 1 1 1 1 3 3 1 1 3 3 2 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 2 0 2 0 3 1 3 1 3 2 0 0 0 0 0 1 2 3 0 1 1 0 2 3 2 1 0 2 1 2 2 2 1 1 2 2 1 3 3 3 3 1 3 1 0 2 1 2 1 3 1 1 3 0 0 1 0 1 3 3 2 2 1 2 3 2 1 2 1 1 1 0 0 0 2 2 2 1 3 3 1 1 2 2 1 1 2 3 1 2 1 0 0 3 2 1 3 2 2 3 0 0 3 3 0 3 0 0 1 0 0 2 3 1 0 0 0 1 2 2 3 2 3 1 0 2 2 3 3 1 1 2 1 1 1 3 2 2 3 2 0 3 3 0 0 0 0 0 0 0 0 2 2 3 3 3 2 3 2 1 3 0 2 1 2 0 0 0 2 3 2 2 2 1 3 3 2 1 2 0 0 3 2 1 2 3 1 0 1 3 3 3 2 2 0 0 0 2 2 3 1 1 3 0 0 3 0 0 3 0 1 3 0 3 0 0 0 0 0 0 0 0 3 2 3 1 2 3 0 3 3 2 0 3 2 1 1 0 1 0 0 0 0 2 3 3 3 1 1 3 1 2 3 0 3 3 3 0 0 1 1 0 3 2 2 3 1 1 3 1 1 3 2 0 2 0 0 2 0 0 0 1 0 1 1 0 0 0 0 0 2 2 3 3 1 3 3 3 1 0 2 3 3 3 0 1 1 1 1 0 0 3 3 3 2 3 2 3 3 2 3 3 3 3 3 2 2 1 3 1 0 1 1 1 0 3 1 0 0 3 3 2 2 2 3 3 1 1 1 2 1 3 2 1 1 2 3 2 2 1 2 2 1 1 2 1 0 0 1 2 1 2 1 1 2 0 0 3 2 3 2 1 1 3 2 3 3 3 0 2 0 3 3 1 1 1 2 2 0 0 0 0 0 1 1 1 3 2 3 2 0 0 3 2 3 1 2 0 3 2 1 2 1 0 1 1 1 2 2 2 2 2 3 3 2 3 2 1 3 3 2 2 2 1 0 1 3 2 1 0 3 2 2 1 1 3 3 3 3 1 0 3 3 3 2 3 3 2 3 0 1 0 1 2 2 1 2 1 2 3 3 3 0 1 2 2 3 1 1 0 3 2 2 1 1 0 0 1 0 0 0 1 1 0 0 0 0 2 0 0 0 3 3 0 0 3 1 2 2 1 0 0 2 2 3 0 3 0 3 2 2 3 3 2 0 2 3 0 0 3 1 0 0 1 2 0 0 3 3 1 1 3 2 3 1 3 3 1 3 3 3 2 3 1 0 1 3 2 1 2 3 3 0 2 0 0 1 0 3 2 0 2 3 1 3 1 1 2 1 1 2 2 1 1 3 2 2 0 0 1 1 0 0 0 2 2 0 0 3 2 2 1 2 3 3 0 0 2 0 0 0 3 3 3 2 0 1 0 1 1 3