-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcode.txt
655 lines (606 loc) · 68.5 KB
/
code.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lte.marcelo;
/**
*
* @author Marcelo
*/
public class TelaCalc extends javax.swing.JFrame {
/**
* Creates new form TelaCalc
*/
public TelaCalc() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox<>();
jLabel3 = new javax.swing.JLabel();
jComboBox2 = new javax.swing.JComboBox<>();
jLabel4 = new javax.swing.JLabel();
jComboBox3 = new javax.swing.JComboBox<>();
jLabel5 = new javax.swing.JLabel();
jComboBox4 = new javax.swing.JComboBox<>();
jLabel6 = new javax.swing.JLabel();
jComboBox5 = new javax.swing.JComboBox<>();
jButton1 = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
jTextField4 = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jLabel12 = new javax.swing.JLabel();
jTextField6 = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
jTextField7 = new javax.swing.JTextField();
jLabel14 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
jLabel1.setText("Calculadora LTE");
jLabel2.setText("Largura de Banda");
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1.4 Mhz", "3 Mhz", "5 Mhz", "10 Mhz", "15 Mhz", "20 Mhz" }));
jLabel3.setText("Prefixo Cíclico (CP)");
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Normal", "Estendido" }));
jLabel4.setText("MCS");
jComboBox3.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "0", "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" }));
jLabel5.setText("Carrier Aggregation");
jComboBox4.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Sem CC", "1 CC", "2 CC", "3 CC", "4 CC", "5 CC" }));
jLabel6.setText("Transmissão");
jComboBox5.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Sem MIMO", "MIMO 2x2", "MIMO 4x4", "MIMO 8x8" }));
jButton1.setText("Calcular");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel7.setText("PRB");
jLabel8.setText("Índice TBS");
jLabel9.setText("Valor TBS");
jLabel10.setText("Modulação");
jLabel11.setText("Nº RE");
jLabel12.setText("Pela Equação");
jLabel13.setText("Pelos Gráficos");
jLabel14.setText("Taxa de transmissão DL [Mbps]");
jLabel15.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N
jLabel15.setText("-");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)
.addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(53, 53, 53)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(39, 39, 39)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel12)
.addGap(18, 18, 18)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(41, 41, 41)
.addComponent(jLabel13)
.addGap(18, 18, 18)
.addComponent(jTextField7))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel11))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(53, 53, 53)
.addComponent(jLabel8)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 58, Short.MAX_VALUE)
.addComponent(jTextField5))
.addGap(38, 38, 38)
.addComponent(jLabel9))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(162, 162, 162)
.addComponent(jLabel14)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
.addComponent(jLabel15, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))))))
.addGroup(layout.createSequentialGroup()
.addGap(172, 172, 172)
.addComponent(jLabel1)))
.addContainerGap(51, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(46, 46, 46)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(39, 39, 39)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel15))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
.addComponent(jLabel14)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(33, 33, 33))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
float indice_TBS = 0;
int TBS_Table_N[][] = {{16, 32, 56, 88, 120, 152, 176, 208, 224, 256, 288, 328, 344, 376, 392, 424, 456, 488, 504, 536, 568, 600, 616, 648, 680, 712, 744, 776, 776, 808, 840, 872, 904, 936, 968, 1000, 1032, 1032, 1064, 1096, 1128, 1160, 1192, 1224, 1256, 1256, 1288, 1320, 1352, 1384, 1416, 1416, 1480, 1480, 1544, 1544, 1608, 1608, 1608, 1672, 1672, 1736, 1736, 1800, 1800, 1800, 1864, 1864, 1928, 1928, 1992, 1992, 2024, 2088, 2088, 2088, 2152, 2152, 2216, 2216, 2280, 2280, 2280, 2344, 2344, 2408, 2408, 2472, 2472, 2536, 2536, 2536, 2600, 2600, 2664, 2664, 2728, 2728, 2728, 2792},
{24, 56, 88, 144, 176, 208, 224, 256, 328, 344, 376, 424, 456, 488, 520, 568, 600, 632, 680, 712, 744, 776, 808, 872, 904, 936, 968, 1000, 1032, 1064, 1128, 1160, 1192, 1224, 1256, 1288, 1352, 1384, 1416, 1416, 1480, 1544, 1544, 1608, 1608, 1672, 1736, 1736, 1800, 1800, 1864, 1864, 1928, 1992, 1992, 2024, 2088, 2088, 2152, 2152, 2216, 2280, 2280, 2344, 2344, 2408, 2472, 2472, 2536, 2536, 2600, 2600, 2664, 2728, 2728, 2792, 2792, 2856, 2856, 2856, 2984, 2984, 2984, 3112, 3112, 3112, 3240, 3240, 3240, 3240, 3368, 3368, 3368, 3496, 3496, 3496, 3496, 3624, 3624, 3624},
{32, 72, 144, 176, 208, 256, 296, 328, 376, 424, 472, 520, 568, 616, 648, 696, 744, 776, 840, 872, 936, 968, 1000, 1064, 1096, 1160, 1192, 1256, 1288, 1320, 1384, 1416, 1480, 1544, 1544, 1608, 1672, 1672, 1736, 1800, 1800, 1864, 1928, 1992, 2024, 2088, 2088, 2152, 2216, 2216, 2280, 2344, 2344, 2408, 2472, 2536, 2536, 2600, 2664, 2664, 2728, 2792, 2856, 2856, 2856, 2984, 2984, 3112, 3112, 3112, 3240, 3240, 3240, 3368, 3368, 3368, 3496, 3496, 3496, 3624, 3624, 3624, 3752, 3752, 3880, 3880, 3880, 4008, 4008, 4008, 4136, 4136, 4136, 4264, 4264, 4264, 4392, 4392, 4392, 4584},
{40, 104, 176, 208, 256, 328, 392, 440, 504, 568, 616, 680, 744, 808, 872, 904, 968, 1032, 1096, 1160, 1224, 1256, 1320, 1384, 1416, 1480, 1544, 1608, 1672, 1736, 1800, 1864, 1928, 1992, 2024, 2088, 2152, 2216, 2280, 2344, 2408, 2472, 2536, 2536, 2600, 2664, 2728, 2792, 2856, 2856, 2984, 2984, 3112, 3112, 3240, 3240, 3368, 3368, 3496, 3496, 3624, 3624, 3624, 3752, 3752, 3880, 3880, 4008, 4008, 4136, 4136, 4264, 4264, 4392, 4392, 4392, 4584, 4584, 4584, 4776, 4776, 4776, 4776, 4968, 4968, 4968, 5160, 5160, 5160, 5352, 5352, 5352, 5352, 5544, 5544, 5544, 5736, 5736, 5736, 5736},
{56, 120, 208, 256, 328, 408, 488, 552, 632, 696, 776, 840, 904, 1000, 1064, 1128, 1192, 1288, 1352, 1416, 1480, 1544, 1608, 1736, 1800, 1864, 1928, 1992, 2088, 2152, 2216, 2280, 2344, 2408, 2472, 2600, 2664, 2728, 2792, 2856, 2984, 2984, 3112, 3112, 3240, 3240, 3368, 3496, 3496, 3624, 3624, 3752, 3752, 3880, 4008, 4008, 4136, 4136, 4264, 4264, 4392, 4392, 4584, 4584, 4584, 4776, 4776, 4968, 4968, 4968, 5160, 5160, 5160, 5352, 5352, 5544, 5544, 5544, 5736, 5736, 5736, 5992, 5992, 5992, 5992, 6200, 6200, 6200, 6456, 6456, 6456, 6456, 6712, 6712, 6712, 6968, 6968, 6968, 6968, 7224},
{72, 144, 224, 328, 424, 504, 600, 680, 776, 872, 968, 1032, 1128, 1224, 1320, 1384, 1480, 1544, 1672, 1736, 1864, 1928, 2024, 2088, 2216, 2280, 2344, 2472, 2536, 2664, 2728, 2792, 2856, 2984, 3112, 3112, 3240, 3368, 3496, 3496, 3624, 3752, 3752, 3880, 4008, 4008, 4136, 4264, 4392, 4392, 4584, 4584, 4776, 4776, 4776, 4968, 4968, 5160, 5160, 5352, 5352, 5544, 5544, 5736, 5736, 5736, 5992, 5992, 5992, 6200, 6200, 6200, 6456, 6456, 6712, 6712, 6712, 6968, 6968, 6968, 7224, 7224, 7224, 7480, 7480, 7480, 7736, 7736, 7736, 7992, 7992, 7992, 8248, 8248, 8248, 8504, 8504, 8760, 8760, 8760},
{328, 176, 256, 392, 504, 600, 712, 808, 936, 1032, 1128, 1224, 1352, 1480, 1544, 1672, 1736, 1864, 1992, 2088, 2216, 2280, 2408, 2472, 2600, 2728, 2792, 2984, 2984, 3112, 3240, 3368, 3496, 3496, 3624, 3752, 3880, 4008, 4136, 4136, 4264, 4392, 4584, 4584, 4776, 4776, 4968, 4968, 5160, 5160, 5352, 5352, 5544, 5736, 5736, 5992, 5992, 5992, 6200, 6200, 6456, 6456, 6456, 6712, 6712, 6968, 6968, 6968, 7224, 7224, 7480, 7480, 7736, 7736, 7736, 7992, 7992, 8248, 8248, 8248, 8504, 8504, 8760, 8760, 8760, 9144, 9144, 9144, 9144, 9528, 9528, 9528, 9528, 9912, 9912, 9912, 10296, 10296, 10296, 10296},
{104, 224, 328, 472, 584, 712, 840, 968, 1096, 1224, 1320, 1480, 1608, 1672, 1800, 1928, 2088, 2216, 2344, 2472, 2536, 2664, 2792, 2984, 3112, 3240, 3368, 3368, 3496, 3624, 3752, 3880, 4008, 4136, 4264, 4392, 4584, 4584, 4776, 4968, 4968, 5160, 5352, 5352, 5544, 5736, 5736, 5992, 5992, 6200, 6200, 6456, 6456, 6712, 6712, 6712, 6968, 6968, 7224, 7224, 7480, 7480, 7736, 7736, 7992, 7992, 8248, 8248, 8504, 8504, 8760, 8760, 8760, 9144, 9144, 9144, 9528, 9528, 9528, 9912, 9912, 9912, 10296, 10296, 10296, 10680, 10680, 10680, 11064, 11064, 11064, 11448, 11448, 11448, 11448, 11832, 11832, 11832, 12216, 12216},
{120, 256, 392, 536, 680, 808, 968, 1096, 1256, 1384, 1544, 1672, 1800, 1928, 2088, 2216, 2344, 2536, 2664, 2792, 2984, 3112, 3240, 3368, 3496, 3624, 3752, 3880, 4008, 4264, 4392, 4584, 4584, 4776, 4968, 4968, 5160, 5352, 5544, 5544, 5736, 5992, 5992, 6200, 6200, 6456, 6456, 6712, 6968, 6968, 7224, 7224, 7480, 7480, 7736, 7736, 7992, 7992, 8248, 8504, 8504, 8760, 8760, 9144, 9144, 9144, 9528, 9528, 9528, 9912, 9912, 9912, 10296, 10296, 10680, 10680, 10680, 11064, 11064, 11064, 11448, 11448, 11448, 11832, 11832, 12216, 12216, 12216, 12576, 12576, 12576, 12960, 12960, 12960, 13536, 13536, 13536, 13536, 14112, 14112},
{136, 296, 456, 616, 776, 936, 1096, 1256, 1416, 1544, 1736, 1864, 2024, 2216, 2344, 2536, 2664, 2856, 2984, 3112, 3368, 3496, 3624, 3752, 4008, 4136, 4264, 4392, 4584, 4776, 4968, 5160, 5160, 5352, 5544, 5736, 5736, 5992, 6200, 6200, 6456, 6712, 6712, 6968, 6968, 7224, 7480, 7480, 7736, 7992, 7992, 8248, 8248, 8504, 8760, 8760, 9144, 9144, 9144, 9528, 9528, 9912, 9912, 10296, 10296, 10296, 10680, 10680, 11064, 11064, 11064, 11448, 11448, 11832, 11832, 11832, 12216, 12216, 12576, 12576, 12960, 12960, 12960, 13536, 13536, 13536, 13536, 14112, 14112, 14112, 14112, 14688, 14688, 14688, 15264, 15264, 15264, 15264, 15840, 15840},
{144, 328, 504, 680, 872, 1032, 1224, 1384, 1544, 1736, 1928, 2088, 2280, 2472, 2664, 2792, 2984, 3112, 3368, 3496, 3752, 3880, 4008, 4264, 4392, 4584, 4776, 4968, 5160, 5352, 5544, 5736, 5736, 5992, 6200, 6200, 6456, 6712, 6712, 6968, 7224, 7480, 7480, 7736, 7992, 7992, 8248, 8504, 8504, 8760, 9144, 9144, 9144, 9528, 9528, 9912, 9912, 10296, 10296, 10680, 10680, 11064, 11064, 11448, 11448, 11448, 11832, 11832, 12216, 12216, 12576, 12576, 12960, 12960, 12960, 13536, 13536, 13536, 14112, 14112, 14112, 14688, 14688, 14688, 14688, 15264, 15264, 15264, 15840, 15840, 15840, 16416, 16416, 16416, 16992, 16992, 16992, 16992, 17568, 17568},
{176, 376, 584, 776, 1000, 1192, 1384, 1608, 1800, 2024, 2216, 2408, 2600, 2792, 2984, 3240, 3496, 3624, 3880, 4008, 4264, 4392, 4584, 4776, 4968, 5352, 5544, 5736, 5992, 5992, 6200, 6456, 6712, 6968, 6968, 7224, 7480, 7736, 7736, 7992, 8248, 8504, 8760, 8760, 9144, 9144, 9528, 9528, 9912, 9912, 10296, 10680, 10680, 11064, 11064, 11448, 11448, 11832, 11832, 12216, 12216, 12576, 12576, 12960, 12960, 13536, 13536, 13536, 14112, 14112, 14112, 14688, 14688, 14688, 15264, 15264, 15840, 15840, 15840, 16416, 16416, 16416, 16992, 16992, 16992, 17568, 17568, 17568, 18336, 18336, 18336, 18336, 19080, 19080, 19080, 19080, 19848, 19848, 19848, 19848},
{208, 440, 680, 904, 1128, 1352, 1608, 1800, 2024, 2280, 2472, 2728, 2984, 3240, 3368, 3624, 3880, 4136, 4392, 4584, 4776, 4968, 5352, 5544, 5736, 5992, 6200, 6456, 6712, 6712, 6968, 7224, 7480, 7736, 7992, 8248, 8504, 8760, 8760, 9144, 9528, 9528, 9912, 9912, 10296, 10680, 10680, 11064, 11064, 11448, 11832, 11832, 12216, 12216, 12576, 12576, 12960, 12960, 13536, 13536, 14112, 14112, 14112, 14688, 14688, 15264, 15264, 15264, 15840, 15840, 16416, 16416, 16416, 16992, 16992, 17568, 17568, 17568, 18336, 18336, 18336, 19080, 19080, 19080, 19080, 19848, 19848, 19848, 20616, 20616, 20616, 21384, 21384, 21384, 21384, 22152, 22152, 22152, 22920, 22920},
{224, 488, 744, 1000, 1256, 1544, 1800, 2024, 2280, 2536, 2856, 3112, 3368, 3624, 3880, 4136, 4392, 4584, 4968, 5160, 5352, 5736, 5992, 6200, 6456, 6712, 6968, 7224, 7480, 7736, 7992, 8248, 8504, 8760, 9144, 9144, 9528, 9912, 9912, 10296, 10680, 10680, 11064, 11448, 11448, 11832, 12216, 12216, 12576, 12960, 12960, 13536, 13536, 14112, 14112, 14688, 14688, 14688, 15264, 15264, 15840, 15840, 16416, 16416, 16992, 16992, 16992, 17568, 17568, 18336, 18336, 18336, 19080, 19080, 19080, 19848, 19848, 19848, 20616, 20616, 20616, 21384, 21384, 21384, 22152, 22152, 22152, 22920, 22920, 22920, 23688, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 25456, 25456},
{256, 552, 840, 1128, 1416, 1736, 1992, 2280, 2600, 2856, 3112, 3496, 3752, 4008, 4264, 4584, 4968, 5160, 5544, 5736, 5992, 6200, 6456, 6968, 7224, 7480, 7736, 7992, 8248, 8504, 8760, 9144, 9528, 9912, 9912, 10296, 10680, 11064, 11064, 11448, 11832, 12216, 12216, 12576, 12960, 12960, 13536, 13536, 14112, 14112, 14688, 14688, 15264, 15264, 15840, 15840, 16416, 16416, 16992, 16992, 17568, 17568, 18336, 18336, 18336, 19080, 19080, 19848, 19848, 19848, 20616, 20616, 20616, 21384, 21384, 22152, 22152, 22152, 22920, 22920, 22920, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 25456, 25456, 26416, 26416, 26416, 27376, 27376, 27376, 28336, 28336, 28336, 28336},
{280, 600, 904, 1224, 1544, 1800, 2152, 2472, 2728, 3112, 3368, 3624, 4008, 4264, 4584, 4968, 5160, 5544, 5736, 6200, 6456, 6712, 6968, 7224, 7736, 7992, 8248, 8504, 8760, 9144, 9528, 9912, 10296, 10296, 10680, 11064, 11448, 11832, 11832, 12216, 12576, 12960, 12960, 13536, 13536, 14112, 14688, 14688, 15264, 15264, 15840, 15840, 16416, 16416, 16992, 16992, 17568, 17568, 18336, 18336, 18336, 19080, 19080, 19848, 19848, 20616, 20616, 20616, 21384, 21384, 22152, 22152, 22152, 22920, 22920, 23688, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 25456, 26416, 26416, 26416, 27376, 27376, 27376, 28336, 28336, 28336, 29296, 29296, 29296, 29296, 30576, 30576, 30576},
{328, 632, 968, 1288, 1608, 1928, 2280, 2600, 2984, 3240, 3624, 3880, 4264, 4584, 4968, 5160, 5544, 5992, 6200, 6456, 6712, 7224, 7480, 7736, 7992, 8504, 8760, 9144, 9528, 9912, 9912, 10296, 10680, 11064, 11448, 11832, 12216, 12216, 12576, 12960, 13536, 13536, 14112, 14112, 14688, 14688, 15264, 15840, 15840, 16416, 16416, 16992, 16992, 17568, 17568, 18336, 18336, 19080, 19080, 19848, 19848, 19848, 20616, 20616, 21384, 21384, 22152, 22152, 22152, 22920, 22920, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 25456, 26416, 26416, 26416, 27376, 27376, 27376, 28336, 28336, 28336, 29296, 29296, 29296, 30576, 30576, 30576, 30576, 31704, 31704, 31704, 31704, 32856},
{336, 696, 1064, 1416, 1800, 2152, 2536, 2856, 3240, 3624, 4008, 4392, 4776, 5160, 5352, 5736, 6200, 6456, 6712, 7224, 7480, 7992, 8248, 8760, 9144, 9528, 9912, 10296, 10296, 10680, 11064, 11448, 11832, 12216, 12576, 12960, 13536, 13536, 14112, 14688, 14688, 15264, 15264, 15840, 16416, 16416, 16992, 17568, 17568, 18336, 18336, 19080, 19080, 19848, 19848, 20616, 20616, 20616, 21384, 21384, 22152, 22152, 22920, 22920, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 26416, 26416, 26416, 27376, 27376, 27376, 28336, 28336, 29296, 29296, 29296, 30576, 30576, 30576, 30576, 31704, 31704, 31704, 32856, 32856, 32856, 34008, 34008, 34008, 35160, 35160, 35160, 35160, 36696},
{376, 776, 1160, 1544, 1992, 2344, 2792, 3112, 3624, 4008, 4392, 4776, 5160, 5544, 5992, 6200, 6712, 7224, 7480, 7992, 8248, 8760, 9144, 9528, 9912, 10296, 10680, 11064, 11448, 11832, 12216, 12576, 12960, 13536, 14112, 14112, 14688, 15264, 15264, 15840, 16416, 16416, 16992, 17568, 17568, 18336, 18336, 19080, 19080, 19848, 19848, 20616, 21384, 21384, 22152, 22152, 22920, 22920, 23688, 23688, 24496, 24496, 24496, 25456, 25456, 26416, 26416, 27376, 27376, 27376, 28336, 28336, 29296, 29296, 29296, 30576, 30576, 30576, 31704, 31704, 31704, 32856, 32856, 32856, 34008, 34008, 34008, 35160, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 37888, 37888, 39232, 39232, 39232},
{408, 840, 1288, 1736, 2152, 2600, 2984, 3496, 3880, 4264, 4776, 5160, 5544, 5992, 6456, 6968, 7224, 7736, 8248, 8504, 9144, 9528, 9912, 10296, 10680, 11064, 11448, 12216, 12576, 12960, 13536, 13536, 14112, 14688, 15264, 15264, 15840, 16416, 16992, 16992, 17568, 18336, 18336, 19080, 19080, 19848, 20616, 20616, 21384, 21384, 22152, 22152, 22920, 22920, 23688, 24496, 24496, 25456, 25456, 25456, 26416, 26416, 27376, 27376, 28336, 28336, 29296, 29296, 29296, 30576, 30576, 30576, 31704, 31704, 32856, 32856, 32856, 34008, 34008, 34008, 35160, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 37888, 39232, 39232, 39232, 40576, 40576, 40576, 40576, 42368, 42368, 42368, 43816},
{440, 904, 1384, 1864, 2344, 2792, 3240, 3752, 4136, 4584, 5160, 5544, 5992, 6456, 6968, 7480, 7992, 8248, 8760, 9144, 9912, 10296, 10680, 11064, 11448, 12216, 12576, 12960, 13536, 14112, 14688, 14688, 15264, 15840, 16416, 16992, 16992, 17568, 18336, 18336, 19080, 19848, 19848, 20616, 20616, 21384, 22152, 22152, 22920, 22920, 23688, 24496, 24496, 25456, 25456, 26416, 26416, 27376, 27376, 28336, 28336, 29296, 29296, 29296, 30576, 30576, 31704, 31704, 31704, 32856, 32856, 34008, 34008, 34008, 35160, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 39232, 39232, 39232, 40576, 40576, 40576, 42368, 42368, 42368, 42368, 43816, 43816, 43816, 45352, 45352, 45352, 46888, 46888},
{488, 1000, 1480, 1992, 2472, 2984, 3496, 4008, 4584, 4968, 5544, 5992, 6456, 6968, 7480, 7992, 8504, 9144, 9528, 9912, 10680, 11064, 11448, 12216, 12576, 12960, 13536, 14112, 14688, 15264, 15840, 15840, 16416, 16992, 17568, 18336, 18336, 19080, 19848, 19848, 20616, 21384, 21384, 22152, 22920, 22920, 23688, 24496, 24496, 25456, 25456, 26416, 26416, 27376, 27376, 28336, 28336, 29296, 29296, 30576, 30576, 31704, 31704, 31704, 32856, 32856, 34008, 34008, 35160, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 39232, 39232, 39232, 40576, 40576, 40576, 42368, 42368, 42368, 43816, 43816, 43816, 45352, 45352, 45352, 46888, 46888, 46888, 46888, 48936, 48936, 48936, 48936, 51024},
{520, 1064, 1608, 2152, 2664, 3240, 3752, 4264, 4776, 5352, 5992, 6456, 6968, 7480, 7992, 8504, 9144, 9528, 10296, 10680, 11448, 11832, 12576, 12960, 13536, 14112, 14688, 15264, 15840, 16416, 16992, 16992, 17568, 18336, 19080, 19080, 19848, 20616, 21384, 21384, 22152, 22920, 22920, 23688, 24496, 24496, 25456, 25456, 26416, 27376, 27376, 28336, 28336, 29296, 29296, 30576, 30576, 31704, 31704, 32856, 32856, 34008, 34008, 34008, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 39232, 39232, 40576, 40576, 40576, 42368, 42368, 42368, 43816, 43816, 43816, 45352, 45352, 45352, 46888, 46888, 46888, 48936, 48936, 48936, 48936, 51024, 51024, 51024, 51024, 52752, 52752, 52752, 55056},
{552, 1128, 1736, 2280, 2856, 3496, 4008, 4584, 5160, 5736, 6200, 6968, 7480, 7992, 8504, 9144, 9912, 10296, 11064, 11448, 12216, 12576, 12960, 13536, 14112, 14688, 15264, 15840, 16416, 16992, 17568, 18336, 19080, 19848, 19848, 20616, 21384, 22152, 22152, 22920, 23688, 24496, 24496, 25456, 25456, 26416, 27376, 27376, 28336, 28336, 29296, 29296, 30576, 30576, 31704, 31704, 32856, 32856, 34008, 34008, 35160, 35160, 36696, 36696, 37888, 37888, 37888, 39232, 39232, 40576, 40576, 40576, 42368, 42368, 43816, 43816, 43816, 45352, 45352, 45352, 46888, 46888, 46888, 48936, 48936, 48936, 51024, 51024, 51024, 51024, 52752, 52752, 52752, 55056, 55056, 55056, 55056, 57336, 57336, 57336},
{584, 1192, 1800, 2408, 2984, 3624, 4264, 4968, 5544, 5992, 6712, 7224, 7992, 8504, 9144, 9912, 10296, 11064, 11448, 12216, 12960, 13536, 14112, 14688, 15264, 15840, 16416, 16992, 17568, 18336, 19080, 19848, 19848, 20616, 21384, 22152, 22920, 22920, 23688, 24496, 25456, 25456, 26416, 26416, 27376, 28336, 28336, 29296, 29296, 30576, 31704, 31704, 32856, 32856, 34008, 34008, 35160, 35160, 36696, 36696, 36696, 37888, 37888, 39232, 39232, 40576, 40576, 42368, 42368, 42368, 43816, 43816, 45352, 45352, 45352, 46888, 46888, 46888, 48936, 48936, 48936, 51024, 51024, 51024, 52752, 52752, 52752, 52752, 55056, 55056, 55056, 57336, 57336, 57336, 57336, 59256, 59256, 59256, 61664, 61664},
{616, 1256, 1864, 2536, 3112, 3752, 4392, 5160, 5736, 6200, 6968, 7480, 8248, 8760, 9528, 10296, 10680, 11448, 12216, 12576, 13536, 14112, 14688, 15264, 15840, 16416, 16992, 17568, 18336, 19080, 19848, 20616, 20616, 21384, 22152, 22920, 23688, 24496, 24496, 25456, 26416, 26416, 27376, 28336, 28336, 29296, 29296, 30576, 31704, 31704, 32856, 32856, 34008, 34008, 35160, 35160, 36696, 36696, 37888, 37888, 39232, 39232, 40576, 40576, 40576, 42368, 42368, 43816, 43816, 43816, 45352, 45352, 46888, 46888, 46888, 48936, 48936, 48936, 51024, 51024, 51024, 52752, 52752, 52752, 55056, 55056, 55056, 55056, 57336, 57336, 57336, 59256, 59256, 59256, 61664, 61664, 61664, 61664, 63776, 63776},
{712, 1480, 2216, 2984, 3752, 4392, 5160, 5992, 6712, 7480, 8248, 8760, 9528, 10296, 11064, 11832, 12576, 13536, 14112, 14688, 15264, 16416, 16992, 17568, 18336, 19080, 19848, 20616, 21384, 22152, 22920, 23688, 24496, 25456, 25456, 26416, 27376, 28336, 29296, 29296, 30576, 30576, 31704, 32856, 32856, 34008, 35160, 35160, 36696, 36696, 37888, 37888, 39232, 40576, 40576, 40576, 42368, 42368, 43816, 43816, 45352, 45352, 46888, 46888, 48936, 48936, 48936, 51024, 51024, 52752, 52752, 52752, 55056, 55056, 55056, 55056, 57336, 57336, 57336, 59256, 59256, 59256, 61664, 61664, 61664, 63776, 63776, 63776, 66592, 66592, 66592, 68808, 68808, 68808, 71112, 71112, 71112, 73712, 73712, 75376}};
double TBS_Table_E[][] = {{13.71, 27.43, 48.0, 75.43, 102.86, 130.29, 150.86, 178.29, 192.0, 219.43, 246.86, 281.14, 294.86, 322.29, 336.0, 363.43, 390.86, 418.29, 432.0, 459.43, 486.86, 514.29, 528.0, 555.43, 582.86, 610.29, 637.71, 665.14, 665.14, 692.57, 720.0, 747.43, 774.86, 802.29, 829.71, 857.14, 884.57, 884.57, 912.0, 939.43, 966.86, 994.29, 1021.71, 1049.14, 1076.57, 1076.57, 1104.0, 1131.43, 1158.86, 1186.29, 1213.71, 1213.71, 1268.57, 1268.57, 1323.43, 1323.43, 1378.29, 1378.29, 1378.29, 1433.14, 1433.14, 1488.0, 1488.0, 1542.86, 1542.86, 1542.86, 1597.71, 1597.71, 1652.57, 1652.57, 1707.43, 1707.43, 1734.86, 1789.71, 1789.71, 1789.71, 1844.57, 1844.57, 1899.43, 1899.43, 1954.29, 1954.29, 1954.29, 2009.14, 2009.14, 2064.0, 2064.0, 2118.86, 2118.86, 2173.71, 2173.71, 2173.71, 2228.57, 2228.57, 2283.43, 2283.43, 2338.29, 2338.29, 2338.29, 2393.14},
{20.57, 48.0, 75.43, 123.43, 150.86, 178.29, 192.0, 219.43, 281.14, 294.86, 322.29, 363.43, 390.86, 418.29, 445.71, 486.86, 514.29, 541.71, 582.86, 610.29, 637.71, 665.14, 692.57, 747.43, 774.86, 802.29, 829.71, 857.14, 884.57, 912.0, 966.86, 994.29, 1021.71, 1049.14, 1076.57, 1104.0, 1158.86, 1186.29, 1213.71, 1213.71, 1268.57, 1323.43, 1323.43, 1378.29, 1378.29, 1433.14, 1488.0, 1488.0, 1542.86, 1542.86, 1597.71, 1597.71, 1652.57, 1707.43, 1707.43, 1734.86, 1789.71, 1789.71, 1844.57, 1844.57, 1899.43, 1954.29, 1954.29, 2009.14, 2009.14, 2064.0, 2118.86, 2118.86, 2173.71, 2173.71, 2228.57, 2228.57, 2283.43, 2338.29, 2338.29, 2393.14, 2393.14, 2448.0, 2448.0, 2448.0, 2557.71, 2557.71, 2557.71, 2667.43, 2667.43, 2667.43, 2777.14, 2777.14, 2777.14, 2777.14, 2886.86, 2886.86, 2886.86, 2996.57, 2996.57, 2996.57, 2996.57, 3106.29, 3106.29, 3106.29},
{27.43, 61.71, 123.43, 150.86, 178.29, 219.43, 253.71, 281.14, 322.29, 363.43, 404.57, 445.71, 486.86, 528.0, 555.43, 596.57, 637.71, 665.14, 720.0, 747.43, 802.29, 829.71, 857.14, 912.0, 939.43, 994.29, 1021.71, 1076.57, 1104.0, 1131.43, 1186.29, 1213.71, 1268.57, 1323.43, 1323.43, 1378.29, 1433.14, 1433.14, 1488.0, 1542.86, 1542.86, 1597.71, 1652.57, 1707.43, 1734.86, 1789.71, 1789.71, 1844.57, 1899.43, 1899.43, 1954.29, 2009.14, 2009.14, 2064.0, 2118.86, 2173.71, 2173.71, 2228.57, 2283.43, 2283.43, 2338.29, 2393.14, 2448.0, 2448.0, 2448.0, 2557.71, 2557.71, 2667.43, 2667.43, 2667.43, 2777.14, 2777.14, 2777.14, 2886.86, 2886.86, 2886.86, 2996.57, 2996.57, 2996.57, 3106.29, 3106.29, 3106.29, 3216.0, 3216.0, 3325.71, 3325.71, 3325.71, 3435.43, 3435.43, 3435.43, 3545.14, 3545.14, 3545.14, 3654.86, 3654.86, 3654.86, 3764.57, 3764.57, 3764.57, 3929.14},
{34.29, 89.14, 150.86, 178.29, 219.43, 281.14, 336.0, 377.14, 432.0, 486.86, 528.0, 582.86, 637.71, 692.57, 747.43, 774.86, 829.71, 884.57, 939.43, 994.29, 1049.14, 1076.57, 1131.43, 1186.29, 1213.71, 1268.57, 1323.43, 1378.29, 1433.14, 1488.0, 1542.86, 1597.71, 1652.57, 1707.43, 1734.86, 1789.71, 1844.57, 1899.43, 1954.29, 2009.14, 2064.0, 2118.86, 2173.71, 2173.71, 2228.57, 2283.43, 2338.29, 2393.14, 2448.0, 2448.0, 2557.71, 2557.71, 2667.43, 2667.43, 2777.14, 2777.14, 2886.86, 2886.86, 2996.57, 2996.57, 3106.29, 3106.29, 3106.29, 3216.0, 3216.0, 3325.71, 3325.71, 3435.43, 3435.43, 3545.14, 3545.14, 3654.86, 3654.86, 3764.57, 3764.57, 3764.57, 3929.14, 3929.14, 3929.14, 4093.71, 4093.71, 4093.71, 4093.71, 4258.29, 4258.29, 4258.29, 4422.86, 4422.86, 4422.86, 4587.43, 4587.43, 4587.43, 4587.43, 4752.0, 4752.0, 4752.0, 4916.57, 4916.57, 4916.57, 4916.57},
{48.0, 102.86, 178.29, 219.43, 281.14, 349.71, 418.29, 473.14, 541.71, 596.57, 665.14, 720.0, 774.86, 857.14, 912.0, 966.86, 1021.71, 1104.0, 1158.86, 1213.71, 1268.57, 1323.43, 1378.29, 1488.0, 1542.86, 1597.71, 1652.57, 1707.43, 1789.71, 1844.57, 1899.43, 1954.29, 2009.14, 2064.0, 2118.86, 2228.57, 2283.43, 2338.29, 2393.14, 2448.0, 2557.71, 2557.71, 2667.43, 2667.43, 2777.14, 2777.14, 2886.86, 2996.57, 2996.57, 3106.29, 3106.29, 3216.0, 3216.0, 3325.71, 3435.43, 3435.43, 3545.14, 3545.14, 3654.86, 3654.86, 3764.57, 3764.57, 3929.14, 3929.14, 3929.14, 4093.71, 4093.71, 4258.29, 4258.29, 4258.29, 4422.86, 4422.86, 4422.86, 4587.43, 4587.43, 4752.0, 4752.0, 4752.0, 4916.57, 4916.57, 4916.57, 5136.0, 5136.0, 5136.0, 5136.0, 5314.29, 5314.29, 5314.29, 5533.71, 5533.71, 5533.71, 5533.71, 5753.14, 5753.14, 5753.14, 5972.57, 5972.57, 5972.57, 5972.57, 6192.0},
{61.71, 123.43, 192.0, 281.14, 363.43, 432.0, 514.29, 582.86, 665.14, 747.43, 829.71, 884.57, 966.86, 1049.14, 1131.43, 1186.29, 1268.57, 1323.43, 1433.14, 1488.0, 1597.71, 1652.57, 1734.86, 1789.71, 1899.43, 1954.29, 2009.14, 2118.86, 2173.71, 2283.43, 2338.29, 2393.14, 2448.0, 2557.71, 2667.43, 2667.43, 2777.14, 2886.86, 2996.57, 2996.57, 3106.29, 3216.0, 3216.0, 3325.71, 3435.43, 3435.43, 3545.14, 3654.86, 3764.57, 3764.57, 3929.14, 3929.14, 4093.71, 4093.71, 4093.71, 4258.29, 4258.29, 4422.86, 4422.86, 4587.43, 4587.43, 4752.0, 4752.0, 4916.57, 4916.57, 4916.57, 5136.0, 5136.0, 5136.0, 5314.29, 5314.29, 5314.29, 5533.71, 5533.71, 5753.14, 5753.14, 5753.14, 5972.57, 5972.57, 5972.57, 6192.0, 6192.0, 6192.0, 6411.43, 6411.43, 6411.43, 6630.86, 6630.86, 6630.86, 6850.29, 6850.29, 6850.29, 7069.71, 7069.71, 7069.71, 7289.14, 7289.14, 7508.57, 7508.57, 7508.57},
{281.14, 150.86, 219.43, 336.0, 432.0, 514.29, 610.29, 692.57, 802.29, 884.57, 966.86, 1049.14, 1158.86, 1268.57, 1323.43, 1433.14, 1488.0, 1597.71, 1707.43, 1789.71, 1899.43, 1954.29, 2064.0, 2118.86, 2228.57, 2338.29, 2393.14, 2557.71, 2557.71, 2667.43, 2777.14, 2886.86, 2996.57, 2996.57, 3106.29, 3216.0, 3325.71, 3435.43, 3545.14, 3545.14, 3654.86, 3764.57, 3929.14, 3929.14, 4093.71, 4093.71, 4258.29, 4258.29, 4422.86, 4422.86, 4587.43, 4587.43, 4752.0, 4916.57, 4916.57, 5136.0, 5136.0, 5136.0, 5314.29, 5314.29, 5533.71, 5533.71, 5533.71, 5753.14, 5753.14, 5972.57, 5972.57, 5972.57, 6192.0, 6192.0, 6411.43, 6411.43, 6630.86, 6630.86, 6630.86, 6850.29, 6850.29, 7069.71, 7069.71, 7069.71, 7289.14, 7289.14, 7508.57, 7508.57, 7508.57, 7837.71, 7837.71, 7837.71, 7837.71, 8166.86, 8166.86, 8166.86, 8166.86, 8496.0, 8496.0, 8496.0, 8825.14, 8825.14, 8825.14, 8825.14},
{89.14, 192.0, 281.14, 404.57, 500.57, 610.29, 720.0, 829.71, 939.43, 1049.14, 1131.43, 1268.57, 1378.29, 1433.14, 1542.86, 1652.57, 1789.71, 1899.43, 2009.14, 2118.86, 2173.71, 2283.43, 2393.14, 2557.71, 2667.43, 2777.14, 2886.86, 2886.86, 2996.57, 3106.29, 3216.0, 3325.71, 3435.43, 3545.14, 3654.86, 3764.57, 3929.14, 3929.14, 4093.71, 4258.29, 4258.29, 4422.86, 4587.43, 4587.43, 4752.0, 4916.57, 4916.57, 5136.0, 5136.0, 5314.29, 5314.29, 5533.71, 5533.71, 5753.14, 5753.14, 5753.14, 5972.57, 5972.57, 6192.0, 6192.0, 6411.43, 6411.43, 6630.86, 6630.86, 6850.29, 6850.29, 7069.71, 7069.71, 7289.14, 7289.14, 7508.57, 7508.57, 7508.57, 7837.71, 7837.71, 7837.71, 8166.86, 8166.86, 8166.86, 8496.0, 8496.0, 8496.0, 8825.14, 8825.14, 8825.14, 9154.29, 9154.29, 9154.29, 9483.43, 9483.43, 9483.43, 9812.57, 9812.57, 9812.57, 9812.57, 10141.71, 10141.71, 10141.71, 10470.86, 10470.86},
{102.86, 219.43, 336.0, 459.43, 582.86, 692.57, 829.71, 939.43, 1076.57, 1186.29, 1323.43, 1433.14, 1542.86, 1652.57, 1789.71, 1899.43, 2009.14, 2173.71, 2283.43, 2393.14, 2557.71, 2667.43, 2777.14, 2886.86, 2996.57, 3106.29, 3216.0, 3325.71, 3435.43, 3654.86, 3764.57, 3929.14, 3929.14, 4093.71, 4258.29, 4258.29, 4422.86, 4587.43, 4752.0, 4752.0, 4916.57, 5136.0, 5136.0, 5314.29, 5314.29, 5533.71, 5533.71, 5753.14, 5972.57, 5972.57, 6192.0, 6192.0, 6411.43, 6411.43, 6630.86, 6630.86, 6850.29, 6850.29, 7069.71, 7289.14, 7289.14, 7508.57, 7508.57, 7837.71, 7837.71, 7837.71, 8166.86, 8166.86, 8166.86, 8496.0, 8496.0, 8496.0, 8825.14, 8825.14, 9154.29, 9154.29, 9154.29, 9483.43, 9483.43, 9483.43, 9812.57, 9812.57, 9812.57, 10141.71, 10141.71, 10470.86, 10470.86, 10470.86, 10779.43, 10779.43, 10779.43, 11108.57, 11108.57, 11108.57, 11602.29, 11602.29, 11602.29, 11602.29, 12096.0, 12096.0},
{116.57, 253.71, 390.86, 528.0, 665.14, 802.29, 939.43, 1076.57, 1213.71, 1323.43, 1488.0, 1597.71, 1734.86, 1899.43, 2009.14, 2173.71, 2283.43, 2448.0, 2557.71, 2667.43, 2886.86, 2996.57, 3106.29, 3216.0, 3435.43, 3545.14, 3654.86, 3764.57, 3929.14, 4093.71, 4258.29, 4422.86, 4422.86, 4587.43, 4752.0, 4916.57, 4916.57, 5136.0, 5314.29, 5314.29, 5533.71, 5753.14, 5753.14, 5972.57, 5972.57, 6192.0, 6411.43, 6411.43, 6630.86, 6850.29, 6850.29, 7069.71, 7069.71, 7289.14, 7508.57, 7508.57, 7837.71, 7837.71, 7837.71, 8166.86, 8166.86, 8496.0, 8496.0, 8825.14, 8825.14, 8825.14, 9154.29, 9154.29, 9483.43, 9483.43, 9483.43, 9812.57, 9812.57, 10141.71, 10141.71, 10141.71, 10470.86, 10470.86, 10779.43, 10779.43, 11108.57, 11108.57, 11108.57, 11602.29, 11602.29, 11602.29, 11602.29, 12096.0, 12096.0, 12096.0, 12096.0, 12589.71, 12589.71, 12589.71, 13083.43, 13083.43, 13083.43, 13083.43, 13577.14, 13577.14},
{123.43, 281.14, 432.0, 582.86, 747.43, 884.57, 1049.14, 1186.29, 1323.43, 1488.0, 1652.57, 1789.71, 1954.29, 2118.86, 2283.43, 2393.14, 2557.71, 2667.43, 2886.86, 2996.57, 3216.0, 3325.71, 3435.43, 3654.86, 3764.57, 3929.14, 4093.71, 4258.29, 4422.86, 4587.43, 4752.0, 4916.57, 4916.57, 5136.0, 5314.29, 5314.29, 5533.71, 5753.14, 5753.14, 5972.57, 6192.0, 6411.43, 6411.43, 6630.86, 6850.29, 6850.29, 7069.71, 7289.14, 7289.14, 7508.57, 7837.71, 7837.71, 7837.71, 8166.86, 8166.86, 8496.0, 8496.0, 8825.14, 8825.14, 9154.29, 9154.29, 9483.43, 9483.43, 9812.57, 9812.57, 9812.57, 10141.71, 10141.71, 10470.86, 10470.86, 10779.43, 10779.43, 11108.57, 11108.57, 11108.57, 11602.29, 11602.29, 11602.29, 12096.0, 12096.0, 12096.0, 12589.71, 12589.71, 12589.71, 12589.71, 13083.43, 13083.43, 13083.43, 13577.14, 13577.14, 13577.14, 14070.86, 14070.86, 14070.86, 14564.57, 14564.57, 14564.57, 14564.57, 15058.29, 15058.29},
{150.86, 322.29, 500.57, 665.14, 857.14, 1021.71, 1186.29, 1378.29, 1542.86, 1734.86, 1899.43, 2064.0, 2228.57, 2393.14, 2557.71, 2777.14, 2996.57, 3106.29, 3325.71, 3435.43, 3654.86, 3764.57, 3929.14, 4093.71, 4258.29, 4587.43, 4752.0, 4916.57, 5136.0, 5136.0, 5314.29, 5533.71, 5753.14, 5972.57, 5972.57, 6192.0, 6411.43, 6630.86, 6630.86, 6850.29, 7069.71, 7289.14, 7508.57, 7508.57, 7837.71, 7837.71, 8166.86, 8166.86, 8496.0, 8496.0, 8825.14, 9154.29, 9154.29, 9483.43, 9483.43, 9812.57, 9812.57, 10141.71, 10141.71, 10470.86, 10470.86, 10779.43, 10779.43, 11108.57, 11108.57, 11602.29, 11602.29, 11602.29, 12096.0, 12096.0, 12096.0, 12589.71, 12589.71, 12589.71, 13083.43, 13083.43, 13577.14, 13577.14, 13577.14, 14070.86, 14070.86, 14070.86, 14564.57, 14564.57, 14564.57, 15058.29, 15058.29, 15058.29, 15716.57, 15716.57, 15716.57, 15716.57, 16354.29, 16354.29, 16354.29, 16354.29, 17012.57, 17012.57, 17012.57, 17012.57},
{178.29, 377.14, 582.86, 774.86, 966.86, 1158.86, 1378.29, 1542.86, 1734.86, 1954.29, 2118.86, 2338.29, 2557.71, 2777.14, 2886.86, 3106.29, 3325.71, 3545.14, 3764.57, 3929.14, 4093.71, 4258.29, 4587.43, 4752.0, 4916.57, 5136.0, 5314.29, 5533.71, 5753.14, 5753.14, 5972.57, 6192.0, 6411.43, 6630.86, 6850.29, 7069.71, 7289.14, 7508.57, 7508.57, 7837.71, 8166.86, 8166.86, 8496.0, 8496.0, 8825.14, 9154.29, 9154.29, 9483.43, 9483.43, 9812.57, 10141.71, 10141.71, 10470.86, 10470.86, 10779.43, 10779.43, 11108.57, 11108.57, 11602.29, 11602.29, 12096.0, 12096.0, 12096.0, 12589.71, 12589.71, 13083.43, 13083.43, 13083.43, 13577.14, 13577.14, 14070.86, 14070.86, 14070.86, 14564.57, 14564.57, 15058.29, 15058.29, 15058.29, 15716.57, 15716.57, 15716.57, 16354.29, 16354.29, 16354.29, 16354.29, 17012.57, 17012.57, 17012.57, 17670.86, 17670.86, 17670.86, 18329.14, 18329.14, 18329.14, 18329.14, 18987.43, 18987.43, 18987.43, 19645.71, 19645.71},
{192.0, 418.29, 637.71, 857.14, 1076.57, 1323.43, 1542.86, 1734.86, 1954.29, 2173.71, 2448.0, 2667.43, 2886.86, 3106.29, 3325.71, 3545.14, 3764.57, 3929.14, 4258.29, 4422.86, 4587.43, 4916.57, 5136.0, 5314.29, 5533.71, 5753.14, 5972.57, 6192.0, 6411.43, 6630.86, 6850.29, 7069.71, 7289.14, 7508.57, 7837.71, 7837.71, 8166.86, 8496.0, 8496.0, 8825.14, 9154.29, 9154.29, 9483.43, 9812.57, 9812.57, 10141.71, 10470.86, 10470.86, 10779.43, 11108.57, 11108.57, 11602.29, 11602.29, 12096.0, 12096.0, 12589.71, 12589.71, 12589.71, 13083.43, 13083.43, 13577.14, 13577.14, 14070.86, 14070.86, 14564.57, 14564.57, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 15716.57, 16354.29, 16354.29, 16354.29, 17012.57, 17012.57, 17012.57, 17670.86, 17670.86, 17670.86, 18329.14, 18329.14, 18329.14, 18987.43, 18987.43, 18987.43, 19645.71, 19645.71, 19645.71, 20304.0, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 21819.43, 21819.43},
{219.43, 473.14, 720.0, 966.86, 1213.71, 1488.0, 1707.43, 1954.29, 2228.57, 2448.0, 2667.43, 2996.57, 3216.0, 3435.43, 3654.86, 3929.14, 4258.29, 4422.86, 4752.0, 4916.57, 5136.0, 5314.29, 5533.71, 5972.57, 6192.0, 6411.43, 6630.86, 6850.29, 7069.71, 7289.14, 7508.57, 7837.71, 8166.86, 8496.0, 8496.0, 8825.14, 9154.29, 9483.43, 9483.43, 9812.57, 10141.71, 10470.86, 10470.86, 10779.43, 11108.57, 11108.57, 11602.29, 11602.29, 12096.0, 12096.0, 12589.71, 12589.71, 13083.43, 13083.43, 13577.14, 13577.14, 14070.86, 14070.86, 14564.57, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17012.57, 17012.57, 17670.86, 17670.86, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 18987.43, 19645.71, 19645.71, 19645.71, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 21819.43, 21819.43, 22642.29, 22642.29, 22642.29, 23465.14, 23465.14, 23465.14, 24288.0, 24288.0, 24288.0, 24288.0},
{240.0, 514.29, 774.86, 1049.14, 1323.43, 1542.86, 1844.57, 2118.86, 2338.29, 2667.43, 2886.86, 3106.29, 3435.43, 3654.86, 3929.14, 4258.29, 4422.86, 4752.0, 4916.57, 5314.29, 5533.71, 5753.14, 5972.57, 6192.0, 6630.86, 6850.29, 7069.71, 7289.14, 7508.57, 7837.71, 8166.86, 8496.0, 8825.14, 8825.14, 9154.29, 9483.43, 9812.57, 10141.71, 10141.71, 10470.86, 10779.43, 11108.57, 11108.57, 11602.29, 11602.29, 12096.0, 12589.71, 12589.71, 13083.43, 13083.43, 13577.14, 13577.14, 14070.86, 14070.86, 14564.57, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17012.57, 17670.86, 17670.86, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 21819.43, 22642.29, 22642.29, 22642.29, 23465.14, 23465.14, 23465.14, 24288.0, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 26208.0},
{281.14, 541.71, 829.71, 1104.0, 1378.29, 1652.57, 1954.29, 2228.57, 2557.71, 2777.14, 3106.29, 3325.71, 3654.86, 3929.14, 4258.29, 4422.86, 4752.0, 5136.0, 5314.29, 5533.71, 5753.14, 6192.0, 6411.43, 6630.86, 6850.29, 7289.14, 7508.57, 7837.71, 8166.86, 8496.0, 8496.0, 8825.14, 9154.29, 9483.43, 9812.57, 10141.71, 10470.86, 10470.86, 10779.43, 11108.57, 11602.29, 11602.29, 12096.0, 12096.0, 12589.71, 12589.71, 13083.43, 13577.14, 13577.14, 14070.86, 14070.86, 14564.57, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17012.57, 17012.57, 17670.86, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 21819.43, 22642.29, 22642.29, 22642.29, 23465.14, 23465.14, 23465.14, 24288.0, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 26208.0, 26208.0, 27174.86, 27174.86, 27174.86, 27174.86, 28162.29},
{288.0, 596.57, 912.0, 1213.71, 1542.86, 1844.57, 2173.71, 2448.0, 2777.14, 3106.29, 3435.43, 3764.57, 4093.71, 4422.86, 4587.43, 4916.57, 5314.29, 5533.71, 5753.14, 6192.0, 6411.43, 6850.29, 7069.71, 7508.57, 7837.71, 8166.86, 8496.0, 8825.14, 8825.14, 9154.29, 9483.43, 9812.57, 10141.71, 10470.86, 10779.43, 11108.57, 11602.29, 11602.29, 12096.0, 12589.71, 12589.71, 13083.43, 13083.43, 13577.14, 14070.86, 14070.86, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17012.57, 17670.86, 17670.86, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 22642.29, 22642.29, 23465.14, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 26208.0, 26208.0, 27174.86, 27174.86, 27174.86, 28162.29, 28162.29, 28162.29, 29149.71, 29149.71, 29149.71, 30137.14, 30137.14, 30137.14, 30137.14, 31453.71},
{322.29, 665.14, 994.29, 1323.43, 1707.43, 2009.14, 2393.14, 2667.43, 3106.29, 3435.43, 3764.57, 4093.71, 4422.86, 4752.0, 5136.0, 5314.29, 5753.14, 6192.0, 6411.43, 6850.29, 7069.71, 7508.57, 7837.71, 8166.86, 8496.0, 8825.14, 9154.29, 9483.43, 9812.57, 10141.71, 10470.86, 10779.43, 11108.57, 11602.29, 12096.0, 12096.0, 12589.71, 13083.43, 13083.43, 13577.14, 14070.86, 14070.86, 14564.57, 15058.29, 15058.29, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17012.57, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20304.0, 20996.57, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 22642.29, 23465.14, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 26208.0, 27174.86, 27174.86, 27174.86, 28162.29, 28162.29, 28162.29, 29149.71, 29149.71, 29149.71, 30137.14, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 32475.43, 32475.43, 33627.43, 33627.43, 33627.43},
{349.71, 720.0, 1104.0, 1488.0, 1844.57, 2228.57, 2557.71, 2996.57, 3325.71, 3654.86, 4093.71, 4422.86, 4752.0, 5136.0, 5533.71, 5972.57, 6192.0, 6630.86, 7069.71, 7289.14, 7837.71, 8166.86, 8496.0, 8825.14, 9154.29, 9483.43, 9812.57, 10470.86, 10779.43, 11108.57, 11602.29, 11602.29, 12096.0, 12589.71, 13083.43, 13083.43, 13577.14, 14070.86, 14564.57, 14564.57, 15058.29, 15716.57, 15716.57, 16354.29, 16354.29, 17012.57, 17670.86, 17670.86, 18329.14, 18329.14, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 21819.43, 21819.43, 22642.29, 22642.29, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 26208.0, 27174.86, 27174.86, 28162.29, 28162.29, 28162.29, 29149.71, 29149.71, 29149.71, 30137.14, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 32475.43, 33627.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 36315.43, 37556.57},
{377.14, 774.86, 1186.29, 1597.71, 2009.14, 2393.14, 2777.14, 3216.0, 3545.14, 3929.14, 4422.86, 4752.0, 5136.0, 5533.71, 5972.57, 6411.43, 6850.29, 7069.71, 7508.57, 7837.71, 8496.0, 8825.14, 9154.29, 9483.43, 9812.57, 10470.86, 10779.43, 11108.57, 11602.29, 12096.0, 12589.71, 12589.71, 13083.43, 13577.14, 14070.86, 14564.57, 14564.57, 15058.29, 15716.57, 15716.57, 16354.29, 17012.57, 17012.57, 17670.86, 17670.86, 18329.14, 18987.43, 18987.43, 19645.71, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 22642.29, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 25110.86, 26208.0, 26208.0, 27174.86, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 29149.71, 30137.14, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 36315.43, 36315.43, 37556.57, 37556.57, 37556.57, 38873.14, 38873.14, 38873.14, 40189.71, 40189.71},
{418.29, 857.14, 1268.57, 1707.43, 2118.86, 2557.71, 2996.57, 3435.43, 3929.14, 4258.29, 4752.0, 5136.0, 5533.71, 5972.57, 6411.43, 6850.29, 7289.14, 7837.71, 8166.86, 8496.0, 9154.29, 9483.43, 9812.57, 10470.86, 10779.43, 11108.57, 11602.29, 12096.0, 12589.71, 13083.43, 13577.14, 13577.14, 14070.86, 14564.57, 15058.29, 15716.57, 15716.57, 16354.29, 17012.57, 17012.57, 17670.86, 18329.14, 18329.14, 18987.43, 19645.71, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 22642.29, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 26208.0, 26208.0, 27174.86, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 30137.14, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 36315.43, 37556.57, 37556.57, 37556.57, 38873.14, 38873.14, 38873.14, 40189.71, 40189.71, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 41945.14, 43734.86},
{445.71, 912.0, 1378.29, 1844.57, 2283.43, 2777.14, 3216.0, 3654.86, 4093.71, 4587.43, 5136.0, 5533.71, 5972.57, 6411.43, 6850.29, 7289.14, 7837.71, 8166.86, 8825.14, 9154.29, 9812.57, 10141.71, 10779.43, 11108.57, 11602.29, 12096.0, 12589.71, 13083.43, 13577.14, 14070.86, 14564.57, 14564.57, 15058.29, 15716.57, 16354.29, 16354.29, 17012.57, 17670.86, 18329.14, 18329.14, 18987.43, 19645.71, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 26208.0, 26208.0, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 29149.71, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 36315.43, 37556.57, 37556.57, 37556.57, 38873.14, 38873.14, 38873.14, 40189.71, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 41945.14, 43734.86, 43734.86, 43734.86, 43734.86, 45216.0, 45216.0, 45216.0, 47190.86},
{473.14, 966.86, 1488.0, 1954.29, 2448.0, 2996.57, 3435.43, 3929.14, 4422.86, 4916.57, 5314.29, 5972.57, 6411.43, 6850.29, 7289.14, 7837.71, 8496.0, 8825.14, 9483.43, 9812.57, 10470.86, 10779.43, 11108.57, 11602.29, 12096.0, 12589.71, 13083.43, 13577.14, 14070.86, 14564.57, 15058.29, 15716.57, 16354.29, 17012.57, 17012.57, 17670.86, 18329.14, 18987.43, 18987.43, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 21819.43, 22642.29, 23465.14, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 26208.0, 26208.0, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 30137.14, 30137.14, 31453.71, 31453.71, 32475.43, 32475.43, 32475.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 37556.57, 37556.57, 37556.57, 38873.14, 38873.14, 38873.14, 40189.71, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 43734.86, 43734.86, 43734.86, 43734.86, 45216.0, 45216.0, 45216.0, 47190.86, 47190.86, 47190.86, 47190.86, 49145.14, 49145.14, 49145.14},
{500.57, 1021.71, 1542.86, 2064.0, 2557.71, 3106.29, 3654.86, 4258.29, 4752.0, 5136.0, 5753.14, 6192.0, 6850.29, 7289.14, 7837.71, 8496.0, 8825.14, 9483.43, 9812.57, 10470.86, 11108.57, 11602.29, 12096.0, 12589.71, 13083.43, 13577.14, 14070.86, 14564.57, 15058.29, 15716.57, 16354.29, 17012.57, 17012.57, 17670.86, 18329.14, 18987.43, 19645.71, 19645.71, 20304.0, 20996.57, 21819.43, 21819.43, 22642.29, 22642.29, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 26208.0, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 30137.14, 30137.14, 31453.71, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 33627.43, 34779.43, 34779.43, 36315.43, 36315.43, 36315.43, 37556.57, 37556.57, 38873.14, 38873.14, 38873.14, 40189.71, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 43734.86, 43734.86, 43734.86, 45216.0, 45216.0, 45216.0, 45216.0, 47190.86, 47190.86, 47190.86, 49145.14, 49145.14, 49145.14, 49145.14, 50790.86, 50790.86, 50790.86, 52854.86, 52854.86},
{528.0, 1076.57, 1597.71, 2173.71, 2667.43, 3216.0, 3764.57, 4422.86, 4916.57, 5314.29, 5972.57, 6411.43, 7069.71, 7508.57, 8166.86, 8825.14, 9154.29, 9812.57, 10470.86, 10779.43, 11602.29, 12096.0, 12589.71, 13083.43, 13577.14, 14070.86, 14564.57, 15058.29, 15716.57, 16354.29, 17012.57, 17670.86, 17670.86, 18329.14, 18987.43, 19645.71, 20304.0, 20996.57, 20996.57, 21819.43, 22642.29, 22642.29, 23465.14, 24288.0, 24288.0, 25110.86, 25110.86, 26208.0, 27174.86, 27174.86, 28162.29, 28162.29, 29149.71, 29149.71, 30137.14, 30137.14, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 37556.57, 37556.57, 37556.57, 38873.14, 38873.14, 40189.71, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 43734.86, 43734.86, 43734.86, 45216.0, 45216.0, 45216.0, 47190.86, 47190.86, 47190.86, 47190.86, 49145.14, 49145.14, 49145.14, 50790.86, 50790.86, 50790.86, 52854.86, 52854.86, 52854.86, 52854.86, 54665.14, 54665.14},
{610.29, 1268.57, 1899.43, 2557.71, 3216.0, 3764.57, 4422.86, 5136.0, 5753.14, 6411.43, 7069.71, 7508.57, 8166.86, 8825.14, 9483.43, 10141.71, 10779.43, 11602.29, 12096.0, 12589.71, 13083.43, 14070.86, 14564.57, 15058.29, 15716.57, 16354.29, 17012.57, 17670.86, 18329.14, 18987.43, 19645.71, 20304.0, 20996.57, 21819.43, 21819.43, 22642.29, 23465.14, 24288.0, 25110.86, 25110.86, 26208.0, 26208.0, 27174.86, 28162.29, 28162.29, 29149.71, 30137.14, 30137.14, 31453.71, 31453.71, 32475.43, 32475.43, 33627.43, 34779.43, 34779.43, 34779.43, 36315.43, 36315.43, 37556.57, 37556.57, 38873.14, 38873.14, 40189.71, 40189.71, 41945.14, 41945.14, 41945.14, 43734.86, 43734.86, 45216.0, 45216.0, 45216.0, 47190.86, 47190.86, 47190.86, 47190.86, 49145.14, 49145.14, 49145.14, 50790.86, 50790.86, 50790.86, 52854.86, 52854.86, 52854.86, 54665.14, 54665.14, 54665.14, 57078.86, 57078.86, 57078.86, 58978.29, 58978.29, 58978.29, 60953.14, 60953.14, 60953.14, 63181.71, 63181.71, 64608.0}};
String modulation = "";
double downlink_1 = 0, downlink_2 = 0;
int RE = 0, simbolos = 0;
int TBS = 0, bit = 0;
int CA = 0;
int MIMO = 0;
int PRB = 0;
String release = "";
String largura_de_banda = jComboBox1.getSelectedItem().toString();
String prefixo_ciclico = jComboBox2.getSelectedItem().toString();
String MCS = jComboBox3.getSelectedItem().toString();
String carrier_aggregation = jComboBox4.getSelectedItem().toString();
String transmissao = jComboBox5.getSelectedItem().toString();
// Parte do PRB
if(largura_de_banda == "1.4 Mhz"){
PRB = 6;
}
if(largura_de_banda == "3 Mhz"){
PRB = 18;
}
if(largura_de_banda == "5 Mhz"){
PRB = 25;
}
if(largura_de_banda == "10 Mhz"){
PRB = 50;
}
if(largura_de_banda == "15 Mhz"){
PRB = 75;
}
if(largura_de_banda == "20 Mhz"){
PRB = 100;
}
// Parte do MIMO
if(transmissao == "Sem MIMO"){
MIMO = 1;
}
if(transmissao == "MIMO 2x2"){
MIMO = 2;
}
if(transmissao == "MIMO 4x4"){
MIMO = 4;
}
if(transmissao == "MIMO 8x8"){
MIMO = 8;
}
// Parte do CA
if(carrier_aggregation == "Sem CC"){
CA = 0;
}
if(carrier_aggregation == "1 CC"){
CA = 1;
release = "Release 10";
}
if(carrier_aggregation == "2 CC"){
CA = 2;
release = "Release 10";
}
if(carrier_aggregation == "3 CC"){
CA = 3;
release = "Release 12";
}
if(carrier_aggregation == "4 CC"){
CA = 4;
release = "Release 13";
}
if(carrier_aggregation == "5 CC"){
CA = 5;
release = "Release 14";
}
// Parte do MCS
if(MCS == "0"){
TBS = 0;
modulation = "QPSK";
bit = 2;
}
if(MCS == "1"){
TBS = 1;
modulation = "QPSK";
bit = 2;
}
if(MCS == "2"){
TBS = 2;
modulation = "QPSK";
bit = 2;
}
if(MCS == "3"){
TBS = 3;
modulation = "QPSK";
bit = 2;
}
if(MCS == "4"){
TBS = 4;
modulation = "QPSK";
bit = 2;
}
if(MCS == "5"){
TBS = 5;
modulation = "QPSK";
bit = 2;
}
if(MCS == "6"){
TBS = 6;
modulation = "QPSK";
bit = 2;
}
if(MCS == "7"){
TBS = 7;
modulation = "QPSK";
bit = 2;
}
if(MCS == "8"){
TBS = 8;
modulation = "QPSK";
bit = 2;
}
if(MCS == "9"){
TBS = 9;
modulation = "QPSK";
bit = 2;
}
if(MCS == "10"){
TBS = 9;
modulation = "16QAM";
bit = 4;
}
if(MCS == "11"){
TBS = 10;
modulation = "16QAM";
bit = 4;
}
if(MCS == "12"){
TBS = 11;
modulation = "16QAM";
bit = 4;
}
if(MCS == "13"){
TBS = 12;
modulation = "16QAMK";
bit = 4;
}
if(MCS == "14"){
TBS = 13;
modulation = "16QAM";
bit = 4;
}
if(MCS == "15"){
TBS = 14;
modulation = "16QAM";
bit = 4;
}
if(MCS == "16"){
TBS = 15;
modulation = "16QAM";
bit = 4;
}
if(MCS == "17"){
TBS = 15;
modulation = "64QPSK";
bit = 4;
}
if(MCS == "18"){
TBS = 16;
modulation = "64QPSK";
bit = 4;
}
if(MCS == "19"){
TBS = 17;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "20"){
TBS = 18;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "21"){
TBS = 19;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "22"){
TBS = 20;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "23"){
TBS = 21;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "24"){
TBS = 22;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "25"){
TBS = 23;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "26"){
TBS = 24;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "27"){
TBS = 25;
modulation = "64QPSK";
bit = 6;
}
if(MCS == "28"){
TBS = 26;
modulation = "64QPSK";
bit = 6;
}
if(prefixo_ciclico == "Normal"){
RE = 7*12;
simbolos = 7;
}
if(prefixo_ciclico == "Estendido"){
RE = 7*12;
simbolos = 7;
}
if(CA != 0 && prefixo_ciclico == "Normal"){
downlink_1 = (12*PRB*simbolos*2*bit*MIMO*0.75/1000)*CA;
downlink_2 = (MIMO*(TBS_Table_N[TBS][PRB-1])/1000)*CA;
indice_TBS = TBS_Table_N[TBS][PRB-1];
//System.out.println(downlink_1);
//System.out.println(downlink_2);
//System.out.println(indice_TBS);
//System.out.println(TBS);
//System.out.println(PRB-1);
}
else if(CA == 0 && prefixo_ciclico == "Normal") {
downlink_1 = (12*PRB*simbolos*2*bit*MIMO*0.75/1000);
downlink_2 = (MIMO*TBS_Table_E[TBS][PRB-1]/1000);
indice_TBS = TBS_Table_N[TBS][PRB-1];
//System.out.println(downlink_1);
//System.out.println(downlink_2);
//System.out.println(indice_TBS);
//System.out.println(TBS);
//System.out.println(PRB-1);
}
if(CA != 0 && prefixo_ciclico == "Estendido"){
downlink_1 = (12*PRB*simbolos*2*bit*MIMO*0.75/1000)*CA;
downlink_2 = (MIMO*TBS_Table_N[TBS][PRB-1]/1000)*CA;
indice_TBS = TBS_Table_N[TBS][PRB-1];
//System.out.println(downlink_1);
//System.out.println(downlink_2);
//System.out.println(indice_TBS);
//System.out.println(TBS);
//System.out.println(PRB-1);
}
else if(CA == 0 && prefixo_ciclico == "Estendido") {
downlink_1 = (12*PRB*simbolos*2*bit*MIMO*0.75/1000);
downlink_2 = (MIMO*TBS_Table_E[TBS][PRB-1]/1000);
indice_TBS = TBS_Table_N[TBS][PRB-1];
//System.out.println(downlink_1);
//System.out.println(downlink_2);
//System.out.println(indice_TBS);
//System.out.println(TBS);
//System.out.println(PRB-1);
}
jTextField7.setText(Double.toString(downlink_2));
jTextField6.setText(Double.toString(downlink_1));
jTextField2.setText(Integer.toString(TBS));
jTextField4.setText(modulation);
jTextField5.setText(Integer.toString(RE));
jTextField3.setText(Float.toString(indice_TBS));
jTextField1.setText(Integer.toString(PRB));
jLabel15.setText(release);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(TelaCalc.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(TelaCalc.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(TelaCalc.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(TelaCalc.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaCalc().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JComboBox<String> jComboBox1;
private javax.swing.JComboBox<String> jComboBox2;
private javax.swing.JComboBox<String> jComboBox3;
private javax.swing.JComboBox<String> jComboBox4;
private javax.swing.JComboBox<String> jComboBox5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
// End of variables declaration
}