-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3D SB #2794
3D SB #2794
Conversation
QoR data looks good (2D unchanged, 3D cube BB is better than per layer as expected, and 3D switch block circuits now route whereas they didn't before). Data at https://www.eecg.utoronto.ca/~vaughn/vaughnwiki/doku.php?id=amin_weekly_update |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few suggested commenting changes, plus please link the QoR data directly.
@vaughnbetz, I applied your comments, and I think the PR is ready to be merged. |
Description
This PR addresses an issue with the router lookahead when the architecture includes 3D switch blocks (SB). The issue arose from how the data structure, which contains the routing segments accessible from OPIN/SOURCE, was utilized. Previously, when calculating the cost from OPINs to SINKs, only the routing segments on the sink layer were considered. This approach worked when OPINs were connected directly to other layers. However, with 3D SBs, OPINs are not directly connected. Therefore, when calculating the OPIN cost to a sink on a different layer, routing segments on the same layer as the OPIN, which can still reach the sink, should also be considered.
To fix this, the cost calculation from OPIN to SINK now iterates over routing segments accessible from the OPIN across all layers, using the lowest cost found.
This PR also adds two additional tests specifically for scenarios with 3D SBs.
During debugging, I created a simple script to calculate the number of inter-die connections, and here is the count per tile for a small SIV architecture. @saaramahmoudi , it looks reasonable to me, but please let me know if you notice anything unusual.
******** 0->1 ******** ******** 1->0 ********
[1][0] -> 0 [1][0] -> 0
[1][1] -> 41 [1][1] -> 44
[1][2] -> 28 [1][2] -> 27
[1][3] -> 29 [1][3] -> 26
[1][4] -> 28 [1][4] -> 27
[1][5] -> 26 [1][5] -> 27
[1][6] -> 27 [1][6] -> 25
[1][7] -> 27 [1][7] -> 25
[1][8] -> 27 [1][8] -> 25
[1][9] -> 26 [1][9] -> 26
[1][10] -> 27 [1][10] -> 25
[1][11] -> 27 [1][11] -> 25
[1][12] -> 26 [1][12] -> 26
[1][13] -> 27 [1][13] -> 25
[1][14] -> 27 [1][14] -> 25
[1][15] -> 27 [1][15] -> 25
[1][16] -> 26 [1][16] -> 26
[1][17] -> 28 [1][17] -> 26
[1][18] -> 27 [1][18] -> 28
[1][19] -> 40 [1][19] -> 24
[2][0] -> 0 [2][0] -> 0
[2][1] -> 29 [2][1] -> 26
[2][2] -> 13 [2][2] -> 12
[2][3] -> 13 [2][3] -> 13
[2][4] -> 11 [2][4] -> 12
[2][5] -> 11 [2][5] -> 10
[2][6] -> 10 [2][6] -> 12
[2][7] -> 10 [2][7] -> 12
[2][8] -> 12 [2][8] -> 10
[2][9] -> 12 [2][9] -> 9
[2][10] -> 11 [2][10] -> 11
[2][11] -> 12 [2][11] -> 10
[2][12] -> 13 [2][12] -> 9
[2][13] -> 10 [2][13] -> 11
[2][14] -> 12 [2][14] -> 10
[2][15] -> 13 [2][15] -> 9
[2][16] -> 11 [2][16] -> 12
[2][17] -> 13 [2][17] -> 12
[2][18] -> 12 [2][18] -> 13
[2][19] -> 24 [2][19] -> 10
[3][0] -> 0 [3][0] -> 0
[3][1] -> 26 [3][1] -> 29
[3][2] -> 15 [3][2] -> 11
[3][3] -> 12 [3][3] -> 11
[3][4] -> 12 [3][4] -> 9
[3][5] -> 10 [3][5] -> 12
[3][6] -> 10 [3][6] -> 12
[3][7] -> 11 [3][7] -> 11
[3][8] -> 11 [3][8] -> 10
[3][9] -> 12 [3][9] -> 10
[3][10] -> 10 [3][10] -> 12
[3][11] -> 11 [3][11] -> 11
[3][12] -> 11 [3][12] -> 10
[3][13] -> 11 [3][13] -> 11
[3][14] -> 11 [3][14] -> 11
[3][15] -> 12 [3][15] -> 11
[3][16] -> 13 [3][16] -> 12
[3][17] -> 13 [3][17] -> 12
[3][18] -> 14 [3][18] -> 12
[3][19] -> 23 [3][19] -> 10
[4][0] -> 0 [4][0] -> 0
[4][1] -> 28 [4][1] -> 27
[4][2] -> 13 [4][2] -> 10
[4][3] -> 11 [4][3] -> 10
[4][4] -> 10 [4][4] -> 12
[4][5] -> 11 [4][5] -> 11
[4][6] -> 12 [4][6] -> 10
[4][7] -> 11 [4][7] -> 10
[4][8] -> 11 [4][8] -> 11
[4][9] -> 10 [4][9] -> 12
[4][10] -> 12 [4][10] -> 10
[4][11] -> 9 [4][11] -> 12
[4][12] -> 11 [4][12] -> 11
[4][13] -> 12 [4][13] -> 10
[4][14] -> 11 [4][14] -> 12
[4][15] -> 10 [4][15] -> 15
[4][16] -> 11 [4][16] -> 14
[4][17] -> 12 [4][17] -> 14
[4][18] -> 12 [4][18] -> 11
[4][19] -> 23 [4][19] -> 8
[5][0] -> 0 [5][0] -> 0
[5][1] -> 28 [5][1] -> 25
[5][2] -> 12 [5][2] -> 9
[5][3] -> 13 [5][3] -> 9
[5][4] -> 11 [5][4] -> 11
[5][5] -> 11 [5][5] -> 11
[5][6] -> 11 [5][6] -> 10
[5][7] -> 10 [5][7] -> 12
[5][8] -> 12 [5][8] -> 10
[5][9] -> 12 [5][9] -> 10
[5][10] -> 10 [5][10] -> 11
[5][11] -> 11 [5][11] -> 11
[5][12] -> 13 [5][12] -> 9
[5][13] -> 12 [5][13] -> 11
[5][14] -> 11 [5][14] -> 14
[5][15] -> 12 [5][15] -> 13
[5][16] -> 12 [5][16] -> 14
[5][17] -> 10 [5][17] -> 13
[5][18] -> 13 [5][18] -> 8
[5][19] -> 24 [5][19] -> 8
[6][0] -> 0 [6][0] -> 0
[6][1] -> 26 [6][1] -> 26
[6][2] -> 11 [6][2] -> 11
[6][3] -> 11 [6][3] -> 11
[6][4] -> 11 [6][4] -> 11
[6][5] -> 11 [6][5] -> 10
[6][6] -> 10 [6][6] -> 12
[6][7] -> 10 [6][7] -> 12
[6][8] -> 11 [6][8] -> 11
[6][9] -> 11 [6][9] -> 10
[6][10] -> 10 [6][10] -> 12
[6][11] -> 11 [6][11] -> 11
[6][12] -> 12 [6][12] -> 11
[6][13] -> 12 [6][13] -> 13
[6][14] -> 12 [6][14] -> 13
[6][15] -> 11 [6][15] -> 15
[6][16] -> 11 [6][16] -> 12
[6][17] -> 10 [6][17] -> 11
[6][18] -> 11 [6][18] -> 11
[6][19] -> 25 [6][19] -> 7
[7][0] -> 0 [7][0] -> 0
[7][1] -> 27 [7][1] -> 25
[7][2] -> 12 [7][2] -> 10
[7][3] -> 13 [7][3] -> 9
[7][4] -> 12 [7][4] -> 9
[7][5] -> 11 [7][5] -> 11
[7][6] -> 11 [7][6] -> 11
[7][7] -> 13 [7][7] -> 9
[7][8] -> 12 [7][8] -> 9
[7][9] -> 11 [7][9] -> 11
[7][10] -> 12 [7][10] -> 10
[7][11] -> 11 [7][11] -> 12
[7][12] -> 14 [7][12] -> 11
[7][13] -> 13 [7][13] -> 12
[7][14] -> 11 [7][14] -> 15
[7][15] -> 11 [7][15] -> 12
[7][16] -> 9 [7][16] -> 12
[7][17] -> 10 [7][17] -> 12
[7][18] -> 13 [7][18] -> 9
[7][19] -> 23 [7][19] -> 9
[8][0] -> 0 [8][0] -> 0
[8][1] -> 28 [8][1] -> 24
[8][2] -> 12 [8][2] -> 10
[8][3] -> 11 [8][3] -> 10
[8][4] -> 11 [8][4] -> 11
[8][5] -> 12 [8][5] -> 10
[8][6] -> 10 [8][6] -> 12
[8][7] -> 10 [8][7] -> 11
[8][8] -> 12 [8][8] -> 10
[8][9] -> 12 [8][9] -> 10
[8][10] -> 12 [8][10] -> 11
[8][11] -> 11 [8][11] -> 14
[8][12] -> 13 [8][12] -> 12
[8][13] -> 13 [8][13] -> 13
[8][14] -> 11 [8][14] -> 12
[8][15] -> 9 [8][15] -> 12
[8][16] -> 14 [8][16] -> 8
[8][17] -> 10 [8][17] -> 12
[8][18] -> 11 [8][18] -> 11
[8][19] -> 23 [8][19] -> 8
[9][0] -> 0 [9][0] -> 0
[9][1] -> 27 [9][1] -> 25
[9][2] -> 11 [9][2] -> 10
[9][3] -> 10 [9][3] -> 12
[9][4] -> 12 [9][4] -> 10
[9][5] -> 12 [9][5] -> 10
[9][6] -> 12 [9][6] -> 9
[9][7] -> 10 [9][7] -> 12
[9][8] -> 11 [9][8] -> 11
[9][9] -> 12 [9][9] -> 11
[9][10] -> 13 [9][10] -> 12
[9][11] -> 11 [9][11] -> 14
[9][12] -> 11 [9][12] -> 15
[9][13] -> 13 [9][13] -> 10
[9][14] -> 12 [9][14] -> 9
[9][15] -> 12 [9][15] -> 10
[9][16] -> 12 [9][16] -> 10
[9][17] -> 10 [9][17] -> 12
[9][18] -> 12 [9][18] -> 9
[9][19] -> 23 [9][19] -> 9
[10][0] -> 0 [10][0] -> 0
[10][1] -> 27 [10][1] -> 25
[10][2] -> 10 [10][2] -> 12
[10][3] -> 12 [10][3] -> 10
[10][4] -> 13 [10][4] -> 9
[10][5] -> 12 [10][5] -> 9
[10][6] -> 11 [10][6] -> 11
[10][7] -> 13 [10][7] -> 9
[10][8] -> 10 [10][8] -> 13
[10][9] -> 13 [10][9] -> 12
[10][10] -> 13 [10][10] -> 12
[10][11] -> 13 [10][11] -> 13
[10][12] -> 12 [10][12] -> 11
[10][13] -> 12 [10][13] -> 9
[10][14] -> 12 [10][14] -> 10
[10][15] -> 12 [10][15] -> 10
[10][16] -> 11 [10][16] -> 11
[10][17] -> 11 [10][17] -> 10
[10][18] -> 10 [10][18] -> 12
[10][19] -> 23 [10][19] -> 9
[11][0] -> 0 [11][0] -> 0
[11][1] -> 26 [11][1] -> 26
[11][2] -> 13 [11][2] -> 9
[11][3] -> 13 [11][3] -> 9
[11][4] -> 11 [11][4] -> 10
[11][5] -> 11 [11][5] -> 11
[11][6] -> 11 [11][6] -> 11
[11][7] -> 13 [11][7] -> 10
[11][8] -> 12 [11][8] -> 13
[11][9] -> 14 [11][9] -> 11
[11][10] -> 14 [11][10] -> 12
[11][11] -> 11 [11][11] -> 12
[11][12] -> 11 [11][12] -> 10
[11][13] -> 13 [11][13] -> 9
[11][14] -> 12 [11][14] -> 10
[11][15] -> 11 [11][15] -> 11
[11][16] -> 12 [11][16] -> 9
[11][17] -> 12 [11][17] -> 10
[11][18] -> 11 [11][18] -> 11
[11][19] -> 23 [11][19] -> 9
[12][0] -> 0 [12][0] -> 0
[12][1] -> 28 [12][1] -> 24
[12][2] -> 12 [12][2] -> 10
[12][3] -> 11 [12][3] -> 10
[12][4] -> 12 [12][4] -> 10
[12][5] -> 11 [12][5] -> 11
[12][6] -> 11 [12][6] -> 12
[12][7] -> 15 [12][7] -> 10
[12][8] -> 13 [12][8] -> 12
[12][9] -> 12 [12][9] -> 14
[12][10] -> 14 [12][10] -> 9
[12][11] -> 11 [12][11] -> 10
[12][12] -> 12 [12][12] -> 10
[12][13] -> 13 [12][13] -> 9
[12][14] -> 12 [12][14] -> 10
[12][15] -> 12 [12][15] -> 9
[12][16] -> 13 [12][16] -> 9
[12][17] -> 10 [12][17] -> 12
[12][18] -> 13 [12][18] -> 9
[12][19] -> 24 [12][19] -> 7
[13][0] -> 0 [13][0] -> 0
[13][1] -> 27 [13][1] -> 25
[13][2] -> 11 [13][2] -> 10
[13][3] -> 11 [13][3] -> 11
[13][4] -> 10 [13][4] -> 12
[13][5] -> 12 [13][5] -> 11
[13][6] -> 12 [13][6] -> 13
[13][7] -> 12 [13][7] -> 13
[13][8] -> 11 [13][8] -> 15
[13][9] -> 12 [13][9] -> 11
[13][10] -> 13 [13][10] -> 8
[13][11] -> 10 [13][11] -> 12
[13][12] -> 12 [13][12] -> 10
[13][13] -> 11 [13][13] -> 11
[13][14] -> 12 [13][14] -> 9
[13][15] -> 12 [13][15] -> 10
[13][16] -> 12 [13][16] -> 10
[13][17] -> 10 [13][17] -> 12
[13][18] -> 12 [13][18] -> 9
[13][19] -> 24 [13][19] -> 8
[14][0] -> 0 [14][0] -> 0
[14][1] -> 26 [14][1] -> 26
[14][2] -> 11 [14][2] -> 11
[14][3] -> 11 [14][3] -> 11
[14][4] -> 13 [14][4] -> 10
[14][5] -> 14 [14][5] -> 11
[14][6] -> 13 [14][6] -> 12
[14][7] -> 11 [14][7] -> 15
[14][8] -> 11 [14][8] -> 12
[14][9] -> 12 [14][9] -> 9
[14][10] -> 11 [14][10] -> 11
[14][11] -> 10 [14][11] -> 12
[14][12] -> 11 [14][12] -> 11
[14][13] -> 11 [14][13] -> 10
[14][14] -> 10 [14][14] -> 12
[14][15] -> 10 [14][15] -> 12
[14][16] -> 11 [14][16] -> 11
[14][17] -> 11 [14][17] -> 10
[14][18] -> 12 [14][18] -> 10
[14][19] -> 24 [14][19] -> 8
[15][0] -> 0 [15][0] -> 0
[15][1] -> 27 [15][1] -> 25
[15][2] -> 12 [15][2] -> 10
[15][3] -> 12 [15][3] -> 11
[15][4] -> 14 [15][4] -> 11
[15][5] -> 11 [15][5] -> 14
[15][6] -> 13 [15][6] -> 13
[15][7] -> 12 [15][7] -> 11
[15][8] -> 11 [15][8] -> 10
[15][9] -> 11 [15][9] -> 11
[15][10] -> 10 [15][10] -> 12
[15][11] -> 12 [15][11] -> 10
[15][12] -> 12 [15][12] -> 9
[15][13] -> 11 [15][13] -> 11
[15][14] -> 11 [15][14] -> 11
[15][15] -> 11 [15][15] -> 11
[15][16] -> 12 [15][16] -> 9
[15][17] -> 13 [15][17] -> 9
[15][18] -> 11 [15][18] -> 11
[15][19] -> 26 [15][19] -> 7
[16][0] -> 0 [16][0] -> 0
[16][1] -> 26 [16][1] -> 26
[16][2] -> 12 [16][2] -> 11
[16][3] -> 13 [16][3] -> 12
[16][4] -> 10 [16][4] -> 15
[16][5] -> 13 [16][5] -> 13
[16][6] -> 11 [16][6] -> 12
[16][7] -> 12 [16][7] -> 9
[16][8] -> 11 [16][8] -> 11
[16][9] -> 12 [16][9] -> 10
[16][10] -> 12 [16][10] -> 10
[16][11] -> 11 [16][11] -> 10
[16][12] -> 11 [16][12] -> 11
[16][13] -> 11 [16][13] -> 11
[16][14] -> 11 [16][14] -> 11
[16][15] -> 13 [16][15] -> 8
[16][16] -> 11 [16][16] -> 11
[16][17] -> 12 [16][17] -> 10
[16][18] -> 13 [16][18] -> 10
[16][19] -> 25 [16][19] -> 9
[17][0] -> 0 [17][0] -> 0
[17][1] -> 26 [17][1] -> 28
[17][2] -> 15 [17][2] -> 10
[17][3] -> 12 [17][3] -> 13
[17][4] -> 13 [17][4] -> 13
[17][5] -> 10 [17][5] -> 13
[17][6] -> 12 [17][6] -> 9
[17][7] -> 13 [17][7] -> 9
[17][8] -> 12 [17][8] -> 10
[17][9] -> 11 [17][9] -> 11
[17][10] -> 11 [17][10] -> 10
[17][11] -> 11 [17][11] -> 11
[17][12] -> 12 [17][12] -> 10
[17][13] -> 11 [17][13] -> 11
[17][14] -> 11 [17][14] -> 10
[17][15] -> 12 [17][15] -> 10
[17][16] -> 13 [17][16] -> 9
[17][17] -> 11 [17][17] -> 12
[17][18] -> 13 [17][18] -> 12
[17][19] -> 23 [17][19] -> 11
[18][0] -> 0 [18][0] -> 0
[18][1] -> 27 [18][1] -> 28
[18][2] -> 13 [18][2] -> 12
[18][3] -> 12 [18][3] -> 14
[18][4] -> 10 [18][4] -> 13
[18][5] -> 12 [18][5] -> 9
[18][6] -> 11 [18][6] -> 11
[18][7] -> 12 [18][7] -> 10
[18][8] -> 10 [18][8] -> 12
[18][9] -> 11 [18][9] -> 10
[18][10] -> 10 [18][10] -> 12
[18][11] -> 11 [18][11] -> 11
[18][12] -> 10 [18][12] -> 12
[18][13] -> 13 [18][13] -> 8
[18][14] -> 11 [18][14] -> 11
[18][15] -> 13 [18][15] -> 9
[18][16] -> 13 [18][16] -> 10
[18][17] -> 13 [18][17] -> 12
[18][18] -> 12 [18][18] -> 13
[18][19] -> 25 [18][19] -> 9
[19][0] -> 0 [19][0] -> 0
[19][1] -> 26 [19][1] -> 29
[19][2] -> 12 [19][2] -> 14
[19][3] -> 13 [19][3] -> 10
[19][4] -> 13 [19][4] -> 8
[19][5] -> 12 [19][5] -> 10
[19][6] -> 12 [19][6] -> 10
[19][7] -> 12 [19][7] -> 10
[19][8] -> 10 [19][8] -> 11
[19][9] -> 10 [19][9] -> 12
[19][10] -> 11 [19][10] -> 11
[19][11] -> 13 [19][11] -> 9
[19][12] -> 11 [19][12] -> 10
[19][13] -> 11 [19][13] -> 11
[19][14] -> 11 [19][14] -> 11
[19][15] -> 11 [19][15] -> 12
[19][16] -> 11 [19][16] -> 14
[19][17] -> 12 [19][17] -> 13
[19][18] -> 13 [19][18] -> 13
[19][19] -> 24 [19][19] -> 9
[20][0] -> 0 [20][0] -> 0
[20][1] -> 28 [20][1] -> 27
[20][2] -> 11 [20][2] -> 12
[20][3] -> 12 [20][3] -> 9
[20][4] -> 13 [20][4] -> 9
[20][5] -> 13 [20][5] -> 9
[20][6] -> 11 [20][6] -> 11
[20][7] -> 10 [20][7] -> 11
[20][8] -> 12 [20][8] -> 10
[20][9] -> 9 [20][9] -> 13
[20][10] -> 10 [20][10] -> 12
[20][11] -> 10 [20][11] -> 11
[20][12] -> 12 [20][12] -> 10
[20][13] -> 13 [20][13] -> 9
[20][14] -> 11 [20][14] -> 12
[20][15] -> 14 [20][15] -> 11
[20][16] -> 14 [20][16] -> 11
[20][17] -> 12 [20][17] -> 14
[20][18] -> 12 [20][18] -> 11
[20][19] -> 23 [20][19] -> 8
[21][0] -> 0 [21][0] -> 0
[21][1] -> 26 [21][1] -> 27
[21][2] -> 12 [21][2] -> 9
[21][3] -> 11 [21][3] -> 11
[21][4] -> 14 [21][4] -> 8
[21][5] -> 11 [21][5] -> 11
[21][6] -> 12 [21][6] -> 9
[21][7] -> 11 [21][7] -> 11
[21][8] -> 11 [21][8] -> 11
[21][9] -> 10 [21][9] -> 12
[21][10] -> 11 [21][10] -> 10
[21][11] -> 11 [21][11] -> 11
[21][12] -> 11 [21][12] -> 11
[21][13] -> 13 [21][13] -> 10
[21][14] -> 12 [21][14] -> 13
[21][15] -> 12 [21][15] -> 13
[21][16] -> 14 [21][16] -> 12
[21][17] -> 12 [21][17] -> 11
[21][18] -> 11 [21][18] -> 10
[21][19] -> 23 [21][19] -> 9
[22][0] -> 0 [22][0] -> 0
[22][1] -> 27 [22][1] -> 25
[22][2] -> 11 [22][2] -> 11
[22][3] -> 11 [22][3] -> 11
[22][4] -> 11 [22][4] -> 11
[22][5] -> 12 [22][5] -> 9
[22][6] -> 10 [22][6] -> 12
[22][7] -> 13 [22][7] -> 9
[22][8] -> 11 [22][8] -> 11
[22][9] -> 11 [22][9] -> 10
[22][10] -> 11 [22][10] -> 11
[22][11] -> 13 [22][11] -> 9
[22][12] -> 13 [22][12] -> 10
[22][13] -> 11 [22][13] -> 14
[22][14] -> 16 [22][14] -> 9
[22][15] -> 13 [22][15] -> 13
[22][16] -> 12 [22][16] -> 11
[22][17] -> 12 [22][17] -> 9
[22][18] -> 12 [22][18] -> 10
[22][19] -> 24 [22][19] -> 8
[23][0] -> 0 [23][0] -> 0
[23][1] -> 26 [23][1] -> 26
[23][2] -> 11 [23][2] -> 11
[23][3] -> 11 [23][3] -> 11
[23][4] -> 11 [23][4] -> 10
[23][5] -> 10 [23][5] -> 12
[23][6] -> 11 [23][6] -> 11
[23][7] -> 11 [23][7] -> 11
[23][8] -> 12 [23][8] -> 9
[23][9] -> 13 [23][9] -> 9
[23][10] -> 11 [23][10] -> 11
[23][11] -> 12 [23][11] -> 11
[23][12] -> 12 [23][12] -> 13
[23][13] -> 12 [23][13] -> 13
[23][14] -> 12 [23][14] -> 14
[23][15] -> 13 [23][15] -> 10
[23][16] -> 9 [23][16] -> 12
[23][17] -> 12 [23][17] -> 10
[23][18] -> 12 [23][18] -> 10
[23][19] -> 23 [23][19] -> 9
[24][0] -> 0 [24][0] -> 0
[24][1] -> 27 [24][1] -> 25
[24][2] -> 12 [24][2] -> 10
[24][3] -> 12 [24][3] -> 9
[24][4] -> 11 [24][4] -> 11
[24][5] -> 12 [24][5] -> 10
[24][6] -> 11 [24][6] -> 11
[24][7] -> 10 [24][7] -> 11
[24][8] -> 12 [24][8] -> 10
[24][9] -> 10 [24][9] -> 12
[24][10] -> 12 [24][10] -> 11
[24][11] -> 14 [24][11] -> 11
[24][12] -> 12 [24][12] -> 13
[24][13] -> 12 [24][13] -> 14
[24][14] -> 12 [24][14] -> 11
[24][15] -> 10 [24][15] -> 11
[24][16] -> 10 [24][16] -> 12
[24][17] -> 11 [24][17] -> 11
[24][18] -> 12 [24][18] -> 10
[24][19] -> 23 [24][19] -> 8
[25][0] -> 0 [25][0] -> 0
[25][1] -> 27 [25][1] -> 25
[25][2] -> 11 [25][2] -> 10
[25][3] -> 11 [25][3] -> 11
[25][4] -> 11 [25][4] -> 11
[25][5] -> 12 [25][5] -> 10
[25][6] -> 11 [25][6] -> 10
[25][7] -> 11 [25][7] -> 11
[25][8] -> 11 [25][8] -> 11
[25][9] -> 10 [25][9] -> 13
[25][10] -> 12 [25][10] -> 13
[25][11] -> 12 [25][11] -> 13
[25][12] -> 12 [25][12] -> 14
[25][13] -> 11 [25][13] -> 12
[25][14] -> 12 [25][14] -> 9
[25][15] -> 10 [25][15] -> 12
[25][16] -> 11 [25][16] -> 11
[25][17] -> 12 [25][17] -> 10
[25][18] -> 13 [25][18] -> 8
[25][19] -> 23 [25][19] -> 9
[26][0] -> 0 [26][0] -> 0
[26][1] -> 27 [26][1] -> 25
[26][2] -> 10 [26][2] -> 12
[26][3] -> 12 [26][3] -> 10
[26][4] -> 12 [26][4] -> 10
[26][5] -> 10 [26][5] -> 11
[26][6] -> 12 [26][6] -> 10
[26][7] -> 11 [26][7] -> 11
[26][8] -> 12 [26][8] -> 11
[26][9] -> 13 [26][9] -> 12
[26][10] -> 12 [26][10] -> 13
[26][11] -> 14 [26][11] -> 12
[26][12] -> 10 [26][12] -> 13
[26][13] -> 10 [26][13] -> 11
[26][14] -> 11 [26][14] -> 11
[26][15] -> 11 [26][15] -> 11
[26][16] -> 11 [26][16] -> 11
[26][17] -> 11 [26][17] -> 10
[26][18] -> 10 [26][18] -> 12
[26][19] -> 24 [26][19] -> 8
[27][0] -> 0 [27][0] -> 0
[27][1] -> 40 [27][1] -> 53
[27][2] -> 23 [27][2] -> 39
[27][3] -> 28 [27][3] -> 34
[27][4] -> 24 [27][4] -> 38
[27][5] -> 25 [27][5] -> 37
[27][6] -> 22 [27][6] -> 40
[27][7] -> 26 [27][7] -> 37
[27][8] -> 24 [27][8] -> 40
[27][9] -> 30 [27][9] -> 34
[27][10] -> 29 [27][10] -> 35
[27][11] -> 24 [27][11] -> 39
[27][12] -> 26 [27][12] -> 36
[27][13] -> 28 [27][13] -> 34
[27][14] -> 24 [27][14] -> 38
[27][15] -> 28 [27][15] -> 34
[27][16] -> 25 [27][16] -> 37
[27][17] -> 25 [27][17] -> 37
[27][18] -> 24 [27][18] -> 38
[27][19] -> 41 [27][19] -> 31