0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
X
 
X
 
0
0
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
B
R
C
 
X
 
Live · chain id 3669 · head #… · epoch …

BRC & BRX Tokenomics

Every number on this page comes from the consensus source code or is read live from the chain. Emission is paid at consensus boundaries, not per block, and is capped by a hard 330,000,000 BRC supply.

Max supply
330,000,000 BRC
hard cap · economics.go
Total issued
…
live
Genesis allocation
194,000,000 BRC
45 wallets · verified at block 0
Minted by consensus
…
live
Circulating
…
released from distribution wallets
Halving era
0
next at #47,304,000
Supply breakdownmax supply 330,000,000 BRC
Circulating
0 BRC · 0.00%
Locked in vaults
0 BRC · 0.00%
Genesis reserve (held)
0 BRC · 0.00%
Not yet minted
330,000,000 BRC · 100.00%
Epoch 0 · consensus cycleBRDPoS · 900 blocks / epoch
Block 1 of 900 in this epochNext checkpoint at #900 · in 900 blocks ≈ 45m 0s
#00.0% · masternode set re-elected at each checkpoint#899

Genesis allocation · 194,000,000 BRC

58.79% of max supply · 45 funded wallets · summed on-chain at block 0
AllocationBRC% of capWalletCounts as circulating when spent
Public Sale30,000,0009.09%0x2ca212…342F08yes
Liquidity30,000,0009.09%0x207A7c…0D55c4yes
Foundation15,000,0004.55%0x6704fb…7246a6no · reserve / operations
Development15,000,0004.55%0x6B63B8…03C2fBno · reserve / operations
Private Sale15,000,0004.55%0x7e0Fbd…410322yes
Staking Rewards reserve15,000,0004.55%0x40C857…1f04F2no · reserve / operations
Treasury12,000,0003.64%0xcA42FD…f85014no · reserve / operations
Marketing10,000,0003.03%0x7802aa…Dd2577yes
Ecosystem8,000,0002.42%0x23f79E…541c60yes
Airdrops5,000,0001.52%0x8f120d…f03D88yes
Validator wallets (3M + 2M + 2M)7,000,0002.12%3 walletsno · reserve / operations
Node & validator wallets (32 × 1,000,000)32,000,0009.70%32 walletsno · reserve / operations
Total genesis194,000,00058.79%Remaining 136,000,000 BRC (41.21%) can only be created by consensus rewards

Circulating supply counts only BRC that has left the six distribution wallets (Public Sale, Liquidity, Private Sale, Marketing, Ecosystem, Airdrops). Reserve, foundation, treasury and validator wallets accumulate rewards but are not counted as circulating.

Consensus emission · paid at boundaries, never per block

reward_distribution.go · params/brdpos_constants.go
Epoch reward
1,000 BRC
every 900 blocks · 11,680 per year · every 45 min
SuperBlock reward
5,000 BRC
every 810,000 blocks · 12.98 per year · every 28.1 days
ClusterChain reward
20,000 BRC
every 2,430,000 blocks · 4.33 per year · every 84.4 days
1.1255 BRC per-block equivalent
11,831,407 BRC per year in era 0
106,482,667 BRC lifetime emission (all eras)
300,482,667 BRC asymptotic final supply (91.06% of cap)
Halving eraBlocksApprox. yearsEpochSuperBlockClusterChainBRC / yearEra totalCumulative
Era 0current#0 – #47,303,9990.0 – 4.51,0005,00020,00011,831,40753,241,33353,241,333
Era 1#47,304,000 – #94,607,9994.5 – 9.05002,50010,0005,915,70426,620,66779,862,000
Era 2#94,608,000 – #141,911,9999.0 – 13.52501,2505,0002,957,85213,310,33393,172,333
Era 3#141,912,000 – #189,215,99913.5 – 18.01256252,5001,478,9266,655,16799,827,500
Era 4#189,216,000 – #236,519,99918.0 – 22.562.5312.51,250739,4633,327,583103,155,083
Era 5#236,520,000 – #283,823,99922.5 – 27.031.25156.25625369,7311,663,792104,818,875

Rewards halve every 47,304,000 blocks (9 × 10,512,000 ÷ 2 ≈ 4.5 years at 3-second blocks) by an exact right-shift (reward ÷ 2era), decaying toward zero with no floor. The geometric total of 106,482,667 BRC plus the 194M genesis leaves a safety margin of about 29,517,333 BRC under the 330M cap. Regular blocks mint nothing; validators earn the gas fees of the blocks they seal.

Where each reward goes

active since block 6,005,886 (first epoch #6,006,600)

Epoch reward · 1,000 BRC

  • 50% masternodes that sealed blocks in the epoch
  • 40% staking reward pool 0x1000…2C18
  • 10% foundation wallet

Before block 6,005,886: 40 / 40 / 10 voters / 10, with the staker and voter shares credited to the foundation wallet. Percentages moved, the total minted per epoch never did.

SuperBlock · 5,000 BRC

  • 50% masternodes
  • 30% stakers
  • 10% voters (paid to the foundation until on-chain voting exists)
  • 10% foundation

ClusterChain · 20,000 BRC

  • 50% masternodes
  • 30% stakers
  • 10% voters (→ foundation)
  • 10% foundation
Foundation wallet 0x6704…46a6 … BRC (genesis 15,000,000)
Staking reward pool … BRC accumulated since activation
BRC staked in the vault … BRC

Transaction fees

common/constants.go · core/state_transition.go
0.25 Gwei minimum gas price (250,000,000 wei)
0.00000525 BRC for a 21,000-gas transfer
200,000,000 gas per block
Validator receives the fees of the block it seals (coinbase)
0 BRC consensus sign() calls are zero-gas-price

BRX · stake BRC, earn BRX

NativeBrcStakingWithBrx · BRXToken (ERC-20) · parameters read from the live contracts
Base rate
0.15 BRX / BRC / day
now 0.15 after 0 halvings · halves every 2 years, max 5
BRX in existence
… BRX
mint-on-claim · no pre-mint, no hard cap in the deployed contract
Staking terms
100 BRC min
locks 30d · 90d · 180d · 365d · 7-day cooldown on unstake
PeriodFromBRX per BRC per dayBRX per 1,000 BRC per year
Halving 0currentDec 30, 20250.1554,750
Halving 1Dec 30, 20270.07527,375
Halving 2Dec 29, 20290.037513,688
Halving 3Dec 29, 20310.018756,844
Halving 4Dec 28, 20330.0093753,422
Halving 5Dec 28, 20350.00468751,711

BRX is minted by the staking contract when rewards are claimed, so its supply is exactly the rewards paid out to date. It is fingerprinted by Token DNA on every transfer and trades against WBRC on BirrDEX. Contract 0xDc267E…8C01cd · vault 0xBb0821…E90DA9.

Validators & staking requirements

5 active masternodes · max 108 in production
Boundary tierStake requiredUptime requiredReward eligibility
Epoch50,000 BRC85%share of 1,000 BRC per epoch
SuperBlock100,000 BRC99%share of 5,000 BRC per superblock
ClusterChain1,000,000 BRC99.9%share of 20,000 BRC per clusterchain
New validator discovery requires 1,000,000 BRC (validator_discovery.go)
Slashing on participation: <90% → 5%, <80% → 25%, <70% → 75%, critical → 100% (slashing.go defaults)
Consensus contracts: validator 0x0000…0088 · block signer 0x0000…0089 · randomize 0x0000…0090
0xCCBcdC…3e54ad
0x80Fb44…249a86
0xFe3c82…c678E5
0xd3Da37…0EFD50
0x5f9eEA…7cBc86

Mainnet activations

block-keyed hard-fork switches · common/constants.mainnet.go · params
BlockActivationEffect
#1Mainnet genesisFirst block sealed 2025-12-30 19:42 UTC; V1 static consensus
#900V2 · epoch rewardsFirst epoch checkpoint; 1,000 BRC epoch reward and 900-block epochs begin
#3,000,000tipSigningBlock-signer (0x89) signature path activated
#3,110,000Consensus blacklistProtocol-level blacklist after the validator-etherbase drain incident
#3,464,000tipRandomizeRandomize contract (0x90) secret/opening rounds enabled
#5,000,000tipIncreaseMasternodesMasternode set size raised toward the 108 production maximum
#5,004,186Masternode contract fixRuntime bytecode and storage of the 0x88 validator contract corrected in a coordinated activation
#6,005,886Staker payout activationEpoch split becomes 50/40/10 and the 40% staker share is paid to the staking reward pool

Chain parameters

params/brdpos_constants.go · genesis
Chain ID3669
Block time3 s
Blocks per year10,512,000
Epoch900 blocks
Gap block450 (mid-epoch)
SuperBlock interval810,000 blocks
ClusterChain interval2,430,000 blocks
Halving interval47,304,000 blocks
Certificate threshold0.667 of masternodes
Finality6 blocks
Max masternodes108
Protector nodes216
Mainnet start2025-12-30 19:42 UTC
RPChttps://rpc.birr.foundation

Full narrative, architecture and contract inventory: read the whitepaper →