├── Assignment 1 ├── common.R ├── input │ ├── book_1.csv │ ├── book_2.csv │ ├── book_3.csv │ ├── empty.txt │ ├── message_a.txt │ ├── message_ar.txt │ ├── message_arc.txt │ ├── message_ex_add.txt │ ├── message_ex_cross.txt │ ├── message_ex_reduce.txt │ └── message_ex_same_price.txt ├── main.R ├── output │ ├── book_1-message_a.out │ ├── book_1-message_ar.out │ ├── book_1-message_arc.out │ ├── book_2-message_a.out │ ├── book_2-message_ar.out │ ├── book_2-message_arc.out │ ├── book_3-message_a.out │ ├── book_3-message_ar.out │ └── book_3-message_arc.out ├── solution.R └── template.R ├── Assignment2 ├── results.yaml └── strategy.R ├── Liverpool_logo.png └── README.md /Assignment 1/common.R: -------------------------------------------------------------------------------- 1 | book.handle <- function(book, row) { 2 | if (row$type == 'A') 3 | return(book.add(book, list( 4 | oid=row$oid, 5 | side=row$side, 6 | price=as.numeric(row$price), 7 | size=as.numeric(row$size) 8 | ))) 9 | else if (row$type == 'R') 10 | return(book.reduce(book, list( 11 | oid=row$oid, 12 | amount=as.numeric(row$size) 13 | ))) 14 | else { 15 | warn("Unknown row type.") 16 | 17 | return(book) 18 | } 19 | } 20 | 21 | book.load <- function(path) { 22 | df <- read.table( 23 | path, fill=NA, stringsAsFactors=FALSE, header=TRUE, sep=',' 24 | ) 25 | 26 | book.sort(list( 27 | ask=df[df$side == "S", c("oid", "price", "size")], 28 | bid=df[df$side == "B", c("oid", "price", "size")] 29 | )) 30 | } 31 | 32 | book.summarise <- function(book, with_stats=T) { 33 | if (nrow(book$ask) > 0) 34 | book$ask <- book$ask[nrow(book$ask):1,] 35 | 36 | book$ask <- book$ask[, c("oid", "price", "size")] 37 | book$bid <- book$bid[, c("oid", "price", "size")] 38 | 39 | print(book) 40 | 41 | if (with_stats) { 42 | clean <- function(x) { ifelse(is.infinite(x), NA, x) } 43 | 44 | total_volumes <- book.total_volumes(book) 45 | best_prices <- lapply(book.best_prices(book), clean) 46 | midprice <- clean(book.midprice(book)) 47 | spread <- clean(book.spread(book)) 48 | 49 | cat("Total volume:", total_volumes$bid, total_volumes$ask, "\n") 50 | cat("Best prices:", best_prices$bid, best_prices$ask, "\n") 51 | cat("Mid-price:", midprice, "\n") 52 | cat("Spread:", spread, "\n") 53 | } 54 | } 55 | 56 | book.sort <- function(book, sort_bid=T, sort_ask=T) { 57 | if (sort_ask && nrow(book$ask) >= 1) { 58 | book$ask <- book$ask[order(book$ask$price, 59 | nchar(book$ask$oid), 60 | book$ask$oid, 61 | decreasing=F),] 62 | row.names(book$ask) <- 1:nrow(book$ask) 63 | } 64 | 65 | if (sort_bid && nrow(book$bid) >= 1) { 66 | book$bid <- book$bid[order(-book$bid$price, 67 | nchar(book$bid$oid), 68 | book$bid$oid, 69 | decreasing=F),] 70 | row.names(book$bid) <- 1:nrow(book$bid) 71 | } 72 | 73 | book 74 | } 75 | 76 | book.init <- function() { 77 | book <- list( 78 | ask=data.frame(matrix(ncol=3, nrow=0)), 79 | bid=data.frame(matrix(ncol=3, nrow=0)) 80 | ) 81 | 82 | colnames(book$ask) <- c("oid", "price", "size") 83 | colnames(book$bid) <- c("oid", "price", "size") 84 | 85 | return(book) 86 | } 87 | 88 | book.reconstruct <- function(data, init=NULL, log=F) { 89 | if (is.null(init)) init <- book.init() 90 | if (nrow(data) == 0) return(init) 91 | 92 | book <- Reduce( 93 | function(b, i) { 94 | new_book <- book.handle(b, data[i,]) 95 | if (log) { 96 | cat("Step", i, "\n\n") 97 | book.summarise(new_book, with_stats=F) 98 | cat("====================\n\n") 99 | } 100 | new_book 101 | }, 102 | 1:nrow(data), init, 103 | ) 104 | 105 | book.sort(book) 106 | } 107 | 108 | data.load <- function(data_path, n_rows=-1) { 109 | data <- read.table( 110 | data_path, 111 | fill=NA, 112 | stringsAsFactors=FALSE, 113 | col.names=c("type", "oid", "side", "price", "size"), 114 | nrows=n_rows, 115 | ) 116 | 117 | data[data$type == 'R', "size"] <- data[data$type == 'R', "side"] 118 | data[data$type == 'R', "side"] <- NA 119 | 120 | data 121 | } 122 | -------------------------------------------------------------------------------- /Assignment 1/input/book_1.csv: -------------------------------------------------------------------------------- 1 | oid,side,price,size 2 | a,S,105,100 3 | b,B,95,100 4 | -------------------------------------------------------------------------------- /Assignment 1/input/book_2.csv: -------------------------------------------------------------------------------- 1 | oid,side,price,size 2 | a,S,105,20 3 | e,S,98,72 4 | d,S,104,22 5 | b,B,95,100 6 | -------------------------------------------------------------------------------- /Assignment 1/input/book_3.csv: -------------------------------------------------------------------------------- 1 | oid,side,price,size 2 | a,S,105,20 3 | h,S,98,167 4 | d,S,104,22 5 | b,B,95,37 6 | -------------------------------------------------------------------------------- /Assignment 1/input/empty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JasonLuuk/COMP226_Computer_Based_Trading_in_Financial_Markets/9862a488c0630794f1076af4ee5d7ef2fdc80cad/Assignment 1/input/empty.txt -------------------------------------------------------------------------------- /Assignment 1/input/message_a.txt: -------------------------------------------------------------------------------- 1 | A j S 97 132 2 | A k S 99 71 3 | A l B 95 29 4 | A m S 98 88 5 | A n S 96 375 6 | A o S 104 292 7 | A p B 94 87 8 | A q S 98 166 9 | A r S 102 194 10 | A s B 91 102 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | original_ask_book <- book$ask 23 | # repeat{ 24 | if( price == original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$price){ 25 | if(size >= original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$size){ 26 | original_ask_book <- original_ask_book[-which(book$ask$price == min(book$ask$price))[1],] 27 | copy_book$ask <- original_ask_book 28 | print(book.midprice(copy_book)) 29 | } 30 | else{ 31 | copy_book$ask <- original_ask_book 32 | print(book.midprice(copy_book)) 33 | } 34 | } 35 | else 36 | { 37 | difference <- size - original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$size 38 | if(difference < 0){ 39 | copy_book$ask <- original_ask_book 40 | print(book.midprice(copy_book)) 41 | break; 42 | } 43 | else if(difference == 0){ 44 | original_ask_book <- original_ask_book[-which(book$ask$price == min(book$ask$price))[1],] 45 | copy_book$ask <- original_ask_book 46 | print(book.midprice(copy_book)) 47 | break; 48 | } 49 | else{ 50 | original_ask_book <- original_ask_book[-which(book$ask$price == min(book$ask$price))[1],] 51 | 52 | } 53 | } 54 | # break 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 | book.extra1 <- function(book, size) { 96 | 97 | 98 | M = sum(book$ask$size) 99 | if( size == M) { 100 | book.summarise(book) 101 | # return(NA) 102 | } 103 | else 104 | { 105 | mid_price_set <- c() 106 | copy_book = book 107 | price_set <- book$ask$price 108 | for(price in price_set) 109 | { 110 | # original_ask_book <- book$ask 111 | new_ask_book <- book$ask[1:which(book$ask$price == price),] 112 | cal_size <- size 113 | repeat{ 114 | # print(new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size) 115 | if(cal_size - new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size > 0){ 116 | cal_size <- cal_size - new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size 117 | new_ask_book <- new_ask_book[-c(which(new_ask_book$price == min(new_ask_book$price)))[1],] 118 | print(copy_book$ask - new_ask_book ) 119 | if(is.infinite(min(new_ask_book$price))){break} 120 | } 121 | else if(is.infinite(min(new_ask_book$price))){ 122 | break 123 | } 124 | else if(cal_size - new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size == 0) 125 | { 126 | cal_size <- cal_size - new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size 127 | new_ask_book <- new_ask_book[-c(which(new_ask_book$price == min(new_ask_book$price)))[1],] 128 | print('2') 129 | print(new_ask_book) 130 | break 131 | } 132 | else 133 | { 134 | new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size <- new_ask_book[which(new_ask_book$price == min(new_ask_book$price))[1],]$size - cal_size 135 | print('1') 136 | print(new_ask_book) 137 | break 138 | } 139 | } 140 | } 141 | } -------------------------------------------------------------------------------- /Assignment 1/input/message_ar.txt: -------------------------------------------------------------------------------- 1 | A j S 98 53 2 | A k B 95 35 3 | R j 53 4 | R h 20 5 | A l B 90 52 6 | A m S 98 39 7 | A n S 98 50 8 | R m 39 9 | R h 55 10 | R h 92 11 | R n 35 12 | A o B 93 55 13 | A p S 101 44 14 | A q S 98 25 15 | A r B 96 21 16 | R p 44 17 | A s B 96 83 18 | R s 70 19 | A t S 98 17 20 | R q 25 21 | R t 17 22 | R n 15 23 | A u S 99 65 24 | A v B 97 261 25 | R d 22 26 | R o 55 27 | R v 84 28 | R v 43 29 | R v 133 30 | A w S 98 24 31 | A x B 95 102 32 | A y S 99 80 33 | R s 13 34 | R r 21 35 | R w 24 36 | R u 47 37 | R b 37 38 | R k 35 39 | R x 78 40 | A z B 97 28 41 | R y 62 42 | A aa B 97 155 43 | R v 1 44 | R z 28 45 | R aa 70 46 | A ab S 99 516 47 | R ab 87 48 | A ac S 100 51 49 | A ad S 99 96 50 | R y 18 51 | R u 18 52 | R ad 48 53 | R ab 65 54 | R aa 85 55 | A ae S 101 142 56 | A af S 99 162 57 | A ag B 95 394 58 | R af 69 59 | R ag 225 60 | R ab 161 61 | R x 24 62 | R ag 109 63 | R ag 60 64 | A ah B 95 351 65 | R ah 100 66 | A ai S 97 528 67 | R ai 120 68 | R ad 48 69 | R ab 90 70 | R ai 80 71 | R ai 55 72 | R ai 71 73 | R ah 116 74 | R af 66 75 | R ai 83 76 | R ai 91 77 | A aj B 96 136 78 | R ai 28 79 | R ae 101 80 | A ak B 93 113 81 | R ak 113 82 | A al S 104 298 83 | A am B 93 58 84 | R am 58 85 | A an B 97 935 86 | R an 80 87 | R an 72 88 | R an 76 89 | R ab 76 90 | R an 82 91 | R an 81 92 | R an 104 93 | R an 95 94 | R an 79 95 | A ao S 104 29 96 | R an 75 97 | A ap S 102 89 98 | A aq S 99 313 99 | R af 27 100 | R ab 37 101 | R aq 22 102 | R an 53 103 | R ah 55 104 | R an 90 105 | R an 48 106 | R aq 84 107 | R ap 89 108 | R aj 88 109 | R aq 61 110 | R ah 45 111 | R ao 29 112 | R al 49 113 | A ar B 97 90 114 | R ar 62 115 | A as S 101 228 116 | R ae 41 117 | R as 16 118 | R aq 93 119 | R aq 53 120 | A at S 99 20 121 | R as 148 122 | R al 81 123 | R ar 28 124 | A au S 98 106 125 | A av S 100 93 126 | R ac 51 127 | R av 25 128 | R au 94 129 | R as 64 130 | A aw B 93 226 131 | R aj 48 132 | R aw 71 133 | R aw 93 134 | A ax S 97 125 135 | A ay S 103 53 136 | R aw 62 137 | R ah 35 138 | A az S 92 101 139 | A ba B 87 96 140 | R l 52 141 | R az 81 142 | A bb B 89 30 143 | A bc B 90 105 144 | A bd B 86 96 145 | A be B 88 56 146 | A bf S 91 48 147 | R bc 41 148 | R bc 64 149 | R bb 30 150 | R bf 48 151 | A bg S 91 50 152 | A bh B 89 368 153 | R bh 132 154 | R bh 50 155 | R bh 75 156 | R be 40 157 | A bi B 88 27 158 | R bh 111 159 | R bi 20 160 | A bj B 89 68 161 | R bg 50 162 | R bj 68 163 | A bk S 89 16 164 | A bl S 89 14 165 | R bi 7 166 | R be 16 167 | A bm S 90 72 168 | A bn S 92 481 169 | R ba 40 170 | R bn 84 171 | R ba 56 172 | R bn 97 173 | A bo B 82 40 174 | A bp B 86 217 175 | A bq B 86 252 176 | R bn 78 177 | R bp 137 178 | R bm 65 179 | R bp 64 180 | A br S 91 253 181 | R bd 96 182 | R bq 15 183 | R bp 16 184 | R bq 53 185 | A bs S 88 66 186 | R bq 90 187 | R bk 16 188 | R bl 14 189 | A bt S 95 27 190 | R bs 46 191 | R bq 94 192 | A bu S 88 102 193 | A bv S 84 75 194 | A bw B 83 64 195 | R bo 40 196 | R bw 64 197 | A bx B 81 100 198 | A by S 85 173 199 | A bz B 82 133 200 | R bz 119 201 | R bx 100 202 | R by 110 203 | A ca B 80 117 204 | R bv 75 205 | A cb S 86 114 206 | A cc S 88 29 207 | A cd S 87 67 208 | A ce S 87 236 209 | A cf S 86 165 210 | R ca 117 211 | A cg S 86 54 212 | R ce 72 213 | A ch S 85 92 214 | A ci B 83 70 215 | R ch 83 216 | R ci 52 217 | A cj B 84 177 218 | R cj 67 219 | R by 63 220 | R ch 9 221 | R cj 110 222 | R cg 54 223 | R cf 3 224 | R bz 14 225 | A ck S 85 48 226 | R cd 67 227 | R ce 49 228 | R cf 41 229 | R ci 18 230 | A cl B 81 103 231 | R cl 103 232 | A cm B 82 36 233 | A cn B 83 19 234 | R bu 102 235 | R bs 20 236 | R cc 16 237 | R cc 13 238 | A co B 83 56 239 | R az 20 240 | R bn 45 241 | R ce 115 242 | A cp S 87 98 243 | R cf 77 244 | R cb 79 245 | A cq S 85 383 246 | R ck 48 247 | R cq 139 248 | R cq 66 249 | A cr B 83 111 250 | R cn 19 251 | R cr 38 252 | R cq 166 253 | R cr 73 254 | R co 22 255 | R cb 35 256 | R cf 36 257 | R co 34 258 | A cs S 86 44 259 | R br 41 260 | A ct B 81 207 261 | R bn 139 262 | A cu B 84 81 263 | R cu 81 264 | R ct 120 265 | R cp 98 266 | A cv B 82 177 267 | A cw B 84 50 268 | R cw 50 269 | R cm 36 270 | R cv 114 271 | A cx B 84 26 272 | A cy S 89 52 273 | A cz B 83 220 274 | R br 89 275 | R cz 182 276 | A da B 80 75 277 | A db S 88 33 278 | A dc B 82 228 279 | R cs 44 280 | R cf 8 281 | A dd S 88 35 282 | R cv 63 283 | R dc 195 284 | A de S 87 39 285 | R da 75 286 | A df B 83 50 287 | A dg B 83 136 288 | R df 50 289 | R cz 14 290 | A dh B 83 29 291 | R ct 87 292 | R cy 52 293 | R dh 29 294 | R cz 24 295 | R dg 20 296 | R dg 116 297 | A di B 82 139 298 | R dc 33 299 | R di 49 300 | A dj S 90 76 301 | R cx 26 302 | A dk B 83 26 303 | A dl B 83 95 304 | R di 37 305 | A dm B 78 51 306 | A dn S 85 80 307 | R cq 12 308 | R dn 63 309 | R dl 44 310 | R dl 51 311 | R dk 26 312 | A do S 88 42 313 | A dp S 87 110 314 | A dq S 84 299 315 | A dr S 85 65 316 | R dn 17 317 | R dr 59 318 | A ds B 76 37 319 | R dp 110 320 | R de 5 321 | R dq 137 322 | R di 53 323 | A dt S 82 71 324 | R dq 58 325 | A du S 80 73 326 | A dv S 80 25 327 | A dw B 74 73 328 | R dm 51 329 | A dx S 78 64 330 | A dy S 82 29 331 | R dx 64 332 | A dz S 78 13 333 | R dw 73 334 | A ea B 75 263 335 | A eb B 71 152 336 | R dq 64 337 | A ec B 76 108 338 | R ea 68 339 | A ed B 76 162 340 | R ec 80 341 | R ds 37 342 | R ed 97 343 | R ed 65 344 | R ec 9 345 | R ec 19 346 | A ee S 78 149 347 | A ef S 77 85 348 | R ea 107 349 | R ee 73 350 | R ef 85 351 | R du 73 352 | R dv 10 353 | A eg B 75 231 354 | A eh B 75 45 355 | A ei S 77 435 356 | R eg 80 357 | R ei 71 358 | R ei 223 359 | R ei 78 360 | A ej S 82 116 361 | A ek S 79 461 362 | R ek 40 363 | A el S 77 59 364 | R eh 45 365 | R ea 40 366 | R ei 59 367 | A em S 77 167 368 | A en S 78 1118 369 | R en 99 370 | R ea 48 371 | R eg 149 372 | A eo B 75 290 373 | R eb 51 374 | R dz 13 375 | R en 93 376 | R ek 116 377 | R ek 72 378 | R en 42 379 | R eg 2 380 | R eo 95 381 | R el 59 382 | R em 12 383 | R eo 103 384 | R eo 59 385 | R em 110 386 | R en 183 387 | R em 45 388 | R ei 4 389 | R ek 144 390 | A ep B 73 777 391 | A eq B 73 159 392 | R ee 76 393 | R en 26 394 | R eb 80 395 | R en 110 396 | R en 145 397 | A er S 81 43 398 | R eo 33 399 | R en 93 400 | R en 54 401 | R ep 166 402 | A es S 75 178 403 | R es 50 404 | R ep 65 405 | R es 65 406 | R en 96 407 | R ep 45 408 | A et S 76 36 409 | A eu S 81 58 410 | R ep 45 411 | R ep 179 412 | R ep 70 413 | A ev B 71 208 414 | R eq 46 415 | R ev 61 416 | R er 43 417 | R eu 29 418 | R eq 89 419 | A ew S 77 42 420 | R en 75 421 | A ex S 76 67 422 | R es 63 423 | A ey B 68 17 424 | R eb 21 425 | R ev 74 426 | R et 36 427 | R ex 24 428 | A ez S 74 109 429 | R ep 199 430 | R ez 79 431 | A fa B 69 46 432 | R ez 30 433 | A fb S 75 82 434 | R fb 82 435 | R ek 69 436 | A fc S 74 167 437 | A fd S 75 78 438 | R fd 78 439 | A fe B 71 170 440 | R ev 59 441 | R ev 14 442 | R fe 118 443 | R ew 42 444 | A ff S 75 137 445 | R eq 24 446 | R ep 8 447 | R fe 52 448 | A fg B 71 132 449 | R fc 163 450 | A fh S 74 20 451 | R fg 80 452 | A fi S 72 69 453 | A fj S 76 308 454 | R fg 52 455 | A fk S 76 81 456 | A fl S 72 40 457 | A fm S 71 121 458 | A fn B 69 55 459 | R fa 46 460 | R fn 29 461 | A fo B 65 730 462 | A fp B 67 37 463 | A fq B 68 73 464 | R fj 93 465 | R fk 53 466 | R fo 94 467 | R fm 46 468 | R fo 70 469 | R fj 154 470 | R fm 75 471 | A fr S 71 216 472 | R fl 40 473 | R fi 19 474 | R fn 26 475 | A fs B 69 181 476 | R fo 76 477 | R fs 124 478 | A ft S 72 107 479 | R fk 28 480 | R fj 50 481 | R fr 124 482 | R ft 107 483 | R fi 50 484 | A fu B 68 403 485 | R fr 92 486 | R fs 55 487 | R ff 132 488 | A fv B 68 61 489 | A fw S 76 26 490 | R fv 61 491 | R ey 17 492 | R fq 29 493 | R fh 20 494 | R fc 4 495 | A fx S 71 419 496 | A fy S 70 117 497 | R fx 87 498 | R fx 121 499 | R fq 44 500 | R fu 52 501 | R fy 117 502 | A fz S 72 17 503 | R fo 84 504 | R fx 148 505 | R fo 88 506 | R fu 85 507 | R ex 43 508 | R fj 11 509 | R fw 26 510 | R fu 49 511 | R fu 217 512 | A ga B 69 195 513 | A gb S 76 230 514 | R fo 80 515 | R ga 36 516 | R fx 63 517 | R fo 69 518 | R ga 151 519 | R fo 169 520 | A gc B 68 13 521 | A gd B 70 147 522 | R gd 106 523 | R fz 17 524 | A ge B 71 166 525 | A gf S 73 29 526 | R ge 82 527 | R ge 84 528 | R gd 41 529 | A gg B 71 257 530 | R gg 61 531 | A gh B 71 292 532 | R gf 29 533 | A gi S 73 78 534 | R gh 144 535 | R gi 78 536 | A gj S 73 117 537 | A gk B 69 55 538 | R gh 58 539 | R gh 66 540 | R gg 81 541 | R gh 24 542 | R gg 35 543 | R gj 77 544 | R gg 80 545 | R gj 40 546 | A gl S 71 9 547 | R gk 55 548 | R ga 8 549 | R fs 2 550 | R fp 37 551 | A gm B 68 108 552 | R gc 13 553 | R gm 76 554 | A gn B 67 77 555 | A go B 67 121 556 | A gp B 65 48 557 | A gq B 69 216 558 | R gq 117 559 | A gr B 65 205 560 | R gm 32 561 | A gs S 73 118 562 | A gt S 71 192 563 | R gs 118 564 | R gp 48 565 | R gr 42 566 | R gl 9 567 | R gt 124 568 | A gu B 68 88 569 | R gt 68 570 | A gv B 73 114 571 | A gw S 74 56 572 | A gx S 75 14 573 | R en 102 574 | A gy S 79 48 575 | A gz S 74 26 576 | R gn 67 577 | R gz 26 578 | R gw 47 579 | R gv 52 580 | A ha S 78 92 581 | R gv 62 582 | R gu 88 583 | R ha 92 584 | A hb S 73 255 585 | R hb 113 586 | A hc B 71 135 587 | R hc 101 588 | R gq 31 589 | A hd B 70 13 590 | A he B 71 43 591 | R he 43 592 | R hc 14 593 | R hb 107 594 | R gb 67 595 | R gb 163 596 | A hf B 69 38 597 | A hg B 71 76 598 | R hb 35 599 | A hh S 74 83 600 | R hg 64 601 | A hi B 71 85 602 | R hh 48 603 | R hi 85 604 | R hg 12 605 | R hc 5 606 | A hj S 73 55 607 | R gr 55 608 | A hk B 71 63 609 | R hj 44 610 | R hc 15 611 | R hk 63 612 | R go 103 613 | A hl B 71 56 614 | A hm S 73 72 615 | A hn S 74 68 616 | R hj 11 617 | R hm 46 618 | A ho B 70 280 619 | R hm 26 620 | R hd 13 621 | R ho 130 622 | A hp B 68 21 623 | R hh 35 624 | R hn 14 625 | R hf 38 626 | R gq 28 627 | R go 18 628 | R gn 10 629 | A hq B 70 21 630 | R gq 40 631 | R hn 54 632 | R gw 9 633 | R hl 56 634 | R hq 21 635 | R ho 38 636 | A hr B 70 117 637 | R ho 92 638 | R hr 52 639 | R gx 14 640 | R ff 5 641 | A hs B 77 41 642 | A ht S 83 154 643 | A hu B 76 97 644 | R ek 20 645 | R gy 48 646 | A hv S 79 31 647 | R hu 59 648 | R hs 41 649 | A hw B 73 156 650 | R ht 118 651 | R hw 116 652 | A hx B 72 13 653 | A hy B 76 104 654 | R dy 29 655 | R ej 69 656 | A hz S 78 26 657 | A ia S 79 28 658 | R hy 65 659 | R ia 28 660 | R hv 23 661 | R eu 29 662 | A ib S 78 232 663 | R hz 26 664 | R ib 79 665 | R hu 38 666 | R hy 39 667 | A ic S 74 15 668 | R hx 13 669 | A id S 75 39 670 | R hw 40 671 | A ie B 71 20 672 | A if B 72 149 673 | R if 33 674 | R hr 65 675 | R ho 20 676 | R id 39 677 | A ig B 68 81 678 | A ih S 75 227 679 | R if 60 680 | R ib 119 681 | A ii S 74 60 682 | R ii 60 683 | R ic 15 684 | R ig 81 685 | R hp 21 686 | R ih 75 687 | A ij B 69 31 688 | R ih 78 689 | A ik B 73 137 690 | R ik 137 691 | A il B 73 76 692 | R ih 62 693 | R dt 71 694 | R ej 27 695 | A im S 77 85 696 | A in S 76 776 697 | R ih 12 698 | R in 95 699 | R in 41 700 | R in 80 701 | R in 81 702 | R il 66 703 | R in 113 704 | R in 76 705 | R if 56 706 | A io B 72 61 707 | A ip S 75 83 708 | A iq B 73 211 709 | R iq 118 710 | R ip 83 711 | A ir B 72 47 712 | R im 66 713 | R il 10 714 | R iq 68 715 | A is B 72 43 716 | R in 83 717 | R is 43 718 | R ir 47 719 | R io 22 720 | A it S 81 194 721 | R in 48 722 | R ij 31 723 | R io 39 724 | A iu S 76 237 725 | A iv B 74 74 726 | R iv 64 727 | R iu 75 728 | R it 181 729 | R in 100 730 | R im 19 731 | R in 59 732 | R iu 32 733 | A iw B 73 87 734 | A ix S 77 77 735 | R iu 112 736 | A iy B 74 786 737 | R iv 10 738 | R iy 130 739 | R iy 184 740 | R iy 113 741 | R iy 66 742 | R iy 59 743 | A iz B 73 109 744 | R iy 141 745 | A ja B 70 97 746 | R ie 20 747 | R ix 57 748 | R iy 67 749 | R ja 72 750 | R iw 63 751 | R iy 26 752 | A jb S 77 112 753 | A jc B 72 89 754 | A jd B 74 26 755 | A je S 76 112 756 | R iu 18 757 | R je 50 758 | A jf S 76 106 759 | R jf 106 760 | R je 27 761 | A jg S 76 110 762 | R iz 83 763 | A jh S 79 143 764 | R jg 110 765 | R je 35 766 | R jd 26 767 | A ji S 75 35 768 | A jj B 70 58 769 | R ji 35 770 | R jc 42 771 | A jk S 75 11 772 | R ix 20 773 | R jb 24 774 | A jl S 77 35 775 | R iz 26 776 | R iw 24 777 | R iq 25 778 | A jm B 73 107 779 | R jm 93 780 | R jm 14 781 | A jn S 75 11 782 | A jo S 78 172 783 | A jp B 72 347 784 | R ja 25 785 | R jj 58 786 | R jo 56 787 | A jq S 74 47 788 | A jr B 71 25 789 | A js S 78 67 790 | R jc 33 791 | R jc 14 792 | R jp 37 793 | R jp 81 794 | A jt S 74 28 795 | R jp 39 796 | R jb 79 797 | R jq 47 798 | R jt 28 799 | R jo 69 800 | R jr 25 801 | A ju B 73 283 802 | R jp 103 803 | R ju 116 804 | R js 67 805 | R ib 34 806 | R jo 12 807 | R ju 77 808 | R ju 81 809 | A jv S 76 49 810 | A jw S 75 248 811 | R jw 99 812 | R jw 135 813 | R jp 83 814 | R jv 49 815 | A jx S 77 246 816 | R jl 35 817 | R jb 9 818 | R jx 65 819 | R jh 118 820 | R jx 49 821 | A jy S 78 57 822 | R ju 9 823 | A jz S 77 101 824 | R jz 101 825 | R jx 30 826 | R jx 102 827 | A ka S 74 19 828 | A kb S 74 74 829 | R kb 74 830 | R ka 6 831 | R jp 4 832 | A kc B 72 219 833 | R kc 112 834 | A kd S 82 175 835 | R kc 107 836 | A ke B 72 16 837 | R ke 16 838 | A kf B 72 81 839 | A kg B 72 29 840 | R kf 68 841 | R kf 13 842 | R kg 29 843 | A kh B 71 98 844 | R kh 94 845 | A ki S 73 90 846 | A kj B 68 177 847 | A kk S 74 56 848 | A kl S 73 92 849 | R jw 14 850 | R jk 11 851 | R jn 11 852 | R ki 90 853 | R kl 8 854 | R kl 84 855 | R gr 59 856 | A km B 69 45 857 | A kn S 73 92 858 | A ko B 66 73 859 | R kn 90 860 | R kj 76 861 | R ko 73 862 | R ka 13 863 | R kk 48 864 | A kp B 67 68 865 | A kq B 70 273 866 | A kr B 70 128 867 | A ks B 69 57 868 | A kt S 73 172 869 | R kj 77 870 | R kt 55 871 | A ku S 73 54 872 | R ks 57 873 | R km 45 874 | A kv B 65 74 875 | R kj 24 876 | R kn 2 877 | R ku 54 878 | R kt 36 879 | R kt 56 880 | A kw S 74 170 881 | R kt 25 882 | A kx B 73 54 883 | R kw 141 884 | R kq 64 885 | R kw 29 886 | R kk 8 887 | A ky S 75 149 888 | A kz S 75 51 889 | R kz 51 890 | R ky 12 891 | R kp 68 892 | R jo 35 893 | R jy 35 894 | A la B 70 49 895 | A lb B 73 217 896 | R ky 108 897 | R kx 54 898 | R lb 7 899 | R ky 29 900 | A lc B 76 115 901 | R lc 59 902 | R it 13 903 | A ld B 75 58 904 | R ld 58 905 | R lc 56 906 | A le S 75 97 907 | A lf B 73 19 908 | R lf 19 909 | R lb 38 910 | R lb 83 911 | A lg S 75 146 912 | R lg 58 913 | R lg 71 914 | A lh S 75 35 915 | R le 34 916 | A li S 82 234 917 | A lj B 73 130 918 | R la 49 919 | R kq 38 920 | A lk S 77 107 921 | R lj 94 922 | R lb 67 923 | R ej 20 924 | R li 39 925 | R lh 35 926 | R le 63 927 | R lg 17 928 | A ll B 69 216 929 | A lm B 72 168 930 | A ln S 76 90 931 | R lb 22 932 | R lj 36 933 | R ll 116 934 | A lo B 71 134 935 | R kr 78 936 | A lp B 70 69 937 | A lq B 74 39 938 | R jh 25 939 | R hv 8 940 | A lr B 73 48 941 | A ls B 70 409 942 | R lk 37 943 | A lt B 72 162 944 | R lt 152 945 | R lq 39 946 | R lp 69 947 | R kr 37 948 | R ls 41 949 | R lk 65 950 | R lr 48 951 | R lo 134 952 | R kh 4 953 | A lu B 74 163 954 | R kr 13 955 | R kq 76 956 | R lu 97 957 | R ln 90 958 | A lv B 72 297 959 | A lw B 70 34 960 | R lt 10 961 | R lv 41 962 | R ll 100 963 | R lu 66 964 | A lx B 75 117 965 | A ly S 81 97 966 | A lz B 73 328 967 | R kq 77 968 | A ma B 74 105 969 | R lm 168 970 | R lv 26 971 | R lz 49 972 | A mb S 77 246 973 | R mb 94 974 | R lv 80 975 | R mb 105 976 | A mc S 78 109 977 | A md S 77 10 978 | R lx 58 979 | R kq 18 980 | R lw 26 981 | R md 10 982 | R lk 5 983 | R mb 25 984 | R mc 109 985 | R jy 22 986 | A me S 77 168 987 | R mb 22 988 | R me 71 989 | R me 78 990 | R lz 85 991 | A mf S 78 81 992 | A mg B 74 129 993 | R ls 108 994 | R me 19 995 | A mh B 73 141 996 | R mg 129 997 | R ma 50 998 | R ma 55 999 | R kd 89 1000 | R mf 76 1001 | -------------------------------------------------------------------------------- /Assignment 1/input/message_arc.txt: -------------------------------------------------------------------------------- 1 | A j S 99 208 2 | A k B 96 314 3 | R h 147 4 | R k 79 5 | R k 73 6 | A l S 98 220 7 | A m B 95 654 8 | R m 155 9 | R k 150 10 | A n S 99 67 11 | R m 44 12 | A o B 95 102 13 | R h 20 14 | R l 172 15 | A p B 94 74 16 | A q S 101 20 17 | R o 47 18 | R l 48 19 | R j 110 20 | R j 87 21 | R b 37 22 | R o 31 23 | A r S 98 225 24 | R o 24 25 | R m 67 26 | R r 27 27 | R r 78 28 | R r 49 29 | A s B 96 130 30 | R m 81 31 | R r 71 32 | A t S 98 183 33 | R t 55 34 | A u B 90 410 35 | R k 12 36 | R s 10 37 | A v B 95 131 38 | A w S 98 15 39 | R v 45 40 | R t 79 41 | R w 15 42 | R t 49 43 | A x S 96 35 44 | R v 76 45 | A y B 94 57 46 | A z B 97 74 47 | R m 64 48 | A aa B 98 141 49 | R aa 48 50 | A ab S 103 363 51 | R aa 45 52 | R ab 62 53 | R aa 48 54 | R z 74 55 | R v 10 56 | R m 135 57 | R m 85 58 | R s 85 59 | R j 11 60 | R n 67 61 | A ac S 97 32 62 | R u 81 63 | A ad S 97 111 64 | A ae B 94 44 65 | R m 23 66 | A af S 97 45 67 | R ae 44 68 | R y 57 69 | R p 13 70 | R af 45 71 | R ad 63 72 | A ag B 94 39 73 | A ah B 94 93 74 | A ai B 96 153 75 | R ai 55 76 | R ai 98 77 | A aj B 95 119 78 | R ah 93 79 | R ag 7 80 | R ab 56 81 | A ak B 95 79 82 | R ak 79 83 | R aj 49 84 | R aj 70 85 | A al B 98 35 86 | A am S 95 27 87 | R ag 32 88 | R p 44 89 | R u 64 90 | A an B 96 87 91 | A ao S 100 95 92 | A ap B 97 36 93 | A aq B 94 47 94 | R ao 50 95 | A ar S 100 72 96 | R u 84 97 | R ar 72 98 | R ao 36 99 | R an 60 100 | A as S 97 30 101 | R u 65 102 | A at S 93 61 103 | R as 30 104 | R ad 9 105 | A au B 96 122 106 | A av B 100 25 107 | R ab 134 108 | A aw B 101 167 109 | R ab 111 110 | A ax B 99 105 111 | R aw 63 112 | A ay B 106 7 113 | A az S 107 15 114 | A ba S 105 64 115 | A bb S 105 189 116 | A bc S 103 62 117 | R aw 84 118 | R a 20 119 | R ba 39 120 | A bd S 102 66 121 | A be S 104 186 122 | A bf B 93 209 123 | A bg S 99 10 124 | R bd 66 125 | A bh S 102 69 126 | R ax 68 127 | R bh 65 128 | A bi B 103 10 129 | A bj B 100 84 130 | A bk B 105 81 131 | R be 91 132 | A bl B 102 63 133 | A bm S 104 107 134 | A bn S 104 128 135 | R bn 85 136 | R bm 107 137 | R bn 15 138 | R av 6 139 | R bj 28 140 | R bn 28 141 | R be 85 142 | A bo B 104 99 143 | R bo 85 144 | R ba 25 145 | R bb 79 146 | A bp S 107 468 147 | A bq S 107 30 148 | R bq 30 149 | R bp 42 150 | R bb 110 151 | R bp 100 152 | A br B 102 15 153 | A bs B 107 174 154 | R bl 63 155 | R br 15 156 | A bt S 106 83 157 | R bt 83 158 | A bu S 104 30 159 | A bv B 98 35 160 | A bw S 102 57 161 | A bx S 105 27 162 | A by B 102 13 163 | A bz B 104 15 164 | R bv 35 165 | A ca S 102 937 166 | R ca 85 167 | R bw 29 168 | R ca 30 169 | R ca 89 170 | R ca 86 171 | R ca 117 172 | R ca 136 173 | R bx 27 174 | R bu 16 175 | A cb S 98 64 176 | A cc B 97 56 177 | A cd S 99 13 178 | A ce S 102 189 179 | R ce 127 180 | R ca 39 181 | A cf S 99 25 182 | R cf 9 183 | R ce 62 184 | R ca 79 185 | A cg B 99 125 186 | A ch B 96 42 187 | R cg 57 188 | A ci B 100 71 189 | R ca 71 190 | A cj S 99 50 191 | A ck S 101 79 192 | R ca 70 193 | R cg 68 194 | A cl B 98 27 195 | R ci 21 196 | A cm B 99 63 197 | A cn S 99 700 198 | R cn 80 199 | R cn 64 200 | R cn 70 201 | R cn 94 202 | A co B 96 43 203 | R cn 34 204 | R cn 173 205 | R ck 79 206 | R cn 69 207 | R co 43 208 | R au 25 209 | R au 97 210 | R ch 24 211 | R cc 56 212 | R cn 53 213 | R ca 82 214 | A cp S 98 115 215 | A cq B 94 268 216 | A cr S 98 62 217 | R cp 70 218 | R cp 18 219 | R cr 62 220 | R ch 18 221 | A cs S 96 78 222 | R bf 134 223 | A ct S 96 53 224 | R cq 175 225 | R bf 75 226 | R ct 53 227 | R cs 78 228 | A cu B 98 70 229 | R cu 70 230 | A cv S 96 1038 231 | R cv 106 232 | A cw S 92 40 233 | R cv 144 234 | R cq 56 235 | A cx B 96 144 236 | R cv 74 237 | A cy B 92 14 238 | R cv 122 239 | R cv 49 240 | R cv 80 241 | A cz S 94 20 242 | R cv 134 243 | A da S 92 4 244 | A db S 95 106 245 | A dc S 94 90 246 | R dc 56 247 | A dd B 92 28 248 | A de S 100 76 249 | A df B 92 209 250 | A dg B 93 70 251 | R u 70 252 | R u 46 253 | R dg 62 254 | R df 82 255 | R dg 8 256 | R dd 28 257 | R cy 10 258 | R df 24 259 | R cz 20 260 | R dc 34 261 | A dh S 96 70 262 | A di S 96 44 263 | R cv 152 264 | R di 44 265 | R cv 33 266 | R dh 19 267 | A dj S 90 39 268 | A dk B 93 88 269 | R db 94 270 | A dl B 93 24 271 | R dl 24 272 | R dk 88 273 | A dm S 92 45 274 | A dn S 93 169 275 | R dn 41 276 | R dn 98 277 | R dn 30 278 | A do B 93 70 279 | R do 70 280 | A dp S 90 50 281 | A dq B 88 61 282 | R dq 61 283 | A dr B 85 71 284 | A ds S 89 95 285 | A dt B 88 255 286 | R ds 42 287 | R dt 131 288 | R dt 70 289 | A du B 85 67 290 | R dt 54 291 | A dv S 85 88 292 | A dw S 87 21 293 | A dx S 87 68 294 | R dp 31 295 | R du 50 296 | A dy B 85 108 297 | R dy 84 298 | A dz S 88 54 299 | A ea S 85 16 300 | A eb B 88 47 301 | R dx 34 302 | A ec S 92 78 303 | A ed S 85 131 304 | A ee B 85 21 305 | A ef B 79 32 306 | A eg S 77 284 307 | A eh B 74 89 308 | A ei B 75 141 309 | R eh 40 310 | R eg 85 311 | R ei 55 312 | R ei 86 313 | A ej B 71 94 314 | R eh 49 315 | A ek S 73 138 316 | R ej 87 317 | R ek 70 318 | A el S 72 53 319 | R ej 7 320 | A em B 68 80 321 | A en B 70 100 322 | A eo S 72 14 323 | R eo 14 324 | R el 53 325 | R em 66 326 | A ep B 69 118 327 | R en 100 328 | A eq B 70 148 329 | A er B 69 169 330 | A es B 64 41 331 | A et S 72 526 332 | R et 110 333 | R et 240 334 | R ek 68 335 | R eq 94 336 | R er 76 337 | R eq 54 338 | R er 93 339 | R ep 13 340 | A eu S 73 86 341 | A ev B 69 52 342 | R et 73 343 | A ew S 72 73 344 | A ex B 69 318 345 | A ey B 73 8 346 | R et 42 347 | A ez S 75 44 348 | A fa S 71 21 349 | R ev 52 350 | R ep 50 351 | R ex 56 352 | R fa 21 353 | R ex 109 354 | A fb B 72 18 355 | A fc B 73 46 356 | R ex 120 357 | A fd B 70 102 358 | A fe S 70 63 359 | R ew 62 360 | R fd 39 361 | A ff B 73 15 362 | A fg S 68 47 363 | R eu 71 364 | A fh B 72 310 365 | R eg 97 366 | A fi S 71 15 367 | A fj S 76 52 368 | R eg 70 369 | R fh 93 370 | R ex 33 371 | R ep 8 372 | A fk S 74 81 373 | R fk 69 374 | R fh 70 375 | R fh 66 376 | A fl B 69 107 377 | R fh 66 378 | A fm S 67 11 379 | A fn B 67 516 380 | A fo B 69 62 381 | A fp B 71 43 382 | R fo 62 383 | R fl 24 384 | A fq S 70 119 385 | R fn 121 386 | R fl 72 387 | A fr S 76 183 388 | R fq 76 389 | A fs B 72 112 390 | R fj 52 391 | R fr 42 392 | R fs 66 393 | R ez 44 394 | A ft S 73 235 395 | R fn 100 396 | A fu S 72 178 397 | A fv S 70 47 398 | R fv 47 399 | R fn 118 400 | A fw S 71 50 401 | R fu 78 402 | A fx B 71 395 403 | R ft 235 404 | R fx 97 405 | R fx 50 406 | R fx 41 407 | A fy S 79 88 408 | A fz S 73 428 409 | R fz 97 410 | R fz 151 411 | R fz 76 412 | R fx 54 413 | R fx 59 414 | R fu 54 415 | A ga B 69 25 416 | A gb B 68 69 417 | A gc S 73 117 418 | R fx 44 419 | A gd S 67 88 420 | A ge S 71 276 421 | A gf S 70 24 422 | A gg S 71 47 423 | A gh S 70 153 424 | R gf 24 425 | R gh 27 426 | R gh 107 427 | A gi B 68 23 428 | R fz 104 429 | R gc 47 430 | R gb 20 431 | R gi 23 432 | A gj B 67 139 433 | R gj 139 434 | R fn 93 435 | R ge 73 436 | R gg 47 437 | R ge 58 438 | A gk B 65 134 439 | A gl B 68 25 440 | A gm B 64 49 441 | A gn S 70 38 442 | R fn 84 443 | A go B 64 89 444 | R gk 32 445 | A gp S 72 359 446 | R gn 38 447 | R gh 19 448 | A gq B 65 78 449 | R gk 102 450 | R gq 19 451 | A gr S 70 307 452 | A gs S 68 79 453 | R gr 95 454 | R gr 81 455 | R gq 59 456 | A gt B 64 148 457 | R go 89 458 | R es 5 459 | A gu S 66 189 460 | R gu 40 461 | R gt 71 462 | A gv B 64 64 463 | R gu 91 464 | R gm 49 465 | R es 11 466 | R gu 58 467 | R es 25 468 | R gv 46 469 | A gw S 62 99 470 | A gx B 57 74 471 | A gy B 62 7 472 | A gz B 69 57 473 | R gr 97 474 | R ge 136 475 | R gp 44 476 | R gr 34 477 | R gp 112 478 | R gp 153 479 | A ha S 71 312 480 | R ha 98 481 | A hb S 68 58 482 | A hc S 64 94 483 | A hd B 66 213 484 | R hb 55 485 | A he S 67 41 486 | R hd 112 487 | R he 41 488 | A hf B 66 165 489 | R hf 135 490 | A hg S 74 94 491 | A hh S 71 96 492 | A hi B 69 49 493 | A hj S 67 103 494 | R hf 30 495 | R hd 7 496 | R hj 54 497 | A hk B 69 64 498 | R hh 85 499 | R hk 64 500 | A hl S 64 35 501 | A hm B 58 200 502 | A hn B 64 146 503 | A ho B 69 27 504 | R ha 85 505 | R ge 9 506 | R hh 11 507 | R ha 81 508 | R ha 48 509 | A hp B 69 21 510 | A hq S 70 17 511 | A hr S 69 44 512 | R hq 17 513 | A hs B 71 56 514 | R hs 56 515 | A ht B 73 4 516 | A hu B 70 30 517 | R fk 12 518 | R hg 94 519 | A hv S 75 31 520 | R gp 46 521 | A hw S 73 193 522 | A hx B 70 84 523 | R hu 30 524 | R hx 33 525 | R hx 51 526 | R gc 70 527 | R hw 40 528 | A hy S 71 563 529 | A hz B 72 17 530 | R hy 180 531 | R hy 65 532 | R hy 145 533 | R hy 85 534 | R hy 71 535 | R hw 106 536 | A ia S 77 188 537 | A ib B 75 74 538 | A ic S 73 74 539 | R hn 58 540 | R fr 113 541 | R hp 4 542 | A id B 71 166 543 | A ie B 64 291 544 | R id 53 545 | R id 76 546 | R ia 147 547 | R ic 63 548 | R ic 11 549 | A if B 72 105 550 | R if 59 551 | R fy 72 552 | A ig S 72 6 553 | A ih S 77 158 554 | R hv 4 555 | A ii S 75 32 556 | A ij B 73 37 557 | R id 37 558 | R ij 37 559 | A ik B 73 65 560 | R ik 65 561 | A il S 75 172 562 | R ia 41 563 | R ih 1 564 | A im S 74 87 565 | R im 87 566 | A in B 76 34 567 | R il 54 568 | A io B 75 2278 569 | R io 68 570 | R io 74 571 | R io 128 572 | R ih 83 573 | R io 61 574 | R io 89 575 | R io 49 576 | R io 133 577 | R io 41 578 | R io 54 579 | R io 154 580 | R fr 28 581 | R io 83 582 | R io 38 583 | R io 72 584 | R io 81 585 | R ih 48 586 | R io 94 587 | R io 75 588 | R io 72 589 | R io 162 590 | R io 109 591 | R ih 26 592 | R io 59 593 | A ip S 77 459 594 | R ip 65 595 | R io 89 596 | R ip 98 597 | R io 67 598 | A iq S 73 117 599 | A ir S 77 149 600 | R io 103 601 | R ip 113 602 | A is B 79 37 603 | A it B 77 735 604 | A iu S 79 69 605 | A iv B 80 172 606 | A iw B 83 180 607 | A ix S 90 111 608 | A iy B 77 118 609 | A iz B 83 202 610 | R iz 202 611 | R iw 12 612 | R iv 87 613 | R iw 72 614 | R ed 102 615 | A ja S 81 23 616 | R ds 53 617 | R ix 87 618 | A jb B 85 382 619 | A jc S 88 109 620 | R jb 76 621 | A jd S 91 181 622 | R iw 56 623 | R jb 81 624 | R jb 53 625 | R jb 115 626 | A je B 87 39 627 | A jf S 91 105 628 | R ix 24 629 | R jc 68 630 | A jg S 89 41 631 | R dz 54 632 | R jc 28 633 | A jh S 85 34 634 | A ji B 88 52 635 | A jj B 90 24 636 | R jf 99 637 | R ec 42 638 | R jf 6 639 | R jd 115 640 | R jd 66 641 | A jk B 86 160 642 | R jg 17 643 | A jl S 90 179 644 | R jl 97 645 | A jm S 92 42 646 | R jl 82 647 | R ji 39 648 | A jn B 88 159 649 | A jo S 91 55 650 | A jp S 94 27 651 | A jq S 90 78 652 | R jn 101 653 | R jq 78 654 | A jr B 88 248 655 | R jr 140 656 | R dh 51 657 | A js B 89 58 658 | R jr 53 659 | A jt B 92 48 660 | R jk 131 661 | R jn 58 662 | R jr 55 663 | A ju S 92 5 664 | R jo 7 665 | A jv S 91 33 666 | A jw B 93 17 667 | A jx S 91 108 668 | A jy B 91 43 669 | A jz B 90 67 670 | R ec 36 671 | R jm 42 672 | R ju 5 673 | R jz 67 674 | A ka S 93 104 675 | R js 58 676 | A kb S 90 203 677 | A kc S 85 35 678 | A kd B 88 168 679 | R kb 115 680 | R kd 69 681 | A ke S 90 50 682 | A kf B 85 52 683 | R jx 49 684 | R kd 46 685 | A kg S 90 177 686 | A kh S 90 111 687 | R kh 57 688 | R ke 50 689 | R kg 66 690 | R kg 93 691 | A ki S 89 117 692 | R kd 53 693 | R jb 38 694 | A kj S 87 113 695 | R kj 113 696 | R ki 32 697 | A kk S 85 21 698 | A kl S 87 222 699 | R kl 78 700 | R kl 53 701 | A km B 85 63 702 | R kl 61 703 | R kb 74 704 | A kn S 88 561 705 | R kn 73 706 | R kh 54 707 | R kb 12 708 | R kf 41 709 | R km 62 710 | A ko B 85 59 711 | A kp S 88 32 712 | R ko 59 713 | R km 1 714 | R kl 30 715 | A kq S 85 83 716 | A kr S 89 70 717 | R ki 77 718 | A ks B 77 147 719 | R kn 187 720 | A kt S 87 55 721 | R iw 17 722 | A ku S 83 479 723 | A kv S 83 14 724 | R kq 43 725 | A kw S 79 72 726 | R ks 97 727 | R iy 95 728 | A kx S 80 39 729 | R iy 23 730 | R ks 45 731 | R ks 5 732 | R it 88 733 | R it 149 734 | A ky B 77 57 735 | R ky 57 736 | R it 55 737 | R it 112 738 | A kz S 79 226 739 | R it 36 740 | A la S 74 19 741 | R kw 72 742 | R kz 24 743 | A lb S 75 74 744 | R if 40 745 | A lc S 66 110 746 | R hn 53 747 | R ie 35 748 | R lc 88 749 | A ld S 71 80 750 | R ie 57 751 | R ie 74 752 | A le B 68 57 753 | R ie 112 754 | A lf S 68 42 755 | A lg B 61 177 756 | R lg 85 757 | A lh S 68 160 758 | A li S 68 73 759 | R lh 93 760 | A lj S 66 21 761 | R lg 53 762 | A lk S 64 64 763 | R hm 47 764 | A ll B 60 88 765 | A lm B 62 214 766 | R lk 51 767 | A ln S 64 29 768 | R lm 112 769 | A lo S 65 8 770 | A lp S 64 116 771 | R lm 65 772 | R ln 29 773 | R lp 28 774 | R hm 153 775 | R lp 88 776 | A lq B 63 291 777 | R lq 82 778 | R lq 148 779 | R lq 61 780 | R ld 80 781 | R lg 39 782 | A lr S 70 50 783 | R lr 50 784 | A ls B 58 140 785 | A lt B 63 60 786 | A lu B 63 332 787 | R ll 88 788 | R lt 45 789 | R lt 15 790 | R lu 64 791 | R li 73 792 | R lh 67 793 | R lf 7 794 | R lu 62 795 | R lu 79 796 | A lv S 68 154 797 | R lo 8 798 | A lw S 62 59 799 | A lx B 66 13 800 | A ly S 70 46 801 | A lz B 68 191 802 | A ma B 68 25 803 | A mb S 70 14 804 | R ma 25 805 | R lz 29 806 | A mc B 71 44 807 | A md B 68 210 808 | A me B 70 101 809 | R md 171 810 | A mf S 73 372 811 | A mg B 71 28 812 | R mf 166 813 | R mf 89 814 | R mf 89 815 | A mh B 70 28 816 | A mi S 77 58 817 | R me 50 818 | R me 35 819 | R mh 28 820 | A mj B 71 78 821 | R mj 78 822 | R mg 19 823 | A mk S 74 162 824 | R mk 104 825 | R mf 28 826 | A ml S 78 27 827 | A mm B 71 71 828 | R mm 71 829 | R mg 9 830 | A mn S 70 24 831 | A mo S 66 710 832 | R mo 97 833 | R lu 40 834 | R mo 55 835 | A mp B 64 67 836 | R mo 90 837 | R mo 71 838 | R mo 93 839 | R mo 196 840 | R mp 67 841 | A mq B 60 124 842 | A mr S 66 163 843 | A ms B 64 75 844 | R lu 28 845 | R ms 75 846 | R mr 56 847 | A mt S 70 84 848 | A mu S 65 66 849 | A mv B 61 126 850 | A mw S 62 70 851 | R mv 126 852 | A mx B 63 3 853 | A my B 56 46 854 | R mq 51 855 | A mz B 64 91 856 | R mr 107 857 | R mo 51 858 | R mu 39 859 | R mz 64 860 | A na S 60 163 861 | R my 46 862 | A nb S 62 102 863 | A nc S 63 209 864 | R ls 95 865 | R nc 84 866 | R nc 56 867 | R nc 69 868 | R na 90 869 | R gx 54 870 | A nd S 60 32 871 | R nd 32 872 | A ne S 60 73 873 | A nf S 56 79 874 | A ng B 54 207 875 | A nh B 54 210 876 | R ng 40 877 | R nh 98 878 | A ni B 58 22 879 | R ne 73 880 | A nj B 57 198 881 | A nk B 58 152 882 | A nl B 64 71 883 | A nm B 62 12 884 | A nn B 58 223 885 | A no S 64 15 886 | A np B 57 70 887 | A nq B 55 124 888 | R nh 61 889 | R nj 58 890 | A nr B 60 84 891 | A ns S 61 253 892 | R ns 160 893 | R ns 93 894 | A nt B 58 108 895 | R nr 84 896 | R nj 123 897 | A nu B 61 51 898 | R np 57 899 | A nv B 62 13 900 | R nk 48 901 | A nw B 62 32 902 | R nw 26 903 | R nt 57 904 | A nx S 64 161 905 | A ny B 61 123 906 | R nx 125 907 | R no 15 908 | R nx 36 909 | R ni 8 910 | R nk 97 911 | A nz B 63 165 912 | R nz 146 913 | R mo 18 914 | R mn 24 915 | R mt 84 916 | R nk 7 917 | R nt 51 918 | R nn 28 919 | R nn 114 920 | R ny 123 921 | R nu 15 922 | A oa B 65 89 923 | A ob S 67 106 924 | A oc S 68 106 925 | A od B 63 84 926 | A oe S 73 52 927 | A of S 69 63 928 | A og S 68 35 929 | R oa 62 930 | R ob 57 931 | A oh B 67 61 932 | R og 35 933 | R oc 9 934 | A oi B 69 81 935 | A oj B 68 105 936 | R of 63 937 | A ok S 72 184 938 | A ol B 69 127 939 | A om B 68 177 940 | A on B 70 73 941 | R ok 65 942 | R on 73 943 | A oo S 71 287 944 | R ol 102 945 | R oo 107 946 | R oo 93 947 | A op B 70 33 948 | R om 154 949 | R ok 62 950 | R ol 25 951 | R oo 87 952 | A oq S 72 32 953 | A or B 66 75 954 | R oq 32 955 | R ok 57 956 | A os B 71 127 957 | R os 99 958 | R mi 58 959 | A ot S 75 97 960 | A ou S 69 910 961 | R ou 62 962 | R ou 77 963 | R ou 115 964 | A ov B 71 25 965 | R ou 42 966 | R ou 56 967 | R ou 50 968 | R ou 202 969 | A ow B 69 502 970 | A ox B 72 85 971 | R ow 95 972 | R ox 85 973 | A oy S 68 114 974 | A oz S 72 203 975 | A pa B 70 31 976 | R oz 77 977 | R pa 31 978 | A pb S 70 40 979 | R pb 40 980 | A pc S 73 67 981 | R ow 73 982 | A pd S 71 38 983 | R om 23 984 | R oj 89 985 | A pe S 69 55 986 | R or 75 987 | A pf B 70 122 988 | R oz 49 989 | R pf 40 990 | R pc 67 991 | R oe 39 992 | R pf 27 993 | R mk 57 994 | A pg B 66 33 995 | A ph B 67 253 996 | A pi B 65 44 997 | R pi 44 998 | A pj S 69 76 999 | R ph 82 1000 | A pk S 73 161 1001 | R ot 46 1002 | A pl S 72 24 1003 | R oh 12 1004 | R ph 61 1005 | R ph 77 1006 | R nz 19 1007 | R od 84 1008 | A pm B 68 112 1009 | R pj 53 1010 | R pl 24 1011 | R oz 77 1012 | A pn S 71 299 1013 | A po S 70 74 1014 | R po 74 1015 | R pm 112 1016 | A pp B 66 49 1017 | A pq B 71 29 1018 | A pr S 74 142 1019 | A ps S 70 147 1020 | A pt S 69 221 1021 | A pu B 66 102 1022 | R pt 45 1023 | R pt 52 1024 | R pt 61 1025 | R lb 3 1026 | R ot 51 1027 | R ps 99 1028 | A pv B 62 57 1029 | A pw S 65 172 1030 | R oe 13 1031 | R pk 77 1032 | A px S 69 85 1033 | R pn 97 1034 | A py B 67 295 1035 | A pz B 66 180 1036 | R py 73 1037 | A qa B 66 105 1038 | R px 85 1039 | R pt 63 1040 | A qb S 69 155 1041 | R qb 141 1042 | R py 50 1043 | R py 69 1044 | A qc B 64 96 1045 | R mk 1 1046 | R pr 87 1047 | R py 103 1048 | R pd 32 1049 | R pn 65 1050 | A qd B 67 54 1051 | A qe S 75 173 1052 | R pn 137 1053 | R qa 105 1054 | R pz 11 1055 | R qd 54 1056 | A qf B 69 81 1057 | R qf 67 1058 | A qg B 69 208 1059 | R qg 155 1060 | R qg 53 1061 | R pk 84 1062 | A qh S 68 190 1063 | R qh 115 1064 | R pz 86 1065 | A qi B 66 129 1066 | A qj B 62 28 1067 | R pz 83 1068 | R qi 1 1069 | R qi 107 1070 | A qk B 68 29 1071 | R qi 21 1072 | R pu 45 1073 | A ql S 67 85 1074 | R ql 85 1075 | A qm S 69 77 1076 | A qn S 67 71 1077 | R qh 46 1078 | A qo B 67 315 1079 | R qo 106 1080 | R qm 40 1081 | R qo 65 1082 | A qp S 67 5 1083 | A qq S 68 27 1084 | A qr B 60 65 1085 | A qs S 72 41 1086 | R qo 68 1087 | A qt B 63 71 1088 | A qu S 68 68 1089 | A qv B 65 48 1090 | A qw B 63 28 1091 | A qx S 63 107 1092 | A qy B 64 454 1093 | R qc 37 1094 | R qy 34 1095 | R qq 27 1096 | R qu 36 1097 | A qz S 66 50 1098 | A ra S 66 201 1099 | R pv 57 1100 | R qj 28 1101 | R qw 28 1102 | R qt 71 1103 | R qy 67 1104 | R qy 106 1105 | A rb B 62 138 1106 | R qy 154 1107 | R qy 64 1108 | R qz 50 1109 | R ra 17 1110 | A rc B 63 44 1111 | R ra 184 1112 | A rd B 66 20 1113 | R rd 20 1114 | A re B 69 76 1115 | R re 7 1116 | R ps 48 1117 | A rf S 65 56 1118 | R rf 56 1119 | A rg B 74 53 1120 | A rh S 62 259 1121 | A ri B 58 49 1122 | R nu 36 1123 | A rj B 54 151 1124 | R ri 49 1125 | R nn 10 1126 | R rh 48 1127 | A rk S 60 44 1128 | A rl S 63 85 1129 | A rm B 56 105 1130 | A rn S 62 120 1131 | A ro B 60 188 1132 | A rp S 61 134 1133 | A rq B 61 70 1134 | R ro 82 1135 | A rr S 59 51 1136 | R rp 64 1137 | A rs S 62 203 1138 | R rs 113 1139 | A rt S 62 154 1140 | R rn 20 1141 | R rt 79 1142 | R rt 75 1143 | R rn 57 1144 | R rs 51 1145 | A ru B 60 83 1146 | R np 13 1147 | R nj 17 1148 | A rv B 60 63 1149 | R rv 62 1150 | A rw B 59 275 1151 | R rv 1 1152 | R ro 76 1153 | R ru 11 1154 | A rx B 59 118 1155 | R rs 39 1156 | R rn 43 1157 | R rx 108 1158 | A ry B 59 35 1159 | R rl 73 1160 | R rx 10 1161 | R ry 35 1162 | R rw 70 1163 | R ru 70 1164 | A rz B 58 20 1165 | R nh 51 1166 | R rj 62 1167 | R rw 72 1168 | A sa B 60 157 1169 | R rw 87 1170 | A sb S 61 150 1171 | A sc B 53 35 1172 | R nn 67 1173 | R rj 89 1174 | R ng 12 1175 | R sb 84 1176 | A sd B 60 94 1177 | R nq 112 1178 | R sd 64 1179 | R sa 66 1180 | R rm 94 1181 | A se S 66 53 1182 | R ru 2 1183 | R sa 78 1184 | A sf S 63 64 1185 | R sa 13 1186 | R sd 30 1187 | R se 53 1188 | A sg S 61 48 1189 | R ng 99 1190 | R sg 46 1191 | R sb 66 1192 | R sg 2 1193 | A sh S 61 83 1194 | R sh 80 1195 | A si B 58 62 1196 | R rw 46 1197 | A sj S 66 310 1198 | A sk B 59 214 1199 | R sk 57 1200 | R sk 106 1201 | R sk 51 1202 | A sl S 62 122 1203 | A sm S 65 144 1204 | A sn S 60 123 1205 | A so B 58 332 1206 | R sl 60 1207 | R si 58 1208 | R so 71 1209 | R rz 20 1210 | R si 4 1211 | R nn 4 1212 | R so 21 1213 | R sn 123 1214 | A sp S 60 59 1215 | A sq B 58 53 1216 | A sr B 57 25 1217 | R sq 53 1218 | R so 41 1219 | R so 49 1220 | A ss S 60 113 1221 | R sf 59 1222 | R so 67 1223 | A st B 58 499 1224 | A su S 66 171 1225 | R st 261 1226 | R rm 11 1227 | A sv B 60 67 1228 | R st 97 1229 | A sw B 62 165 1230 | R sm 61 1231 | R so 53 1232 | A sx B 60 50 1233 | R sm 83 1234 | R st 96 1235 | R su 66 1236 | R so 30 1237 | R st 45 1238 | A sy B 55 50 1239 | R sl 5 1240 | A sz B 61 281 1241 | R sz 161 1242 | R nq 12 1243 | R sy 50 1244 | R sz 69 1245 | A ta B 58 245 1246 | A tb S 59 20 1247 | A tc S 64 82 1248 | R su 80 1249 | R sz 31 1250 | A td B 59 78 1251 | R ta 59 1252 | A te S 64 43 1253 | A tf S 60 44 1254 | R tc 82 1255 | R te 42 1256 | A tg B 65 24 1257 | R su 25 1258 | R sj 112 1259 | R sj 46 1260 | R sj 152 1261 | A th S 68 55 1262 | A ti B 64 49 1263 | A tj B 65 72 1264 | A tk S 72 411 1265 | A tl S 70 77 1266 | A tm S 67 90 1267 | A tn B 67 28 1268 | R tm 46 1269 | R tk 67 1270 | R tg 6 1271 | R tj 50 1272 | A to B 62 117 1273 | R tk 104 1274 | R th 55 1275 | R tl 63 1276 | A tp S 67 24 1277 | R tk 68 1278 | R tp 24 1279 | R tm 16 1280 | A tq S 66 348 1281 | R tq 60 1282 | R tq 46 1283 | A tr B 63 201 1284 | R tk 105 1285 | A ts B 62 13 1286 | R tq 179 1287 | A tt B 62 222 1288 | A tu B 64 93 1289 | A tv S 67 82 1290 | R tq 63 1291 | A tw B 65 81 1292 | R tw 81 1293 | R tj 7 1294 | A tx B 63 117 1295 | A ty S 67 242 1296 | A tz B 64 55 1297 | R ty 85 1298 | A ua S 68 49 1299 | R ts 13 1300 | R tt 49 1301 | R td 54 1302 | R tv 82 1303 | R ty 65 1304 | R ty 73 1305 | R tx 78 1306 | A ub S 71 55 1307 | R tz 55 1308 | R ti 49 1309 | R tu 2 1310 | A uc B 68 6 1311 | R ty 13 1312 | A ud S 73 51 1313 | A ue B 65 52 1314 | A uf S 67 221 1315 | R tt 71 1316 | R tl 14 1317 | R uf 94 1318 | A ug B 64 274 1319 | R tr 59 1320 | R ta 76 1321 | R tu 91 1322 | R ug 27 1323 | A uh S 69 25 1324 | A ui S 63 106 1325 | A uj B 67 113 1326 | A uk B 69 12 1327 | R tt 102 1328 | R to 42 1329 | R to 75 1330 | R ub 55 1331 | A ul B 63 193 1332 | A um B 68 141 1333 | A un S 70 109 1334 | A uo S 75 24 1335 | R ug 56 1336 | A up S 73 58 1337 | R tk 67 1338 | R um 90 1339 | A uq B 65 52 1340 | R ul 126 1341 | R ug 152 1342 | R un 63 1343 | A ur S 67 175 1344 | R ur 165 1345 | R un 46 1346 | A us S 65 235 1347 | R us 129 1348 | R tr 107 1349 | R us 54 1350 | R tr 35 1351 | R ul 62 1352 | A ut S 71 205 1353 | A uu B 65 240 1354 | R uu 58 1355 | A uv B 66 41 1356 | R uu 87 1357 | R uu 74 1358 | A uw S 68 54 1359 | A ux S 68 59 1360 | R uv 41 1361 | A uy S 68 291 1362 | A uz S 65 24 1363 | A va S 66 14 1364 | A vb S 64 33 1365 | R ta 110 1366 | A vc B 62 17 1367 | A vd S 68 63 1368 | A ve B 62 62 1369 | R tx 39 1370 | R ul 5 1371 | A vf S 62 23 1372 | A vg S 70 83 1373 | R ve 56 1374 | A vh S 62 46 1375 | A vi S 62 102 1376 | A vj B 60 85 1377 | R vj 85 1378 | R sx 6 1379 | R vh 46 1380 | R vi 102 1381 | A vk B 61 98 1382 | A vl S 63 93 1383 | R vk 67 1384 | A vm S 64 58 1385 | A vn S 63 34 1386 | R vd 63 1387 | R ux 59 1388 | R uy 9 1389 | R vb 33 1390 | R vm 29 1391 | R vl 77 1392 | A vo S 63 55 1393 | R vn 34 1394 | R vo 48 1395 | A vp B 58 43 1396 | R uw 54 1397 | R uy 63 1398 | R vl 16 1399 | R vo 7 1400 | R uy 113 1401 | R td 24 1402 | R va 14 1403 | R vm 29 1404 | A vq S 63 22 1405 | R vk 31 1406 | A vr S 62 85 1407 | A vs S 58 6 1408 | R vp 37 1409 | A vt B 60 26 1410 | R sr 25 1411 | A vu B 62 162 1412 | A vv S 62 51 1413 | A vw B 59 423 1414 | A vx B 59 56 1415 | A vy S 68 84 1416 | A vz S 67 174 1417 | R vu 26 1418 | A wa B 61 20 1419 | A wb B 60 59 1420 | R vx 56 1421 | R vw 119 1422 | R wb 59 1423 | R vt 18 1424 | A wc B 65 120 1425 | R ur 10 1426 | R vz 58 1427 | R vw 152 1428 | A wd B 63 137 1429 | A we S 69 6 1430 | A wf B 65 40 1431 | R vw 123 1432 | R vz 116 1433 | A wg S 70 47 1434 | A wh B 65 58 1435 | A wi S 67 84 1436 | R ud 51 1437 | R up 17 1438 | R wc 79 1439 | R uy 106 1440 | R vy 11 1441 | R ut 130 1442 | A wj B 66 78 1443 | R wj 78 1444 | A wk B 63 20 1445 | A wl B 64 532 1446 | R wl 35 1447 | R vy 73 1448 | R wi 84 1449 | A wm B 66 95 1450 | A wn S 64 13 1451 | A wo B 67 55 1452 | A wp S 70 27 1453 | R wo 31 1454 | R wm 79 1455 | R uh 25 1456 | R we 6 1457 | R wl 77 1458 | R wo 24 1459 | A wq S 69 166 1460 | A wr S 68 88 1461 | A ws B 65 226 1462 | R wh 58 1463 | R wf 2 1464 | R wr 88 1465 | R wq 80 1466 | R wl 60 1467 | R wp 27 1468 | R wg 47 1469 | R vg 83 1470 | A wt B 69 25 1471 | R wf 38 1472 | R wc 16 1473 | R ws 70 1474 | A wu S 68 52 1475 | R wu 52 1476 | A wv B 62 172 1477 | R ws 121 1478 | R wl 114 1479 | A ww B 69 91 1480 | A wx S 67 287 1481 | R wx 23 1482 | A wy S 68 216 1483 | R wx 90 1484 | R wy 53 1485 | R wx 69 1486 | R wy 100 1487 | R wx 75 1488 | R wl 134 1489 | R wk 20 1490 | R wd 61 1491 | A wz B 68 56 1492 | A xa S 68 61 1493 | R xa 61 1494 | R wy 7 1495 | A xb S 66 7 1496 | A xc S 68 25 1497 | A xd B 60 71 1498 | R ut 61 1499 | A xe B 68 89 1500 | A xf B 70 144 1501 | A xg S 73 30 1502 | R xf 90 1503 | R qe 97 1504 | A xh S 74 40 1505 | R wl 112 1506 | R xg 30 1507 | R up 17 1508 | R qe 76 1509 | R uo 24 1510 | A xi S 73 52 1511 | A xj S 72 126 1512 | R xj 67 1513 | R xj 59 1514 | R xf 54 1515 | R xe 60 1516 | A xk B 73 3 1517 | A xl S 68 71 1518 | R xl 56 1519 | A xm B 65 63 1520 | R xm 63 1521 | R ws 35 1522 | A xn S 66 270 1523 | A xo B 64 194 1524 | R xn 39 1525 | A xp S 64 33 1526 | A xq B 62 171 1527 | R xn 85 1528 | R xn 110 1529 | A xr S 69 53 1530 | A xs S 69 97 1531 | R wv 123 1532 | R xn 36 1533 | A xt B 64 27 1534 | R xq 74 1535 | R xr 53 1536 | R xs 86 1537 | A xu B 66 44 1538 | A xv S 69 69 1539 | R xo 92 1540 | A xw B 66 210 1541 | R xu 44 1542 | R xw 13 1543 | A xx S 71 398 1544 | A xy B 65 72 1545 | R xw 138 1546 | R xi 52 1547 | R up 24 1548 | A xz S 68 116 1549 | R xx 110 1550 | R xy 51 1551 | R xs 11 1552 | R xv 66 1553 | A ya S 69 216 1554 | R xt 27 1555 | R xo 55 1556 | R xv 3 1557 | R ya 103 1558 | R xl 15 1559 | R xz 45 1560 | R ya 102 1561 | R xw 59 1562 | R xy 21 1563 | R wv 49 1564 | R xq 35 1565 | R xx 92 1566 | A yb B 62 81 1567 | A yc S 66 74 1568 | A yd B 64 175 1569 | R xo 14 1570 | R yd 103 1571 | A ye B 58 25 1572 | A yf S 66 350 1573 | R yf 108 1574 | A yg S 66 72 1575 | R yd 63 1576 | R yg 58 1577 | A yh S 69 23 1578 | A yi B 64 95 1579 | A yj S 68 59 1580 | R yc 74 1581 | R yf 7 1582 | R wd 51 1583 | R yi 47 1584 | R yi 48 1585 | R yd 8 1586 | R yf 66 1587 | R yg 14 1588 | R yf 52 1589 | R xz 71 1590 | R yj 59 1591 | R ut 11 1592 | R xx 37 1593 | R wa 20 1594 | R yf 117 1595 | A yk S 67 25 1596 | A yl B 65 87 1597 | R yl 87 1598 | R yk 25 1599 | A ym S 66 17 1600 | R yb 81 1601 | R xq 62 1602 | A yn S 65 47 1603 | R yn 47 1604 | A yo B 65 31 1605 | A yp B 67 58 1606 | R yp 41 1607 | A yq B 66 25 1608 | R xx 78 1609 | A yr S 68 147 1610 | R yr 94 1611 | R yr 53 1612 | A ys S 72 13 1613 | A yt B 66 50 1614 | A yu B 63 41 1615 | A yv B 65 22 1616 | R yu 41 1617 | R wd 25 1618 | R yq 25 1619 | R yt 15 1620 | A yw S 69 62 1621 | A yx S 69 101 1622 | R yw 62 1623 | R ya 11 1624 | R yh 23 1625 | R yx 51 1626 | R xx 81 1627 | R yt 35 1628 | A yy B 65 152 1629 | R yv 22 1630 | R yy 31 1631 | A yz B 66 421 1632 | A za B 66 104 1633 | R yz 174 1634 | A zb S 69 129 1635 | R yz 76 1636 | R zb 129 1637 | R yx 39 1638 | A zc B 67 13 1639 | A zd S 75 53 1640 | R za 68 1641 | R pr 43 1642 | R xh 40 1643 | R yo 31 1644 | R yy 91 1645 | R za 36 1646 | R yz 25 1647 | A ze B 66 115 1648 | R ze 52 1649 | A zf S 66 239 1650 | A zg S 63 50 1651 | R ye 25 1652 | A zh S 62 69 1653 | R vt 8 1654 | R xd 71 1655 | A zi B 60 62 1656 | A zj S 64 23 1657 | A zk B 60 208 1658 | R zh 58 1659 | R zi 62 1660 | R zk 89 1661 | A zl B 59 101 1662 | R zl 101 1663 | R vw 29 1664 | R zk 65 1665 | A zm B 61 26 1666 | A zn S 66 217 1667 | R zk 54 1668 | R zg 19 1669 | R zh 11 1670 | A zo B 57 130 1671 | A zp S 67 155 1672 | A zq S 60 29 1673 | A zr B 60 68 1674 | A zs S 62 138 1675 | R zr 40 1676 | R zr 25 1677 | A zt B 62 20 1678 | A zu B 56 102 1679 | A zv S 55 18 1680 | R zu 44 1681 | A zw S 60 115 1682 | R zs 113 1683 | R zf 17 1684 | R zn 75 1685 | R zo 86 1686 | A zx B 58 22 1687 | R zw 86 1688 | R zu 58 1689 | A zy B 57 52 1690 | R zo 26 1691 | R zy 52 1692 | A zz S 60 51 1693 | A aaa S 62 19 1694 | A aab S 61 180 1695 | R aab 120 1696 | A aac S 62 17 1697 | A aad B 50 25 1698 | R zw 29 1699 | R zz 40 1700 | A aae S 60 127 1701 | R aae 111 1702 | R aab 60 1703 | A aaf S 59 126 1704 | R aaf 82 1705 | A aag B 51 82 1706 | A aah B 59 66 1707 | A aai S 59 95 1708 | R aai 25 1709 | A aaj B 61 11 1710 | A aak B 57 165 1711 | R aak 165 1712 | R aai 37 1713 | A aal B 57 139 1714 | R aal 97 1715 | A aam S 63 271 1716 | R zx 22 1717 | A aan B 53 243 1718 | A aao B 58 147 1719 | A aap B 57 100 1720 | A aaq S 60 64 1721 | R aao 94 1722 | R aam 65 1723 | R aaq 64 1724 | R zz 7 1725 | R aal 42 1726 | R aap 96 1727 | A aar S 61 100 1728 | R aam 69 1729 | A aas B 62 34 1730 | A aat B 59 24 1731 | A aau B 57 59 1732 | R aau 59 1733 | R aap 4 1734 | A aav B 62 7 1735 | A aaw B 59 194 1736 | A aax B 59 192 1737 | R aat 24 1738 | R aax 80 1739 | R aaw 170 1740 | R aam 56 1741 | A aay B 58 128 1742 | A aaz S 65 54 1743 | R aam 64 1744 | R aaw 24 1745 | R aax 60 1746 | R aar 79 1747 | R zn 66 1748 | A aba S 61 383 1749 | R aay 64 1750 | A abb B 59 111 1751 | R aba 90 1752 | R aba 177 1753 | R aaa 19 1754 | R zs 5 1755 | R aac 17 1756 | A abc S 62 318 1757 | A abd B 57 45 1758 | R abc 92 1759 | R aba 70 1760 | R abc 188 1761 | R aax 40 1762 | A abe S 57 18 1763 | R abb 78 1764 | R abb 27 1765 | R aao 53 1766 | R aay 50 1767 | R zn 76 1768 | A abf S 60 222 1769 | R abf 86 1770 | R zp 134 1771 | R abf 136 1772 | A abg B 53 54 1773 | A abh B 59 372 1774 | R abh 61 1775 | R abh 29 1776 | R abh 119 1777 | R abh 146 1778 | A abi S 61 94 1779 | A abj B 59 62 1780 | R abh 17 1781 | R abj 62 1782 | R aba 46 1783 | R abi 94 1784 | A abk S 64 35 1785 | A abl S 60 162 1786 | R abl 59 1787 | R abl 87 1788 | A abm S 60 83 1789 | R abm 53 1790 | A abn B 53 86 1791 | R aam 17 1792 | R aay 14 1793 | A abo S 64 165 1794 | R abc 38 1795 | R abl 16 1796 | R abm 30 1797 | A abp B 65 393 1798 | A abq B 65 22 1799 | R zp 21 1800 | R abq 22 1801 | R abp 36 1802 | A abr B 63 23 1803 | A abs S 64 6 1804 | A abt B 66 33 1805 | A abu S 74 145 1806 | R abt 33 1807 | A abv B 70 59 1808 | A abw B 70 293 1809 | A abx S 75 119 1810 | R abw 159 1811 | A aby S 69 10 1812 | A abz B 70 226 1813 | A aca B 64 141 1814 | R abz 69 1815 | R zd 53 1816 | R abx 104 1817 | A acb B 70 32 1818 | A acc S 70 502 1819 | A acd S 67 51 1820 | A ace S 64 187 1821 | A acf S 74 162 1822 | A acg B 67 22 1823 | R aca 28 1824 | A ach B 68 12 1825 | A aci B 65 305 1826 | A acj B 65 533 1827 | R acj 57 1828 | A ack B 68 9 1829 | A acl S 67 96 1830 | R acj 80 1831 | R acj 71 1832 | R acj 98 1833 | R acd 8 1834 | R acl 87 1835 | A acm S 74 101 1836 | R aci 64 1837 | A acn B 66 417 1838 | R acj 94 1839 | R acn 86 1840 | R acn 115 1841 | R aci 139 1842 | R acn 69 1843 | R aci 71 1844 | R acf 146 1845 | A aco B 65 66 1846 | R acn 113 1847 | R acj 98 1848 | R aco 66 1849 | R acj 35 1850 | R aci 29 1851 | R acn 34 1852 | A acp B 61 170 1853 | A acq S 70 90 1854 | A acr S 67 33 1855 | A acs S 73 240 1856 | R acp 70 1857 | A act B 67 44 1858 | R acc 93 1859 | A acu B 70 78 1860 | A acv S 69 97 1861 | R acf 16 1862 | R abu 26 1863 | A acw S 68 227 1864 | R acq 60 1865 | R acw 130 1866 | R acv 97 1867 | A acx S 71 53 1868 | R acw 97 1869 | R acs 49 1870 | A acy S 70 69 1871 | A acz B 66 91 1872 | A ada B 71 108 1873 | A adb S 69 183 1874 | R adb 82 1875 | A adc S 71 193 1876 | R acs 83 1877 | A add B 65 54 1878 | R acz 91 1879 | R adc 64 1880 | A ade S 71 130 1881 | A adf S 68 120 1882 | R adf 88 1883 | R adf 32 1884 | A adg S 66 19 1885 | A adh S 66 91 1886 | R aci 2 1887 | R add 54 1888 | A adi B 64 10 1889 | A adj S 66 533 1890 | R adj 33 1891 | R adh 91 1892 | R adg 17 1893 | R adj 31 1894 | R adj 41 1895 | R adj 88 1896 | R adj 53 1897 | R adj 121 1898 | R adj 64 1899 | R acp 43 1900 | A adk S 67 42 1901 | R acp 57 1902 | R adj 102 1903 | R ade 57 1904 | A adl S 66 104 1905 | R adl 93 1906 | A adm B 67 333 1907 | R adm 57 1908 | R ade 73 1909 | R adc 40 1910 | A adn B 69 65 1911 | R acx 14 1912 | R adc 89 1913 | R adm 62 1914 | A ado B 65 43 1915 | R acm 43 1916 | A adp B 65 37 1917 | A adq S 70 42 1918 | R adm 61 1919 | R adq 42 1920 | R adm 100 1921 | A adr S 67 20 1922 | R adr 20 1923 | A ads B 65 135 1924 | A adt B 64 72 1925 | A adu B 67 124 1926 | R adt 72 1927 | R adi 10 1928 | R acm 58 1929 | R abu 19 1930 | R adu 124 1931 | A adv S 67 34 1932 | R abr 23 1933 | A adw B 64 101 1934 | A adx S 69 199 1935 | A ady B 66 56 1936 | R ado 43 1937 | R ads 23 1938 | A adz S 68 227 1939 | R adp 37 1940 | R ads 38 1941 | R adx 164 1942 | R acs 108 1943 | R adv 34 1944 | A aea B 64 345 1945 | R adz 46 1946 | R adz 95 1947 | R adz 86 1948 | A aeb B 67 113 1949 | R adw 44 1950 | A aec S 66 36 1951 | R aeb 77 1952 | R adw 57 1953 | R aea 14 1954 | A aed B 66 78 1955 | A aee S 65 109 1956 | A aef S 66 153 1957 | R aef 53 1958 | R adx 35 1959 | R adb 36 1960 | A aeg S 63 57 1961 | A aeh S 69 74 1962 | R aea 43 1963 | A aei B 58 208 1964 | A aej S 67 103 1965 | R aef 75 1966 | A aek B 63 233 1967 | R ads 17 1968 | A ael S 66 26 1969 | R aea 108 1970 | A aem S 66 92 1971 | A aen S 67 86 1972 | R aea 164 1973 | R aea 16 1974 | R aej 103 1975 | R aen 52 1976 | R aeh 74 1977 | R aek 130 1978 | A aeo S 65 95 1979 | A aep B 65 202 1980 | R ael 26 1981 | R aem 92 1982 | A aeq B 63 27 1983 | A aer S 70 91 1984 | R aen 34 1985 | A aes S 71 151 1986 | R aek 103 1987 | R aeq 27 1988 | A aet B 66 122 1989 | A aeu B 68 48 1990 | A aev S 75 140 1991 | A aew B 64 10 1992 | R aet 94 1993 | A aex B 66 151 1994 | R aeu 48 1995 | A aey S 68 321 1996 | A aez S 68 81 1997 | R aex 70 1998 | R aet 28 1999 | R aex 81 2000 | R aey 220 2001 | R aez 81 2002 | R aey 12 2003 | A afa B 67 91 2004 | R afa 91 2005 | A afb S 65 58 2006 | A afc S 67 160 2007 | R aep 49 2008 | A afd B 65 20 2009 | A afe B 61 223 2010 | A aff B 67 25 2011 | R afe 115 2012 | R afc 135 2013 | R aer 88 2014 | A afg S 72 181 2015 | A afh B 60 109 2016 | A afi B 63 166 2017 | R afi 50 2018 | A afj B 65 140 2019 | A afk B 70 46 2020 | A afl S 67 142 2021 | R afl 61 2022 | A afm B 67 418 2023 | R afj 105 2024 | A afn S 67 214 2025 | A afo S 69 72 2026 | R afe 71 2027 | A afp S 70 369 2028 | R afm 92 2029 | R aey 43 2030 | R aes 84 2031 | R afo 72 2032 | A afq B 68 80 2033 | A afr S 66 19 2034 | R afp 71 2035 | R aer 3 2036 | R afp 136 2037 | R afp 77 2038 | R afg 78 2039 | A afs S 70 58 2040 | R afd 20 2041 | R afj 35 2042 | A aft S 67 14 2043 | R afs 58 2044 | R afp 28 2045 | R afq 47 2046 | A afu S 68 489 2047 | R afu 76 2048 | R aev 75 2049 | A afv B 66 64 2050 | R afu 58 2051 | R afu 139 2052 | R afe 37 2053 | R afu 64 2054 | R ys 13 2055 | R afg 45 2056 | R afu 54 2057 | R afv 63 2058 | A afw B 63 143 2059 | R afu 49 2060 | A afx S 67 140 2061 | R afh 79 2062 | R afx 104 2063 | A afy S 70 192 2064 | A afz B 69 324 2065 | R afz 60 2066 | R afz 93 2067 | R afp 57 2068 | R afy 29 2069 | A aga S 69 274 2070 | R aes 67 2071 | R afy 51 2072 | A agb S 68 118 2073 | R agb 118 2074 | A agc S 68 30 2075 | A agd B 65 256 2076 | R afw 79 2077 | R agc 30 2078 | R afw 64 2079 | R afi 6 2080 | R afy 69 2081 | A age B 69 77 2082 | A agf S 72 33 2083 | R aga 80 2084 | A agg S 74 40 2085 | R agd 67 2086 | A agh B 67 33 2087 | R agd 66 2088 | A agi S 73 30 2089 | R abu 74 2090 | R abu 26 2091 | R agg 40 2092 | A agj B 65 58 2093 | A agk S 68 100 2094 | A agl S 74 158 2095 | R agl 113 2096 | A agm S 67 858 2097 | R agm 70 2098 | R agm 130 2099 | R agm 118 2100 | R agm 61 2101 | R agd 91 2102 | R aei 48 2103 | R agm 131 2104 | R agm 134 2105 | A agn S 64 10 2106 | A ago S 67 50 2107 | R agj 58 2108 | R agd 23 2109 | R afi 42 2110 | A agp B 67 5 2111 | R ago 33 2112 | A agq S 70 83 2113 | A agr B 67 21 2114 | A ags B 65 10 2115 | R agm 125 2116 | A agt B 63 149 2117 | A agu B 60 15 2118 | R agk 100 2119 | A agv S 71 139 2120 | A agw S 68 110 2121 | R agm 30 2122 | R ago 17 2123 | A agx S 67 53 2124 | A agy S 63 103 2125 | A agz S 67 46 2126 | A aha B 62 148 2127 | R aha 74 2128 | A ahb B 66 74 2129 | R agw 51 2130 | R agx 53 2131 | R agz 46 2132 | A ahc B 66 233 2133 | R ahb 61 2134 | A ahd B 64 348 2135 | R agt 46 2136 | R ahb 13 2137 | R ahc 110 2138 | R agq 83 2139 | R afy 18 2140 | R agi 30 2141 | A ahe B 62 46 2142 | R ahc 92 2143 | R ahd 76 2144 | A ahf B 66 94 2145 | A ahg S 73 138 2146 | R ahc 31 2147 | R ahf 83 2148 | A ahh B 65 212 2149 | R ahe 46 2150 | R aha 63 2151 | R agt 88 2152 | R ahd 82 2153 | A ahi S 68 114 2154 | A ahj B 64 175 2155 | R ahh 83 2156 | R agw 59 2157 | R ahj 88 2158 | R ahi 114 2159 | R ahf 11 2160 | R ahd 75 2161 | A ahk B 72 527 2162 | R ahk 160 2163 | R ahg 82 2164 | A ahl B 70 53 2165 | R ahk 44 2166 | R agl 45 2167 | A ahm S 75 68 2168 | A ahn S 74 268 2169 | R ahn 84 2170 | R ahg 56 2171 | R ahk 68 2172 | A aho B 71 24 2173 | R aho 24 2174 | R ahn 44 2175 | A ahp B 74 50 2176 | A ahq S 74 99 2177 | A ahr S 70 76 2178 | R ahh 67 2179 | R ahd 90 2180 | A ahs S 68 109 2181 | R ahh 46 2182 | A aht B 63 39 2183 | A ahu S 67 217 2184 | A ahv B 61 188 2185 | R ahu 94 2186 | R ahd 25 2187 | R ahj 49 2188 | R ahu 123 2189 | A ahw B 69 68 2190 | A ahx B 66 51 2191 | A ahy B 65 90 2192 | R ahs 41 2193 | A ahz S 72 152 2194 | R ahy 78 2195 | R ahz 152 2196 | A aia B 68 98 2197 | A aib B 69 28 2198 | A aic S 71 93 2199 | R aic 80 2200 | R ahq 59 2201 | R ahv 74 2202 | R ahq 40 2203 | R ahn 50 2204 | A aid B 66 47 2205 | R ahx 51 2206 | R aid 44 2207 | R aia 50 2208 | R aic 13 2209 | A aie B 68 105 2210 | A aif B 69 206 2211 | R aie 105 2212 | R ahr 23 2213 | A aig B 70 47 2214 | A aih B 70 148 2215 | A aii B 76 53 2216 | R aib 28 2217 | R aif 33 2218 | A aij B 69 42 2219 | A aik B 70 30 2220 | R aij 42 2221 | R aif 31 2222 | A ail S 70 37 2223 | R aih 70 2224 | A aim B 66 34 2225 | R aik 30 2226 | R aih 38 2227 | A ain B 75 81 2228 | R ahm 47 2229 | A aio S 76 664 2230 | A aip B 72 29 2231 | A aiq S 74 137 2232 | A air B 74 37 2233 | R aio 91 2234 | R aiq 98 2235 | A ais S 75 61 2236 | R aio 90 2237 | R aip 29 2238 | R aif 142 2239 | A ait S 72 310 2240 | R ait 84 2241 | R aig 10 2242 | R aih 40 2243 | R ahm 7 2244 | R ais 61 2245 | A aiu B 71 153 2246 | R aio 72 2247 | R aiu 74 2248 | R ait 104 2249 | R ait 122 2250 | R aiu 79 2251 | R aio 73 2252 | A aiv B 72 59 2253 | A aiw S 74 72 2254 | R aio 123 2255 | R aiw 47 2256 | A aix B 71 171 2257 | A aiy B 68 187 2258 | A aiz S 75 52 2259 | R kz 88 2260 | A aja S 74 131 2261 | A ajb S 80 36 2262 | R aia 48 2263 | R aiy 40 2264 | A ajc B 67 104 2265 | R aio 97 2266 | R aix 127 2267 | R kz 73 2268 | R aiw 25 2269 | R aiq 2 2270 | R aja 70 2271 | R aja 61 2272 | A ajd S 72 105 2273 | R aix 44 2274 | A aje B 69 161 2275 | R aje 86 2276 | A ajf B 64 128 2277 | R aje 75 2278 | A ajg S 70 272 2279 | R aiy 78 2280 | A ajh S 67 170 2281 | R ajg 49 2282 | R ajg 139 2283 | A aji B 72 102 2284 | A ajj S 71 62 2285 | R ajj 62 2286 | A ajk B 70 133 2287 | R ajk 71 2288 | R aio 96 2289 | A ajl B 72 47 2290 | A ajm S 74 113 2291 | A ajn S 75 190 2292 | A ajo S 70 21 2293 | R aiz 52 2294 | R ajn 45 2295 | A ajp S 78 41 2296 | A ajq S 73 53 2297 | A ajr S 68 64 2298 | A ajs B 65 54 2299 | R ahj 38 2300 | R ajf 106 2301 | A ajt B 70 85 2302 | R ajn 145 2303 | A aju S 68 266 2304 | A ajv S 73 117 2305 | R aju 103 2306 | A ajw S 71 13 2307 | R aim 34 2308 | R aid 3 2309 | R aju 66 2310 | R ajv 88 2311 | A ajx S 70 73 2312 | A ajy B 64 141 2313 | R ajw 13 2314 | A ajz S 69 132 2315 | R aju 16 2316 | R ajz 115 2317 | R ajc 3 2318 | A aka B 70 25 2319 | R ahh 16 2320 | R ahy 12 2321 | R ajs 54 2322 | A akb B 67 43 2323 | A akc B 70 59 2324 | R ajv 29 2325 | R ajq 53 2326 | R akb 43 2327 | A akd B 67 11 2328 | A ake S 71 50 2329 | A akf B 65 20 2330 | A akg B 70 148 2331 | R akf 20 2332 | R ajf 22 2333 | R ajy 88 2334 | A akh S 69 56 2335 | R akg 86 2336 | A aki S 68 28 2337 | A akj B 69 234 2338 | R akj 73 2339 | R ake 50 2340 | R akj 31 2341 | R akj 73 2342 | A akk B 69 377 2343 | A akl S 71 95 2344 | R akk 216 2345 | R akk 149 2346 | R akj 29 2347 | R akk 12 2348 | A akm B 69 270 2349 | R akm 103 2350 | R akl 95 2351 | A akn S 68 220 2352 | R akn 53 2353 | A ako B 74 154 2354 | A akp B 74 42 2355 | R akp 37 2356 | A akq S 76 50 2357 | A akr S 76 86 2358 | R aio 22 2359 | R akr 81 2360 | R akp 5 2361 | R ako 41 2362 | A aks B 71 23 2363 | A akt B 76 180 2364 | R akt 67 2365 | A aku S 76 10 2366 | R ml 27 2367 | R ajp 41 2368 | R ku 137 2369 | A akv S 81 165 2370 | R akv 71 2371 | A akw B 81 61 2372 | A akx S 78 275 2373 | A aky S 81 141 2374 | R akt 48 2375 | R akx 66 2376 | A akz B 76 60 2377 | R akv 32 2378 | R akz 60 2379 | A ala S 79 80 2380 | A alb B 76 113 2381 | R akx 101 2382 | R kv 14 2383 | R ku 125 2384 | R akx 108 2385 | A alc B 78 221 2386 | R alc 72 2387 | A ald S 80 89 2388 | A ale S 76 307 2389 | A alf B 73 91 2390 | R alf 81 2391 | A alg S 75 162 2392 | R alg 86 2393 | R alg 76 2394 | A alh S 75 18 2395 | R ald 89 2396 | R ajb 14 2397 | R alh 18 2398 | A ali B 69 311 2399 | A alj S 79 148 2400 | A alk S 72 9 2401 | A all B 74 77 2402 | A alm B 74 212 2403 | R ale 45 2404 | A aln B 77 531 2405 | R aln 65 2406 | R aln 74 2407 | R aln 46 2408 | R aln 72 2409 | R aln 144 2410 | R all 54 2411 | R alj 80 2412 | R ala 59 2413 | R aln 49 2414 | R aln 60 2415 | R aky 27 2416 | R alj 68 2417 | R ala 11 2418 | R all 23 2419 | R alm 42 2420 | R alm 170 2421 | R ku 80 2422 | A alo S 79 71 2423 | R alo 60 2424 | R akv 62 2425 | R aky 47 2426 | A alp B 74 62 2427 | A alq B 79 21 2428 | A alr B 77 54 2429 | A als S 76 21 2430 | A alt B 80 290 2431 | R alt 88 2432 | R ku 90 2433 | R alt 118 2434 | A alu S 86 313 2435 | A alv S 86 14 2436 | R aky 64 2437 | A alw S 82 57 2438 | R alt 43 2439 | A alx S 77 64 2440 | A aly S 76 286 2441 | R aly 61 2442 | R aly 159 2443 | R ali 88 2444 | A alz B 74 73 2445 | R alz 73 2446 | R alp 15 2447 | A ama B 73 327 2448 | R ama 75 2449 | A amb S 76 137 2450 | A amc B 73 290 2451 | R ama 108 2452 | R amb 84 2453 | A amd B 74 156 2454 | A ame S 78 46 2455 | R aly 66 2456 | R amb 47 2457 | R amb 6 2458 | R amc 130 2459 | A amf S 76 125 2460 | R amf 125 2461 | A amg B 75 79 2462 | R amd 89 2463 | R amg 79 2464 | R amd 55 2465 | R amd 12 2466 | R alp 47 2467 | A amh B 74 83 2468 | A ami B 77 6 2469 | A amj B 78 14 2470 | A amk B 76 71 2471 | R amc 63 2472 | A aml B 75 57 2473 | R amk 71 2474 | A amm B 73 39 2475 | A amn B 80 914 2476 | R amn 30 2477 | R amn 136 2478 | R kq 40 2479 | R amn 101 2480 | R amn 101 2481 | R amn 145 2482 | R amn 105 2483 | A amo S 83 87 2484 | R ku 45 2485 | R amn 83 2486 | R amn 82 2487 | R amn 95 2488 | A amp B 78 105 2489 | R alv 14 2490 | R alu 43 2491 | A amq S 76 147 2492 | R amh 83 2493 | R aml 57 2494 | A amr B 68 131 2495 | R amc 57 2496 | R amr 60 2497 | A ams S 73 19 2498 | A amt B 71 254 2499 | R amt 108 2500 | A amu S 74 102 2501 | R amm 39 2502 | R amc 40 2503 | R ama 68 2504 | A amv B 69 162 2505 | R ama 58 2506 | A amw B 72 13 2507 | R amu 44 2508 | A amx S 75 144 2509 | R amx 93 2510 | R amr 62 2511 | R amu 58 2512 | A amy B 73 137 2513 | A amz B 73 407 2514 | R amz 111 2515 | R ali 90 2516 | A ana B 77 382 2517 | A anb B 79 350 2518 | R anb 71 2519 | R anb 279 2520 | R ana 98 2521 | A anc S 81 44 2522 | A and B 81 76 2523 | R ku 2 2524 | R amo 87 2525 | A ane S 83 35 2526 | R alu 85 2527 | A anf S 83 134 2528 | R and 29 2529 | A ang S 80 1030 2530 | R ana 56 2531 | R ang 230 2532 | A anh B 77 128 2533 | A ani S 76 88 2534 | R ang 171 2535 | R ang 98 2536 | R ang 128 2537 | R amz 56 2538 | R anf 76 2539 | R ang 93 2540 | A anj B 78 109 2541 | R ang 56 2542 | R ang 60 2543 | R anj 85 2544 | R anh 70 2545 | R ang 75 2546 | A ank B 80 51 2547 | A anl S 79 93 2548 | R anl 93 2549 | R ang 68 2550 | A anm B 79 87 2551 | A ann S 81 188 2552 | A ano B 80 68 2553 | R ann 113 2554 | R ann 75 2555 | R alu 55 2556 | A anp B 81 49 2557 | R anh 58 2558 | R ana 47 2559 | R anp 49 2560 | A anq S 83 60 2561 | A anr S 78 62 2562 | R ane 35 2563 | R anq 21 2564 | R anq 39 2565 | R anf 58 2566 | A ans B 80 71 2567 | R ans 71 2568 | R ano 6 2569 | A ant S 81 253 2570 | R ant 54 2571 | R ant 100 2572 | R ant 73 2573 | A anu B 77 23 2574 | R anm 59 2575 | A anv B 77 56 2576 | A anw S 81 150 2577 | R ant 26 2578 | R anw 81 2579 | A anx S 86 66 2580 | A any B 79 108 2581 | R anx 44 2582 | R anm 28 2583 | R any 41 2584 | R anj 24 2585 | A anz S 81 49 2586 | R alu 61 2587 | A aoa B 78 66 2588 | A aob S 78 11 2589 | A aoc B 79 55 2590 | R anz 49 2591 | R anw 31 2592 | A aod S 85 321 2593 | A aoe S 77 50 2594 | R alw 56 2595 | A aof S 82 139 2596 | R aoa 66 2597 | A aog B 79 217 2598 | R kn 51 2599 | A aoh B 83 33 2600 | A aoi B 79 47 2601 | R aoi 47 2602 | R aoc 55 2603 | R aog 69 2604 | R aog 93 2605 | A aoj S 78 77 2606 | R anu 23 2607 | R anv 39 2608 | A aok B 75 89 2609 | A aol S 80 42 2610 | R aok 52 2611 | R amz 112 2612 | A aom B 74 122 2613 | A aon S 76 6 2614 | A aoo S 79 66 2615 | R aom 56 2616 | R amy 42 2617 | R aoo 66 2618 | R aoj 16 2619 | R alu 47 2620 | A aop S 79 44 2621 | A aoq S 80 35 2622 | R anv 11 2623 | R aof 85 2624 | R aok 37 2625 | A aor B 75 112 2626 | R aoq 35 2627 | R aol 42 2628 | A aos S 77 55 2629 | R aor 112 2630 | A aot B 73 106 2631 | R amt 121 2632 | R amy 71 2633 | A aou S 77 66 2634 | A aov S 77 238 2635 | R aop 44 2636 | R aou 66 2637 | R aov 54 2638 | A aow B 72 67 2639 | R aom 49 2640 | A aox S 77 81 2641 | R aom 17 2642 | A aoy B 71 140 2643 | R amz 47 2644 | R amz 77 2645 | A aoz S 75 44 2646 | A apa S 74 116 2647 | R apa 98 2648 | R aow 67 2649 | R amw 13 2650 | R aks 23 2651 | R aoy 122 2652 | R amy 24 2653 | R amz 4 2654 | R aot 78 2655 | A apb S 76 157 2656 | R aov 62 2657 | R ali 51 2658 | R ali 82 2659 | R amv 66 2660 | A apc S 76 579 2661 | R aos 55 2662 | R aox 5 2663 | R aoz 44 2664 | R amt 25 2665 | R aoy 18 2666 | R apb 33 2667 | R apc 63 2668 | A apd B 75 54 2669 | R apb 92 2670 | R apb 32 2671 | R apc 30 2672 | R apc 85 2673 | A ape S 73 17 2674 | R aox 76 2675 | R aov 51 2676 | R apc 65 2677 | A apf B 74 62 2678 | R apc 92 2679 | R apc 113 2680 | R apc 131 2681 | R aov 58 2682 | A apg B 75 244 2683 | R apg 139 2684 | R apd 19 2685 | R apg 32 2686 | R apg 73 2687 | R apf 62 2688 | A aph S 77 44 2689 | A api S 75 134 2690 | R api 96 2691 | A apj B 72 91 2692 | R api 38 2693 | A apk S 73 19 2694 | A apl S 75 286 2695 | A apm B 72 100 2696 | A apn B 76 60 2697 | A apo S 72 25 2698 | R aov 13 2699 | R aph 44 2700 | A app B 72 198 2701 | A apq S 75 126 2702 | R apj 75 2703 | R apm 6 2704 | R apl 86 2705 | R app 110 2706 | A apr S 76 84 2707 | A aps S 74 55 2708 | R aps 55 2709 | R apq 66 2710 | R apl 94 2711 | A apt S 75 319 2712 | A apu B 76 17 2713 | R apt 55 2714 | R apl 29 2715 | R apq 20 2716 | A apv B 71 23 2717 | R apq 40 2718 | R apt 64 2719 | A apw S 75 440 2720 | R apw 123 2721 | R app 52 2722 | R apt 80 2723 | A apx S 73 45 2724 | R apw 98 2725 | A apy B 70 34 2726 | R apr 84 2727 | A apz B 69 172 2728 | R apx 45 2729 | R apw 158 2730 | A aqa S 72 27 2731 | A aqb B 73 35 2732 | R app 36 2733 | R apm 50 2734 | A aqc B 72 182 2735 | A aqd B 70 57 2736 | R aqb 35 2737 | A aqe S 72 48 2738 | A aqf S 74 34 2739 | R apz 92 2740 | R aqc 129 2741 | R apz 72 2742 | A aqg B 76 128 2743 | A aqh B 76 176 2744 | A aqi S 75 161 2745 | A aqj S 71 350 2746 | R aqj 63 2747 | R aqd 57 2748 | R apy 34 2749 | R aqj 115 2750 | A aqk S 73 53 2751 | R amv 35 2752 | A aql S 72 34 2753 | R apz 8 2754 | R amv 55 2755 | A aqm B 69 141 2756 | A aqn S 68 32 2757 | R aqm 115 2758 | A aqo S 67 25 2759 | A aqp B 64 106 2760 | A aqq S 66 64 2761 | R aqp 85 2762 | A aqr S 64 20 2763 | R ahv 47 2764 | R aqq 64 2765 | A aqs B 65 86 2766 | R aqs 49 2767 | A aqt B 64 159 2768 | A aqu B 61 44 2769 | R ajy 33 2770 | R aqp 21 2771 | R aqt 78 2772 | R aqu 44 2773 | R ahv 1 2774 | A aqv B 64 32 2775 | R aqt 66 2776 | A aqw B 65 67 2777 | R aqs 37 2778 | R aqw 44 2779 | A aqx B 64 36 2780 | A aqy B 65 96 2781 | R aqy 49 2782 | A aqz B 65 45 2783 | R aqz 45 2784 | R aqw 23 2785 | R aqy 47 2786 | R aqt 15 2787 | R aqx 36 2788 | R aqv 32 2789 | A ara S 61 3 2790 | R aht 36 2791 | A arb B 69 81 2792 | A arc S 75 110 2793 | A ard B 69 102 2794 | R aqj 83 2795 | R ard 102 2796 | R arb 1 2797 | R arb 75 2798 | A are S 64 125 2799 | R are 125 2800 | A arf B 69 50 2801 | R aqi 52 2802 | A arg S 72 348 2803 | R aql 34 2804 | R arg 54 2805 | A arh S 77 152 2806 | R arf 50 2807 | A ari B 69 55 2808 | R arg 47 2809 | R ari 55 2810 | A arj S 64 108 2811 | A ark B 66 3 2812 | A arl B 58 85 2813 | R arj 59 2814 | A arm B 60 75 2815 | R arl 45 2816 | R arj 46 2817 | A arn S 62 20 2818 | R aei 106 2819 | R arm 75 2820 | R afh 30 2821 | R agu 3 2822 | R ahv 45 2823 | R ahv 21 2824 | A aro B 62 45 2825 | A arp S 63 128 2826 | A arq S 64 16 2827 | R abn 86 2828 | R sc 14 2829 | R arq 16 2830 | R arp 68 2831 | R arp 60 2832 | A arr B 69 85 2833 | A ars S 71 101 2834 | R arg 50 2835 | R ars 71 2836 | R ars 30 2837 | R aqj 21 2838 | R arg 141 2839 | A art S 68 92 2840 | A aru B 66 118 2841 | R aru 71 2842 | A arv S 68 70 2843 | R aqk 53 2844 | R art 7 2845 | R arv 65 2846 | A arw B 66 211 2847 | A arx S 68 66 2848 | A ary B 61 29 2849 | A arz B 65 62 2850 | A asa B 64 579 2851 | R arx 66 2852 | R arv 5 2853 | A asb S 64 39 2854 | A asc B 69 295 2855 | R asc 96 2856 | R asc 91 2857 | R asc 58 2858 | A asd S 71 173 2859 | A ase B 68 42 2860 | R asa 59 2861 | R aqj 23 2862 | R asd 121 2863 | A asf B 68 47 2864 | A asg S 71 64 2865 | A ash B 71 183 2866 | R ash 67 2867 | A asi B 72 11 2868 | A asj S 75 117 2869 | A ask S 72 20 2870 | R aru 8 2871 | R arw 55 2872 | A asl S 69 19 2873 | R arz 62 2874 | R asa 87 2875 | R asf 47 2876 | R ase 4 2877 | R arw 60 2878 | A asm B 70 30 2879 | A asn S 76 90 2880 | R asj 68 2881 | A aso S 69 273 2882 | R aso 85 2883 | R ase 38 2884 | A asp S 74 200 2885 | R asa 110 2886 | R asa 183 2887 | R aso 72 2888 | A asq S 70 120 2889 | A asr S 68 108 2890 | R asr 108 2891 | A ass B 69 7 2892 | A ast B 65 102 2893 | R asj 49 2894 | R arc 22 2895 | A asu S 69 124 2896 | A asv S 71 241 2897 | A asw B 67 160 2898 | R aso 48 2899 | R asu 85 2900 | A asx B 67 32 2901 | R asw 88 2902 | R asw 72 2903 | R asx 12 2904 | R arw 96 2905 | R asx 20 2906 | A asy S 71 871 2907 | R asq 104 2908 | R asy 75 2909 | R ast 102 2910 | R asa 92 2911 | A asz B 67 25 2912 | A ata B 70 41 2913 | R asy 160 2914 | A atb S 70 111 2915 | A atc B 65 66 2916 | R asy 89 2917 | R asv 58 2918 | A atd S 69 43 2919 | R asy 79 2920 | R asy 44 2921 | R asy 62 2922 | R atd 43 2923 | R arg 45 2924 | R ask 20 2925 | A ate S 73 67 2926 | R asv 178 2927 | A atf B 67 138 2928 | A atg B 68 192 2929 | R asy 75 2930 | R atg 108 2931 | R asp 97 2932 | A ath S 68 18 2933 | R ate 67 2934 | A ati S 70 141 2935 | R asq 14 2936 | R ati 110 2937 | R asy 96 2938 | R asz 25 2939 | R atf 34 2940 | A atj S 71 18 2941 | R atj 18 2942 | R asy 66 2943 | A atk B 66 93 2944 | R ati 31 2945 | R atb 18 2946 | A atl B 68 50 2947 | R atl 50 2948 | R atg 66 2949 | A atm S 68 83 2950 | R atf 91 2951 | R atm 83 2952 | A atn S 71 40 2953 | A ato S 69 96 2954 | R atb 53 2955 | R atk 93 2956 | R atf 13 2957 | A atp B 69 21 2958 | A atq S 67 107 2959 | A atr S 65 66 2960 | A ats B 62 71 2961 | A att B 67 22 2962 | R ary 29 2963 | A atu B 65 287 2964 | R atu 116 2965 | R atq 73 2966 | R atu 77 2967 | A atv B 62 146 2968 | A atw S 68 856 2969 | R asv 5 2970 | R atn 40 2971 | R asy 29 2972 | R atw 75 2973 | R atw 175 2974 | R ato 50 2975 | R atw 50 2976 | R atw 59 2977 | A atx B 61 98 2978 | R atw 64 2979 | R asy 71 2980 | R atv 64 2981 | A aty B 59 30 2982 | R atw 152 2983 | R aro 36 2984 | R ats 71 2985 | R atv 33 2986 | A atz B 63 30 2987 | R asy 25 2988 | R atu 54 2989 | R atw 69 2990 | R atz 30 2991 | A aua B 61 137 2992 | A aub S 70 213 2993 | R atw 49 2994 | R atq 12 2995 | R atw 120 2996 | A auc B 65 65 2997 | R aub 90 2998 | R aub 123 2999 | R atb 36 3000 | A aud B 65 255 3001 | A aue S 67 33 3002 | R atu 40 3003 | R aud 42 3004 | R aud 94 3005 | A auf S 73 33 3006 | A aug S 67 140 3007 | R aua 47 3008 | R aue 33 3009 | R aug 37 3010 | A auh S 67 246 3011 | A aui B 62 70 3012 | R auc 65 3013 | R aud 34 3014 | A auj S 69 97 3015 | R aug 80 3016 | R auh 58 3017 | R auh 84 3018 | R aud 72 3019 | R aug 23 3020 | R auh 19 3021 | R aui 70 3022 | R atv 49 3023 | R auh 85 3024 | A auk B 61 60 3025 | R ato 25 3026 | R auj 97 3027 | A aul S 67 75 3028 | R arl 40 3029 | R aei 22 3030 | R aul 61 3031 | R atx 87 3032 | A aum B 61 111 3033 | A aun S 64 139 3034 | R aua 49 3035 | R aua 41 3036 | R auk 23 3037 | A auo S 59 116 3038 | R agu 12 3039 | A aup B 60 99 3040 | A auq S 63 489 3041 | R aun 78 3042 | R auq 73 3043 | R auq 82 3044 | A aur B 63 518 3045 | R atw 43 3046 | A aus S 66 53 3047 | A aut S 66 232 3048 | R aus 28 3049 | R aut 71 3050 | A auu S 68 48 3051 | R aus 25 3052 | R aut 32 3053 | R aur 28 3054 | A auv S 67 15 3055 | R aur 50 3056 | A auw S 66 128 3057 | R auw 64 3058 | R auw 64 3059 | R aut 8 3060 | A aux B 61 163 3061 | A auy S 69 94 3062 | R auy 80 3063 | R aux 104 3064 | A auz S 66 86 3065 | A ava S 65 168 3066 | R ava 134 3067 | R aut 71 3068 | R aei 32 3069 | R aur 88 3070 | A avb B 58 368 3071 | R aux 59 3072 | R aum 43 3073 | A avc S 66 838 3074 | R auz 78 3075 | R avb 50 3076 | A avd B 64 82 3077 | R auz 8 3078 | R aut 50 3079 | R avc 21 3080 | R avc 70 3081 | R avc 61 3082 | A ave S 71 68 3083 | R ava 34 3084 | R avc 80 3085 | A avf B 64 85 3086 | R aup 99 3087 | R avd 66 3088 | R avc 22 3089 | R avc 114 3090 | R avc 117 3091 | R avd 16 3092 | R avf 65 3093 | A avg B 64 65 3094 | R avc 159 3095 | R avc 171 3096 | A avh S 67 103 3097 | A avi B 61 207 3098 | R avi 75 3099 | A avj B 61 33 3100 | R avh 65 3101 | A avk S 66 83 3102 | R avf 20 3103 | R avg 65 3104 | A avl S 63 12 3105 | A avm S 65 134 3106 | A avn S 61 39 3107 | R auv 15 3108 | R aul 14 3109 | R avh 38 3110 | R avb 81 3111 | R avc 23 3112 | R avk 83 3113 | R avm 121 3114 | A avo B 62 65 3115 | R avj 33 3116 | R avi 99 3117 | R avo 65 3118 | A avp S 61 30 3119 | R avb 42 3120 | R avp 30 3121 | R aty 30 3122 | R avb 92 3123 | A avq B 66 39 3124 | R avq 26 3125 | A avr B 66 46 3126 | A avs S 65 46 3127 | A avt B 61 172 3128 | A avu B 66 16 3129 | R avu 16 3130 | A avv B 66 70 3131 | R avv 66 3132 | R avt 63 3133 | A avw B 68 58 3134 | R auy 14 3135 | R aqi 20 3136 | R arc 82 3137 | A avx B 71 32 3138 | A avy S 70 92 3139 | A avz S 70 297 3140 | R avy 92 3141 | R avz 53 3142 | R avz 118 3143 | R avz 120 3144 | A awa B 68 189 3145 | A awb B 68 155 3146 | R awa 91 3147 | R awa 73 3148 | R awb 63 3149 | A awc B 66 42 3150 | A awd S 74 99 3151 | R ave 40 3152 | A awe B 68 71 3153 | R awa 25 3154 | R awe 71 3155 | R avw 10 3156 | R awb 2 3157 | A awf B 67 146 3158 | R awf 78 3159 | R asp 92 3160 | A awg S 70 119 3161 | R asp 11 3162 | R awd 99 3163 | A awh B 68 25 3164 | R avz 6 3165 | R awg 117 3166 | R awh 25 3167 | R awb 9 3168 | R awg 2 3169 | A awi B 73 15 3170 | A awj S 71 146 3171 | A awk B 69 136 3172 | A awl S 72 88 3173 | R awj 146 3174 | R asn 90 3175 | A awm S 72 96 3176 | A awn B 70 178 3177 | A awo S 73 191 3178 | A awp B 70 162 3179 | A awq S 74 150 3180 | R awm 46 3181 | A awr B 70 46 3182 | R awo 130 3183 | R auf 18 3184 | R awo 61 3185 | A aws S 73 137 3186 | A awt S 70 40 3187 | R awn 107 3188 | A awu S 73 180 3189 | R awm 50 3190 | R awl 46 3191 | R awb 81 3192 | R awr 46 3193 | R awp 112 3194 | R arh 120 3195 | R awn 31 3196 | R awp 50 3197 | A awv B 64 196 3198 | A aww S 72 46 3199 | A awx S 76 125 3200 | A awy B 72 16 3201 | R aws 93 3202 | R awf 68 3203 | R awk 84 3204 | A awz S 67 50 3205 | R awl 26 3206 | R aww 46 3207 | R awu 83 3208 | A axa S 68 616 3209 | A axb B 67 152 3210 | R axa 114 3211 | R axa 94 3212 | R axa 74 3213 | R axa 138 3214 | R avt 81 3215 | R axb 77 3216 | A axc S 72 86 3217 | R awq 110 3218 | R awc 42 3219 | R avv 4 3220 | R axa 65 3221 | R axa 89 3222 | R axb 75 3223 | A axd S 65 100 3224 | R awv 138 3225 | R axd 100 3226 | A axe B 66 187 3227 | A axf S 69 33 3228 | R axe 165 3229 | R axf 33 3230 | A axg B 65 34 3231 | A axh B 62 83 3232 | A axi B 62 140 3233 | A axj B 65 69 3234 | A axk S 70 145 3235 | A axl B 70 329 3236 | R axc 86 3237 | R aws 44 3238 | R awu 27 3239 | R axl 72 3240 | R axl 72 3241 | A axm B 73 31 3242 | A axn S 68 169 3243 | A axo S 68 265 3244 | R axn 89 3245 | R axn 80 3246 | R axo 57 3247 | R awv 58 3248 | R axo 136 3249 | A axp S 64 12 3250 | A axq B 68 25 3251 | A axr B 68 49 3252 | A axs B 68 49 3253 | A axt S 70 49 3254 | R axt 49 3255 | R awq 40 3256 | A axu S 70 35 3257 | R axu 35 3258 | A axv S 73 133 3259 | R axv 63 3260 | R awu 39 3261 | R axv 70 3262 | A axw B 72 30 3263 | A axx S 75 26 3264 | A axy S 74 111 3265 | R axy 77 3266 | A axz S 76 327 3267 | A aya B 72 297 3268 | R axz 54 3269 | R awx 125 3270 | R axz 18 3271 | R axw 30 3272 | R aya 62 3273 | R axy 34 3274 | A ayb S 71 11 3275 | R axs 49 3276 | R axr 2 3277 | R axz 100 3278 | A ayc B 72 336 3279 | R ayc 85 3280 | R ayc 109 3281 | A ayd B 75 1639 3282 | R ayd 242 3283 | R ayd 63 3284 | R ayd 41 3285 | R ayd 73 3286 | R ayd 51 3287 | R ayd 59 3288 | R ayd 108 3289 | R axz 89 3290 | R ayd 131 3291 | A aye S 78 31 3292 | R ayd 105 3293 | R ayd 69 3294 | R ayd 187 3295 | R ayd 84 3296 | R ayd 146 3297 | R ayd 136 3298 | A ayf B 74 33 3299 | R ayd 112 3300 | R aya 185 3301 | R axz 66 3302 | A ayg S 72 54 3303 | A ayh S 70 169 3304 | R axj 69 3305 | A ayi B 68 58 3306 | A ayj S 70 111 3307 | A ayk S 70 138 3308 | R ayj 99 3309 | A ayl S 70 40 3310 | A aym B 68 97 3311 | R ayk 46 3312 | A ayn S 73 43 3313 | R ayl 40 3314 | R ayk 77 3315 | R aym 63 3316 | A ayo B 67 63 3317 | A ayp B 70 66 3318 | A ayq S 73 35 3319 | A ayr S 72 205 3320 | A ays B 64 126 3321 | R ayr 150 3322 | A ayt S 73 119 3323 | R ayp 30 3324 | R ayi 58 3325 | R aym 34 3326 | A ayu B 67 155 3327 | A ayv S 67 88 3328 | R ayu 130 3329 | R ayn 43 3330 | R ayq 35 3331 | R ayt 2 3332 | A ayw S 69 22 3333 | A ayx S 74 198 3334 | A ayy B 67 88 3335 | R axh 83 3336 | R axi 26 3337 | A ayz B 67 141 3338 | R ayz 49 3339 | R ayt 43 3340 | A aza S 71 26 3341 | R ayz 75 3342 | R axg 34 3343 | A azb S 70 62 3344 | R azb 62 3345 | R ayz 17 3346 | R ayy 77 3347 | A azc S 72 93 3348 | R ays 73 3349 | R ayx 90 3350 | A azd S 71 24 3351 | A aze B 65 37 3352 | A azf S 71 86 3353 | R azc 52 3354 | R ayx 108 3355 | R ays 53 3356 | A azg B 61 39 3357 | A azh B 61 195 3358 | R aza 26 3359 | R azf 51 3360 | R axi 65 3361 | A azi B 70 68 3362 | A azj S 74 66 3363 | R azi 46 3364 | R ayr 55 3365 | R azc 41 3366 | A azk B 64 27 3367 | A azl S 66 89 3368 | A azm B 64 66 3369 | R azm 66 3370 | R azk 15 3371 | R azl 56 3372 | A azn S 67 258 3373 | R azn 123 3374 | R azn 49 3375 | R avb 79 3376 | R azh 123 3377 | A azo B 61 142 3378 | R avt 28 3379 | R azg 39 3380 | R azh 47 3381 | A azp S 63 492 3382 | R azp 82 3383 | R azp 102 3384 | R azp 65 3385 | A azq B 64 18 3386 | R azo 46 3387 | R axi 47 3388 | A azr B 63 60 3389 | R azo 52 3390 | R avb 24 3391 | R azp 53 3392 | R azp 63 3393 | A azs S 62 207 3394 | R azs 187 3395 | R azs 18 3396 | R azl 12 3397 | A azt B 65 79 3398 | R azd 24 3399 | R azf 35 3400 | R azt 79 3401 | A azu S 65 37 3402 | R azo 44 3403 | R azh 25 3404 | A azv S 63 53 3405 | A azw B 58 593 3406 | R azw 108 3407 | R azw 96 3408 | A azx B 65 24 3409 | R azu 37 3410 | R azw 81 3411 | R azw 170 3412 | A azy S 61 166 3413 | A azz S 60 181 3414 | R azw 114 3415 | A baa B 57 70 3416 | R baa 70 3417 | R abd 45 3418 | A bab S 58 84 3419 | R sc 21 3420 | R aan 44 3421 | A bac S 57 111 3422 | A bad S 58 26 3423 | R aan 76 3424 | R ng 56 3425 | A bae B 54 10 3426 | R abg 54 3427 | R aan 46 3428 | R bac 111 3429 | R aan 77 3430 | A baf S 57 89 3431 | R bae 10 3432 | A bag B 52 303 3433 | A bah S 59 67 3434 | A bai B 58 413 3435 | R bai 106 3436 | R bai 105 3437 | R bai 27 3438 | A baj S 52 288 3439 | A bak S 57 35 3440 | A bal B 58 363 3441 | R bal 51 3442 | R bal 77 3443 | R azz 73 3444 | R bal 107 3445 | A bam B 55 52 3446 | R bah 33 3447 | R bal 48 3448 | A ban B 56 38 3449 | R azz 47 3450 | A bao S 62 84 3451 | R azy 141 3452 | R bal 37 3453 | A bap B 57 25 3454 | A baq S 61 441 3455 | R baq 70 3456 | R azy 25 3457 | R baq 94 3458 | A bar S 64 298 3459 | A bas B 57 65 3460 | R bap 25 3461 | R bas 65 3462 | R aag 82 3463 | A bat B 55 564 3464 | R bam 52 3465 | R bat 26 3466 | R bat 133 3467 | R bao 84 3468 | R baq 187 3469 | A bau B 61 92 3470 | R bat 79 3471 | R bar 65 3472 | R bal 8 3473 | A bav S 62 168 3474 | A baw S 55 9 3475 | A bax B 60 29 3476 | A bay S 62 124 3477 | R bav 58 3478 | R bay 66 3479 | R bat 62 3480 | A baz S 62 164 3481 | R bav 76 3482 | R bav 34 3483 | R bay 58 3484 | R baz 12 3485 | A bba B 56 120 3486 | A bbb S 62 9 3487 | R baq 90 3488 | R bbb 9 3489 | R baz 73 3490 | R azv 29 3491 | R bax 26 3492 | A bbc B 59 61 3493 | A bbd B 60 57 3494 | R bbd 57 3495 | R bat 167 3496 | R bbc 61 3497 | R bar 66 3498 | A bbe S 57 22 3499 | R ban 29 3500 | R bba 76 3501 | R bba 44 3502 | R bat 79 3503 | A bbf B 54 10 3504 | A bbg S 60 31 3505 | A bbh B 54 105 3506 | R bbg 31 3507 | A bbi B 53 23 3508 | R bat 18 3509 | A bbj B 55 71 3510 | R bbj 71 3511 | A bbk S 60 199 3512 | R bbh 105 3513 | R bbf 10 3514 | R bbk 100 3515 | A bbl B 55 87 3516 | A bbm B 58 32 3517 | A bbn S 61 419 3518 | A bbo S 64 63 3519 | A bbp S 63 52 3520 | A bbq B 57 219 3521 | R bbq 128 3522 | R bbk 52 3523 | A bbr B 62 29 3524 | A bbs B 58 143 3525 | R bbs 77 3526 | R bbn 136 3527 | A bbt B 58 29 3528 | R bbs 32 3529 | A bbu B 58 235 3530 | A bbv S 57 74 3531 | R bbu 103 3532 | A bbw S 59 69 3533 | R bbu 83 3534 | R bbw 69 3535 | R bar 143 3536 | R bbn 81 3537 | A bbx S 66 129 3538 | R bbk 18 3539 | R bbn 53 3540 | A bby S 60 105 3541 | R baz 28 3542 | A bbz S 65 83 3543 | R bbz 83 3544 | R bby 44 3545 | R baz 51 3546 | R bbu 48 3547 | A bca S 56 46 3548 | A bcb B 58 36 3549 | A bcc S 61 36 3550 | A bcd S 60 218 3551 | A bce B 56 179 3552 | R bby 61 3553 | R bcd 81 3554 | R bcd 59 3555 | A bcf S 60 56 3556 | R bcd 66 3557 | R bbn 74 3558 | R bce 108 3559 | R bcc 36 3560 | R bbn 55 3561 | A bcg S 58 198 3562 | R bcg 39 3563 | A bch B 49 264 3564 | R bce 71 3565 | R bcd 12 3566 | R bcf 56 3567 | A bci S 59 63 3568 | R bbq 45 3569 | A bcj B 55 46 3570 | R bbl 87 3571 | R bcj 28 3572 | A bck B 52 40 3573 | A bcl B 55 11 3574 | A bcm B 58 391 3575 | A bcn S 60 42 3576 | A bco B 55 34 3577 | A bcp S 61 142 3578 | A bcq S 60 82 3579 | R bcn 42 3580 | R bcq 82 3581 | R bcm 99 3582 | A bcr B 57 81 3583 | R bci 63 3584 | R bcm 91 3585 | A bcs B 57 39 3586 | A bct S 66 223 3587 | R bcm 72 3588 | A bcu B 59 314 3589 | A bcv B 59 25 3590 | R bcu 127 3591 | A bcw S 64 78 3592 | A bcx B 60 261 3593 | R bcu 89 3594 | R bcv 25 3595 | R bcu 98 3596 | R bcx 61 3597 | R bcx 151 3598 | R bcp 121 3599 | R bbn 20 3600 | R bcp 21 3601 | R bbp 52 3602 | A bcy S 68 61 3603 | R bbo 63 3604 | R bar 24 3605 | R bcw 24 3606 | R bcy 61 3607 | A bcz S 64 178 3608 | A bda B 58 67 3609 | A bdb S 65 205 3610 | R bdb 141 3611 | A bdc B 62 75 3612 | A bdd S 64 100 3613 | R bcw 54 3614 | R bcz 84 3615 | R bcz 60 3616 | R bdc 75 3617 | R bcz 34 3618 | R bdd 100 3619 | A bde B 65 52 3620 | R bct 44 3621 | A bdf S 64 47 3622 | A bdg B 62 100 3623 | R bdf 47 3624 | R bct 86 3625 | R bdg 73 3626 | A bdh B 62 72 3627 | R bdh 65 3628 | R bcx 49 3629 | A bdi S 66 66 3630 | A bdj S 65 153 3631 | R bbx 129 3632 | R bdi 9 3633 | A bdk S 61 57 3634 | R bda 67 3635 | R bcm 6 3636 | A bdl S 60 55 3637 | A bdm S 60 47 3638 | A bdn B 58 138 3639 | R bdk 23 3640 | A bdo B 62 20 3641 | R bdn 113 3642 | A bdp S 61 35 3643 | R bdp 35 3644 | R bdj 91 3645 | A bdq B 62 184 3646 | A bdr B 60 60 3647 | R bdq 67 3648 | R bdr 60 3649 | A bds B 63 123 3650 | A bdt B 65 36 3651 | A bdu S 68 293 3652 | R bds 83 3653 | A bdv B 60 132 3654 | R bct 93 3655 | R bdi 24 3656 | A bdw S 65 214 3657 | R azn 53 3658 | R bdw 48 3659 | R bdv 72 3660 | R bdw 37 3661 | A bdx B 63 638 3662 | R bdu 115 3663 | R bds 40 3664 | R bdx 28 3665 | R bdx 158 3666 | R bdx 129 3667 | R bdx 118 3668 | R bdx 37 3669 | R bdi 33 3670 | R bdj 38 3671 | R bdw 69 3672 | A bdy S 65 336 3673 | A bdz B 61 85 3674 | R bdy 83 3675 | R bdw 60 3676 | R bdy 31 3677 | R bdx 70 3678 | R bdx 65 3679 | R bdy 101 3680 | R bcs 39 3681 | R bcr 21 3682 | R bdv 60 3683 | R bdy 86 3684 | A bea B 67 111 3685 | A beb B 69 27 3686 | R bdu 61 3687 | R bdz 85 3688 | A bec S 69 94 3689 | R bdq 35 3690 | R bdu 60 3691 | R ayt 74 3692 | R bec 94 3693 | A bed S 73 206 3694 | A bee B 68 87 3695 | A bef S 70 108 3696 | A beg S 71 28 3697 | R beg 28 3698 | A beh S 71 57 3699 | A bei S 68 47 3700 | R bef 63 3701 | R bef 45 3702 | A bej S 70 16 3703 | A bek S 70 591 3704 | R bej 16 3705 | R bek 29 3706 | R bek 84 3707 | R bed 108 3708 | A bel S 72 470 3709 | R bek 127 3710 | R bek 110 3711 | R bel 57 3712 | A bem B 70 715 3713 | R bem 110 3714 | A ben S 76 239 3715 | R bel 75 3716 | R bem 39 3717 | R bel 173 3718 | R bel 134 3719 | R bem 70 3720 | A beo S 69 69 3721 | R bem 186 3722 | A bep B 69 119 3723 | A beq B 73 79 3724 | A ber S 69 25 3725 | A bes B 65 80 3726 | R ben 113 3727 | R ben 62 3728 | R bep 69 3729 | A bet S 72 52 3730 | A beu S 70 13 3731 | R bes 63 3732 | R bea 43 3733 | R bed 83 3734 | A bev B 67 113 3735 | R bep 25 3736 | A bew B 68 31 3737 | A bex B 70 8 3738 | R bew 31 3739 | R bee 10 3740 | A bey B 69 45 3741 | A bez S 75 24 3742 | A bfa S 71 115 3743 | R bev 59 3744 | R bfa 78 3745 | A bfb S 74 38 3746 | A bfc B 69 133 3747 | A bfd S 75 196 3748 | A bfe B 67 178 3749 | R bey 45 3750 | R bfc 133 3751 | R bfe 137 3752 | A bff S 69 118 3753 | A bfg S 70 65 3754 | R bfe 41 3755 | R bev 52 3756 | R bff 110 3757 | A bfh S 70 41 3758 | A bfi B 67 174 3759 | R bev 2 3760 | R bfi 94 3761 | R bfi 80 3762 | R bfh 41 3763 | R beu 5 3764 | R bfg 25 3765 | A bfj B 70 32 3766 | A bfk S 65 31 3767 | R bfk 14 3768 | A bfl S 67 119 3769 | A bfm B 59 34 3770 | R bfg 16 3771 | A bfn B 67 107 3772 | A bfo B 65 47 3773 | A bfp S 67 165 3774 | R bfo 47 3775 | A bfq S 69 205 3776 | R bdx 33 3777 | A bfr B 67 70 3778 | A bfs B 64 103 3779 | R bfp 107 3780 | A bft B 63 20 3781 | A bfu S 71 234 3782 | R bfs 35 3783 | R bfq 51 3784 | A bfv B 67 164 3785 | R bfu 131 3786 | R bfq 59 3787 | R bfq 66 3788 | A bfw S 69 58 3789 | R bfv 51 3790 | R bfv 59 3791 | R bet 46 3792 | R bfw 58 3793 | R bfq 29 3794 | A bfx S 72 37 3795 | R bfu 103 3796 | R bfa 37 3797 | R bfv 54 3798 | A bfy B 69 40 3799 | R azj 66 3800 | R bfb 38 3801 | A bfz B 69 106 3802 | A bga B 70 23 3803 | R bez 24 3804 | R bfd 56 3805 | A bgb S 72 41 3806 | A bgc S 76 101 3807 | R bfy 40 3808 | R bfz 66 3809 | A bgd S 68 35 3810 | A bge S 77 18 3811 | A bgf B 70 91 3812 | A bgg S 72 47 3813 | R bfd 140 3814 | R bed 15 3815 | R bgg 47 3816 | R bfx 37 3817 | R bgb 32 3818 | A bgh B 73 88 3819 | A bgi S 80 203 3820 | A bgj B 73 58 3821 | A bgk S 76 174 3822 | R aye 31 3823 | R bgh 64 3824 | R bgj 58 3825 | A bgl B 77 67 3826 | A bgm B 76 52 3827 | A bgn B 77 55 3828 | A bgo S 74 127 3829 | R bgk 33 3830 | A bgp B 72 51 3831 | A bgq B 73 30 3832 | A bgr S 71 39 3833 | R bgo 86 3834 | A bgs S 75 89 3835 | A bgt B 69 28 3836 | A bgu S 75 128 3837 | R bgo 41 3838 | R bgf 91 3839 | R bgu 74 3840 | R bgk 36 3841 | A bgv S 75 72 3842 | A bgw S 74 28 3843 | R bgp 42 3844 | R bgk 34 3845 | A bgx B 74 101 3846 | R bgs 89 3847 | R bgv 37 3848 | R bgv 35 3849 | R bgu 52 3850 | R bgx 73 3851 | A bgy S 71 76 3852 | R bfz 28 3853 | R bgt 28 3854 | A bgz S 65 232 3855 | R bgz 50 3856 | R bgz 78 3857 | R bfs 68 3858 | A bha B 61 620 3859 | A bhb S 69 56 3860 | R bha 59 3861 | R bgz 104 3862 | A bhc S 65 51 3863 | A bhd S 66 36 3864 | R bha 90 3865 | R bha 85 3866 | A bhe S 63 90 3867 | R bhd 36 3868 | R bdn 25 3869 | R bha 82 3870 | R bhe 58 3871 | R bha 112 3872 | A bhf B 60 107 3873 | R bha 140 3874 | R bhe 12 3875 | A bhg B 61 86 3876 | A bhh S 64 147 3877 | A bhi B 60 17 3878 | A bhj S 62 50 3879 | R bhi 17 3880 | R bhf 22 3881 | R bhh 126 3882 | R bcr 60 3883 | R bhj 50 3884 | A bhk S 63 71 3885 | A bhl S 64 102 3886 | A bhm S 64 46 3887 | A bhn B 57 21 3888 | R bhg 78 3889 | R bha 52 3890 | R bhg 8 3891 | R bhk 71 3892 | R bhm 46 3893 | R bhl 20 3894 | R bhf 49 3895 | A bho B 62 83 3896 | R bhh 21 3897 | R bhl 63 3898 | R bho 72 3899 | A bhp S 70 326 3900 | A bhq B 64 23 3901 | R bhp 86 3902 | R bho 11 3903 | R bhc 51 3904 | A bhr S 62 19 3905 | R bfm 34 3906 | R bhn 21 3907 | A bhs B 58 212 3908 | R bhf 36 3909 | R bhs 96 3910 | R bhr 15 3911 | A bht S 61 34 3912 | A bhu S 58 51 3913 | A bhv S 61 39 3914 | R bhv 39 3915 | R bht 27 3916 | A bhw S 56 20 3917 | A bhx S 62 153 3918 | A bhy S 60 259 3919 | R bhs 45 3920 | R bhy 126 3921 | A bhz B 53 29 3922 | R bhy 125 3923 | A bia S 58 121 3924 | A bib B 54 118 3925 | R bhz 29 3926 | R bbi 23 3927 | R bib 118 3928 | R bia 55 3929 | R bhx 67 3930 | A bic S 57 259 3931 | R bcl 11 3932 | R bco 34 3933 | R bcj 12 3934 | R bic 86 3935 | A bid B 55 69 3936 | R bic 99 3937 | A bie B 53 68 3938 | A bif S 58 256 3939 | A big B 59 54 3940 | A bih S 59 288 3941 | A bii B 59 913 3942 | R bii 186 3943 | A bij S 62 108 3944 | R bij 107 3945 | R bhx 42 3946 | R bii 97 3947 | A bik B 58 37 3948 | A bil S 57 99 3949 | R bag 15 3950 | R bck 40 3951 | R bil 62 3952 | A bim B 57 79 3953 | A bin B 57 48 3954 | A bio B 55 35 3955 | A bip S 59 41 3956 | A biq S 58 136 3957 | R bim 79 3958 | R bin 17 3959 | R biq 117 3960 | A bir S 59 286 3961 | R bir 97 3962 | A bis B 54 227 3963 | R bir 51 3964 | R bis 180 3965 | A bit S 57 28 3966 | R bis 47 3967 | R bir 138 3968 | R bip 41 3969 | R bid 69 3970 | R bio 5 3971 | A biu S 62 67 3972 | A biv B 55 67 3973 | A biw B 55 49 3974 | R biq 19 3975 | R bhx 44 3976 | R bij 1 3977 | R biu 67 3978 | A bix S 61 32 3979 | A biy S 60 212 3980 | R bio 30 3981 | R bcj 6 3982 | R biw 40 3983 | A biz S 59 33 3984 | R bix 32 3985 | R bht 7 3986 | R bhy 8 3987 | R biy 69 3988 | A bja B 56 28 3989 | A bjb S 57 47 3990 | A bjc B 56 35 3991 | A bjd B 57 146 3992 | R bjd 102 3993 | A bje B 59 318 3994 | R bje 88 3995 | R biy 67 3996 | A bjf B 62 12 3997 | R bje 125 3998 | A bjg S 61 61 3999 | R bje 56 4000 | A bjh S 62 145 4001 | R bje 16 4002 | A bji B 55 43 4003 | R bjh 86 4004 | R biw 9 4005 | R bji 43 4006 | R biv 18 4007 | A bjj S 59 333 4008 | R biv 49 4009 | A bjk S 58 11 4010 | R bjj 51 4011 | R bjk 11 4012 | A bjl B 56 71 4013 | A bjm B 55 354 4014 | R bjj 50 4015 | A bjn B 54 78 4016 | A bjo S 59 43 4017 | R bjl 71 4018 | R bjc 15 4019 | A bjp S 57 62 4020 | R bjm 76 4021 | A bjq S 59 82 4022 | R bjm 63 4023 | R bjn 56 4024 | R bjm 64 4025 | R bjm 101 4026 | R bjp 62 4027 | A bjr B 57 35 4028 | R bjr 35 4029 | A bjs S 59 154 4030 | R bjj 78 4031 | R bjq 65 4032 | R bja 28 4033 | R bjc 20 4034 | A bjt S 57 142 4035 | R bjj 55 4036 | A bju S 55 27 4037 | A bjv S 56 189 4038 | R bjv 94 4039 | R bjv 95 4040 | R biy 64 4041 | R bjh 59 4042 | R bjt 56 4043 | R aad 25 4044 | R bjt 86 4045 | R bjj 99 4046 | R bjq 17 4047 | R bjs 3 4048 | R bjg 53 4049 | R bie 68 4050 | A bjw S 55 14 4051 | R bjo 43 4052 | R bjs 65 4053 | A bjx B 55 83 4054 | A bjy S 58 233 4055 | A bjz S 58 96 4056 | A bka S 58 726 4057 | R bjy 109 4058 | R bjz 58 4059 | A bkb B 56 165 4060 | R bka 82 4061 | R bka 130 4062 | R bjm 9 4063 | R bjx 83 4064 | R bka 92 4065 | R bjz 38 4066 | R bka 74 4067 | A bkc S 58 318 4068 | R bka 85 4069 | R bkc 62 4070 | R bjs 86 4071 | R bkb 162 4072 | R bkc 60 4073 | A bkd S 57 51 4074 | R bkd 50 4075 | R bka 41 4076 | A bke S 60 38 4077 | R bkc 88 4078 | R bkc 44 4079 | R bkc 64 4080 | R bjy 40 4081 | R bka 73 4082 | R bka 99 4083 | R bka 50 4084 | R bjy 17 4085 | R bjy 58 4086 | A bkf S 60 133 4087 | A bkg B 59 209 4088 | A bkh S 60 161 4089 | A bki B 56 42 4090 | R bke 38 4091 | R bkf 63 4092 | R bkg 185 4093 | R bkh 106 4094 | A bkj B 61 36 4095 | A bkk S 64 93 4096 | A bkl B 58 69 4097 | R bkf 34 4098 | R bkh 55 4099 | A bkm S 62 40 4100 | R bkk 48 4101 | A bkn B 60 63 4102 | R bkl 69 4103 | A bko B 61 22 4104 | R bkm 40 4105 | A bkp B 66 105 4106 | A bkq B 68 172 4107 | R bhp 66 4108 | R bhb 56 4109 | A bkr B 62 37 4110 | R bhp 41 4111 | R bkq 73 4112 | R bgy 76 4113 | R bkq 89 4114 | R bhp 64 4115 | A bks B 66 222 4116 | R bgk 62 4117 | R bhp 66 4118 | A bkt S 66 242 4119 | A bku B 63 249 4120 | A bkv B 72 137 4121 | A bkw B 73 66 4122 | A bkx S 76 321 4123 | A bky B 73 90 4124 | R bkv 95 4125 | R bky 54 4126 | A bkz S 75 40 4127 | R bkx 102 4128 | R bgu 2 4129 | R bkz 40 4130 | A bla S 75 199 4131 | R bkw 58 4132 | A blb S 77 110 4133 | R bkx 50 4134 | R bky 36 4135 | R bkw 8 4136 | A blc S 75 80 4137 | R bge 18 4138 | R arh 32 4139 | R blb 12 4140 | A bld B 71 162 4141 | R blc 57 4142 | R bkx 52 4143 | A ble S 74 147 4144 | A blf B 70 125 4145 | A blg S 74 76 4146 | R bkx 75 4147 | R ble 88 4148 | R blg 76 4149 | R ble 59 4150 | R blb 98 4151 | A blh S 74 92 4152 | R blh 92 4153 | A bli S 74 30 4154 | A blj S 77 44 4155 | A blk B 75 10 4156 | R blj 44 4157 | A bll B 74 105 4158 | R blf 99 4159 | R bla 43 4160 | R blc 23 4161 | R bla 108 4162 | R bld 136 4163 | R bla 48 4164 | R bkx 42 4165 | A blm S 74 43 4166 | A bln S 82 85 4167 | A blo B 79 146 4168 | R blo 68 4169 | A blp S 78 57 4170 | A blq B 77 121 4171 | A blr B 79 81 4172 | R bgi 58 4173 | R blr 81 4174 | R blo 21 4175 | R bgi 68 4176 | R bgi 77 4177 | R aof 48 4178 | A bls S 82 39 4179 | R blq 101 4180 | A blt S 81 104 4181 | A blu B 77 85 4182 | A blv B 81 201 4183 | R blv 61 4184 | A blw S 86 158 4185 | A blx B 79 40 4186 | R alw 1 4187 | R aof 6 4188 | R bln 85 4189 | R bls 14 4190 | A bly S 87 571 4191 | R bls 25 4192 | A blz B 83 236 4193 | R kn 89 4194 | R blz 39 4195 | R kt 55 4196 | R bly 4 4197 | R alu 22 4198 | R anx 22 4199 | R blw 105 4200 | R aod 82 4201 | R blz 178 4202 | R aod 70 4203 | R blz 19 4204 | R bly 101 4205 | A bma S 83 110 4206 | R bma 62 4207 | A bmb S 83 76 4208 | R bma 48 4209 | R bmb 35 4210 | R bmb 41 4211 | A bmc B 87 282 4212 | A bmd S 82 7 4213 | A bme S 85 113 4214 | A bmf B 82 55 4215 | R bly 63 4216 | A bmg B 77 85 4217 | R bly 82 4218 | A bmh B 83 120 4219 | A bmi S 81 74 4220 | R bme 97 4221 | R bmh 46 4222 | A bmj B 81 150 4223 | R kp 32 4224 | R kn 161 4225 | A bmk S 81 138 4226 | A bml B 82 107 4227 | A bmm S 83 99 4228 | R bmm 51 4229 | A bmn B 81 21 4230 | R bmm 48 4231 | R bml 102 4232 | A bmo B 83 51 4233 | R kr 70 4234 | R ki 8 4235 | R bmj 71 4236 | A bmp B 81 115 4237 | A bmq B 82 157 4238 | A bmr B 84 69 4239 | R bly 44 4240 | R bly 97 4241 | R bmj 20 4242 | R bmn 21 4243 | R bmp 74 4244 | R bmr 69 4245 | A bms S 85 23 4246 | R bly 102 4247 | A bmt B 82 16 4248 | A bmu S 81 76 4249 | A bmv S 84 152 4250 | A bmw S 87 16 4251 | R bmv 92 4252 | R bmg 85 4253 | R blq 20 4254 | R blu 7 4255 | R bmv 60 4256 | A bmx B 78 245 4257 | R bmt 16 4258 | R bmq 104 4259 | R bme 16 4260 | R bms 10 4261 | A bmy B 81 84 4262 | A bmz S 84 70 4263 | R bmp 41 4264 | R bmy 60 4265 | R bmz 38 4266 | R bmx 165 4267 | R bmy 24 4268 | A bna S 82 50 4269 | A bnb S 78 111 4270 | A bnc S 79 57 4271 | R bnc 57 4272 | A bnd B 76 314 4273 | A bne S 81 79 4274 | A bnf B 75 27 4275 | A bng B 80 104 4276 | R bng 38 4277 | R bnd 219 4278 | A bnh B 78 45 4279 | R bng 66 4280 | A bni B 77 185 4281 | R bnh 45 4282 | R bmx 9 4283 | R bni 41 4284 | A bnj B 81 41 4285 | R bnf 27 4286 | R bni 94 4287 | A bnk S 79 37 4288 | R bni 50 4289 | R blu 78 4290 | A bnl B 78 61 4291 | R bkv 39 4292 | R bnk 37 4293 | R bmz 32 4294 | A bnm B 80 118 4295 | R bnm 98 4296 | A bnn S 82 81 4297 | R bnn 81 4298 | R bna 17 4299 | R bnm 20 4300 | R bnd 95 4301 | A bno S 78 37 4302 | A bnp S 87 138 4303 | A bnq B 80 164 4304 | R bnq 46 4305 | R bne 38 4306 | R bly 18 4307 | R bmw 16 4308 | R bnp 42 4309 | A bnr S 80 17 4310 | A bns S 86 64 4311 | A bnt B 81 154 4312 | A bnu B 83 251 4313 | R bns 37 4314 | R bnu 82 4315 | R bnu 97 4316 | A bnv B 85 17 4317 | A bnw S 92 102 4318 | R bnp 71 4319 | A bnx B 86 218 4320 | R bnx 104 4321 | A bny S 85 27 4322 | R bnx 60 4323 | A bnz S 83 177 4324 | A boa S 79 34 4325 | R bnz 101 4326 | A bob B 82 14 4327 | A boc S 80 91 4328 | A bod S 84 68 4329 | R bod 58 4330 | A boe B 77 70 4331 | R bnq 78 4332 | A bof B 86 252 4333 | A bog S 88 57 4334 | R jx 32 4335 | R bof 66 4336 | A boh B 82 103 4337 | R boh 56 4338 | R bof 117 4339 | R bnp 25 4340 | R bog 57 4341 | A boi B 83 50 4342 | A boj S 88 100 4343 | R bof 59 4344 | R boj 92 4345 | A bok S 82 33 4346 | A bol B 85 159 4347 | A bom S 87 74 4348 | R bom 74 4349 | A bon S 89 97 4350 | A boo S 84 34 4351 | A bop S 85 48 4352 | A boq S 84 94 4353 | A bor B 82 93 4354 | A bos B 85 67 4355 | R bon 78 4356 | R bnw 102 4357 | A bot B 80 35 4358 | A bou S 92 128 4359 | A bov S 87 40 4360 | R bos 50 4361 | R boi 17 4362 | A bow B 85 62 4363 | R bov 40 4364 | R boj 8 4365 | A box B 90 20 4366 | A boy S 86 367 4367 | R bow 62 4368 | A boz B 82 92 4369 | A bpa B 83 74 4370 | A bpb B 83 188 4371 | R bpa 64 4372 | R boy 57 4373 | R boy 82 4374 | R boy 152 4375 | R boy 46 4376 | R bpa 10 4377 | R bpb 50 4378 | A bpc S 87 85 4379 | R bnq 23 4380 | R bot 35 4381 | R bpb 119 4382 | A bpd S 85 61 4383 | R boh 45 4384 | R bpd 61 4385 | R bpb 19 4386 | A bpe B 83 34 4387 | A bpf S 89 148 4388 | A bpg B 84 174 4389 | R bpg 74 4390 | R bpc 54 4391 | R kg 18 4392 | R kb 1 4393 | R bor 93 4394 | R boh 2 4395 | R boz 25 4396 | A bph S 86 86 4397 | R bpg 78 4398 | A bpi B 87 39 4399 | A bpj B 86 213 4400 | R bpj 136 4401 | R bpf 71 4402 | R bpf 77 4403 | A bpk B 87 37 4404 | R bou 92 4405 | A bpl S 89 137 4406 | A bpm S 87 37 4407 | A bpn B 82 143 4408 | A bpo S 84 25 4409 | R boz 67 4410 | R bpn 61 4411 | R bpe 34 4412 | R bpn 82 4413 | A bpp B 80 43 4414 | A bpq B 85 34 4415 | R bnt 43 4416 | A bpr B 85 186 4417 | R bpr 52 4418 | A bps B 84 113 4419 | A bpt S 87 296 4420 | A bpu B 87 9 4421 | R bpq 31 4422 | R bpr 71 4423 | R bpm 22 4424 | R bpt 101 4425 | R bpt 155 4426 | R bpr 63 4427 | R bps 59 4428 | R bpl 83 4429 | R bpl 54 4430 | A bpv B 86 177 4431 | R bpv 71 4432 | R bpt 40 4433 | R bpv 106 4434 | A bpw S 86 108 4435 | R bpw 108 4436 | A bpx B 87 21 4437 | R bou 36 4438 | R db 12 4439 | A bpy B 91 35 4440 | A bpz B 90 85 4441 | A bqa B 91 71 4442 | R ka 104 4443 | R jp 27 4444 | A bqb S 99 65 4445 | A bqc S 92 36 4446 | A bqd B 90 33 4447 | R bqd 33 4448 | R bpz 17 4449 | R bqc 36 4450 | A bqe B 98 64 4451 | R bqb 65 4452 | A bqf S 100 260 4453 | R bqe 64 4454 | A bqg B 98 111 4455 | R bqg 111 4456 | A bqh S 99 63 4457 | A bqi S 94 145 4458 | R bpy 35 4459 | R bqa 52 4460 | A bqj S 93 65 4461 | R bqj 65 4462 | A bqk S 94 40 4463 | R bqi 63 4464 | R bpz 68 4465 | R bqi 82 4466 | A bql B 90 52 4467 | R bqh 28 4468 | R bqk 40 4469 | A bqm S 97 61 4470 | A bqn B 99 19 4471 | A bqo S 94 366 4472 | A bqp B 92 44 4473 | R bqo 57 4474 | R bqo 139 4475 | A bqq B 91 42 4476 | R bqo 170 4477 | A bqr B 95 115 4478 | R bqr 58 4479 | R de 43 4480 | A bqs B 93 31 4481 | A bqt B 97 53 4482 | R bqt 11 4483 | A bqu S 97 48 4484 | A bqv S 97 85 4485 | A bqw B 99 993 4486 | R de 33 4487 | R bqf 51 4488 | R bqw 86 4489 | R bqw 87 4490 | R bqw 98 4491 | R bqw 94 4492 | R bqw 93 4493 | R bqf 105 4494 | R bqw 367 4495 | R ca 53 4496 | R bqf 69 4497 | A bqx S 97 97 4498 | R bqr 57 4499 | A bqy S 94 32 4500 | R bqs 31 4501 | R bql 52 4502 | A bqz B 95 121 4503 | R bqx 92 4504 | A bra B 89 343 4505 | R bqf 35 4506 | R bra 66 4507 | R bqz 89 4508 | A brb S 97 37 4509 | R brb 37 4510 | R bqx 3 4511 | A brc S 94 24 4512 | R bra 128 4513 | A brd S 95 18 4514 | A bre B 86 75 4515 | R brc 24 4516 | A brf B 93 111 4517 | R brd 18 4518 | A brg B 97 30 4519 | A brh B 107 47 4520 | A bri S 98 34 4521 | A brj S 102 18 4522 | A brk B 96 41 4523 | A brl B 95 22 4524 | R bri 34 4525 | A brm S 96 362 4526 | A brn B 92 85 4527 | R brm 116 4528 | A bro B 91 162 4529 | R brm 177 4530 | A brp S 93 20 4531 | A brq B 102 688 4532 | R bp 120 4533 | A brr S 102 277 4534 | A brs S 107 40 4535 | R brq 191 4536 | A brt B 103 128 4537 | A bru S 111 34 4538 | A brv B 103 45 4539 | A brw S 110 318 4540 | A brx S 101 31 4541 | R brv 45 4542 | R brt 42 4543 | R brw 160 4544 | R brq 55 4545 | A bry B 105 135 4546 | R bry 86 4547 | A brz S 112 48 4548 | A bsa B 105 30 4549 | A bsb S 107 194 4550 | R brs 40 4551 | R bsb 42 4552 | A bsc B 108 112 4553 | A bsd B 107 37 4554 | R bry 49 4555 | R bsa 30 4556 | A bse B 100 138 4557 | A bsf B 108 24 4558 | A bsg S 110 45 4559 | A bsh S 112 290 4560 | R brw 140 4561 | A bsi B 104 273 4562 | R bru 34 4563 | R brz 48 4564 | R bsh 20 4565 | A bsj S 110 458 4566 | R bsg 45 4567 | R bsj 30 4568 | R brw 18 4569 | R bsj 135 4570 | R bsj 127 4571 | A bsk B 104 67 4572 | R bsj 90 4573 | A bsl S 111 269 4574 | R bsl 68 4575 | R bsj 76 4576 | A bsm S 108 145 4577 | A bsn B 108 49 4578 | R bsi 112 4579 | A bso S 107 234 4580 | R brq 116 4581 | R bsi 72 4582 | R bsi 74 4583 | A bsp S 107 32 4584 | A bsq S 107 130 4585 | R brt 55 4586 | R bso 78 4587 | R bsi 15 4588 | R bsk 67 4589 | A bsr S 104 107 4590 | R bsp 32 4591 | R bsq 130 4592 | R bsr 74 4593 | R bsr 33 4594 | A bss B 105 46 4595 | A bst B 105 87 4596 | R bss 46 4597 | R bst 59 4598 | R bst 28 4599 | R bso 54 4600 | A bsu B 105 45 4601 | R bso 92 4602 | R bsh 103 4603 | A bsv B 105 69 4604 | R bsv 61 4605 | A bsw B 107 24 4606 | R bsw 14 4607 | R bsl 93 4608 | A bsx S 105 57 4609 | A bsy B 103 42 4610 | R bsm 75 4611 | R bsy 42 4612 | A bsz S 104 132 4613 | R bsz 57 4614 | A bta B 101 164 4615 | R brq 31 4616 | A btb S 103 141 4617 | A btc B 105 86 4618 | R bta 99 4619 | R bta 65 4620 | R btb 55 4621 | A btd B 100 107 4622 | A bte B 97 64 4623 | R btd 72 4624 | A btf S 103 116 4625 | R btf 116 4626 | A btg B 106 252 4627 | A bth S 108 267 4628 | R bth 126 4629 | R bth 66 4630 | A bti B 107 86 4631 | R btg 123 4632 | R bti 78 4633 | R bth 75 4634 | A btj B 109 103 4635 | R bsl 108 4636 | R btj 48 4637 | R bsh 75 4638 | R btg 50 4639 | A btk S 114 164 4640 | A btl S 111 46 4641 | A btm B 108 129 4642 | A btn S 115 118 4643 | R bsh 56 4644 | R btm 97 4645 | R bsh 36 4646 | R btk 146 4647 | R btk 18 4648 | A bto B 109 110 4649 | R btl 46 4650 | A btp S 109 338 4651 | A btq S 111 118 4652 | A btr S 110 177 4653 | A bts S 110 113 4654 | R btp 60 4655 | R btr 125 4656 | R btr 52 4657 | R bts 70 4658 | R bts 43 4659 | R btp 75 4660 | R btn 101 4661 | R btq 68 4662 | R btp 38 4663 | A btt S 113 727 4664 | R btq 50 4665 | A btu S 108 111 4666 | R btu 62 4667 | A btv S 110 46 4668 | R btu 17 4669 | R btv 46 4670 | A btw S 112 110 4671 | A btx S 109 119 4672 | R btt 69 4673 | R btt 130 4674 | R btt 42 4675 | A bty B 102 55 4676 | A btz B 110 20 4677 | A bua B 107 88 4678 | R bua 88 4679 | R bti 8 4680 | A bub B 107 88 4681 | A buc S 109 172 4682 | R bub 88 4683 | A bud S 105 49 4684 | A bue S 104 606 4685 | R bue 68 4686 | A buf B 101 98 4687 | R bue 184 4688 | R bue 48 4689 | R bue 97 4690 | R bue 95 4691 | R bty 55 4692 | R bte 64 4693 | A bug B 96 321 4694 | A buh B 104 152 4695 | R btx 68 4696 | R btx 31 4697 | R buc 120 4698 | A bui B 103 36 4699 | A buj S 107 22 4700 | R buh 38 4701 | R bui 36 4702 | A buk B 106 96 4703 | R buk 47 4704 | R buf 98 4705 | A bul S 105 53 4706 | R bul 53 4707 | A bum S 104 185 4708 | R bum 63 4709 | A bun B 99 55 4710 | A buo S 98 142 4711 | A bup B 102 203 4712 | A buq B 101 37 4713 | R bup 107 4714 | R bug 71 4715 | A bur S 102 111 4716 | R buq 37 4717 | A bus B 100 124 4718 | A but S 102 80 4719 | R but 58 4720 | A buu S 103 94 4721 | R bur 15 4722 | R but 22 4723 | A buv S 102 148 4724 | R buv 31 4725 | A buw S 102 213 4726 | R btd 31 4727 | R bus 42 4728 | R buu 94 4729 | R buw 48 4730 | R bus 61 4731 | R bus 21 4732 | R buw 74 4733 | A bux S 101 47 4734 | R bux 47 4735 | R buw 38 4736 | A buy B 102 26 4737 | A buz S 101 146 4738 | R bun 55 4739 | R buz 60 4740 | A bva S 98 106 4741 | R bug 74 4742 | R bva 106 4743 | R bug 99 4744 | A bvb S 98 70 4745 | R bug 77 4746 | R buz 86 4747 | R brf 57 4748 | R bvb 70 4749 | A bvc S 98 29 4750 | R bqa 19 4751 | R bro 89 4752 | A bvd B 90 58 4753 | A bve B 90 170 4754 | A bvf B 95 189 4755 | R buw 53 4756 | R buv 47 4757 | A bvg B 95 207 4758 | R bvf 168 4759 | R bvg 99 4760 | A bvh S 98 45 4761 | R bvc 29 4762 | R bvh 17 4763 | A bvi B 93 156 4764 | A bvj B 94 94 4765 | A bvk B 94 122 4766 | A bvl S 100 345 4767 | R bvh 28 4768 | R brf 54 4769 | R bvi 56 4770 | R bvk 73 4771 | A bvm S 95 17 4772 | R bvl 57 4773 | A bvn B 98 27 4774 | R bvl 108 4775 | R bvf 6 4776 | R bvg 42 4777 | R bvl 113 4778 | R bvl 67 4779 | A bvo B 97 51 4780 | A bvp S 102 26 4781 | A bvq B 100 170 4782 | R bvq 85 4783 | R bvq 85 4784 | R bvg 66 4785 | A bvr B 102 16 4786 | R bvo 51 4787 | R buv 28 4788 | R bvp 26 4789 | A bvs S 105 79 4790 | A bvt B 102 14 4791 | A bvu S 100 9 4792 | A bvv S 105 180 4793 | A bvw B 101 80 4794 | R bvv 152 4795 | R bum 122 4796 | A bvx B 104 61 4797 | R bvx 61 4798 | A bvy S 104 43 4799 | A bvz S 105 54 4800 | R bvw 74 4801 | A bwa B 101 122 4802 | A bwb S 104 24 4803 | A bwc B 104 189 4804 | R bvv 28 4805 | R bvs 69 4806 | R bwc 106 4807 | A bwd S 104 8 4808 | R buj 22 4809 | R bvz 54 4810 | R bvs 10 4811 | A bwe S 111 133 4812 | A bwf B 103 312 4813 | A bwg S 106 70 4814 | R bwf 70 4815 | R bwf 47 4816 | R bwg 70 4817 | R bwf 52 4818 | A bwh S 106 32 4819 | R bvw 6 4820 | R bwa 110 4821 | A bwi S 106 90 4822 | R bwc 8 4823 | R bwf 107 4824 | R bwf 36 4825 | A bwj S 105 65 4826 | R bwh 32 4827 | R bwi 83 4828 | A bwk S 102 95 4829 | R bwa 12 4830 | R bwk 77 4831 | R bwj 65 4832 | A bwl S 98 113 4833 | A bwm B 94 128 4834 | R bvi 56 4835 | A bwn B 94 86 4836 | R bvj 77 4837 | R bvj 17 4838 | R bwm 82 4839 | A bwo S 98 81 4840 | A bwp S 95 120 4841 | R bwp 52 4842 | R bvi 44 4843 | R bwp 68 4844 | A bwq S 94 66 4845 | A bwr B 92 92 4846 | R bwn 86 4847 | R bwm 29 4848 | A bws B 95 19 4849 | A bwt B 90 174 4850 | A bwu B 94 25 4851 | R bqq 42 4852 | R bro 73 4853 | R bvd 58 4854 | R bwt 57 4855 | A bwv S 102 182 4856 | R bra 97 4857 | A bww S 98 30 4858 | A bwx S 95 67 4859 | R bwx 48 4860 | R bww 30 4861 | R bwl 15 4862 | R bve 68 4863 | R bwl 71 4864 | R bwo 3 4865 | R bwo 78 4866 | A bwy B 100 48 4867 | R bwy 48 4868 | A bwz B 101 303 4869 | A bxa S 99 81 4870 | R bwk 13 4871 | R bwv 87 4872 | R bwz 62 4873 | R bwz 89 4874 | R bwv 95 4875 | A bxb B 103 20 4876 | R bwi 7 4877 | A bxc B 107 102 4878 | R btt 88 4879 | R bxc 102 4880 | A bxd S 106 58 4881 | A bxe S 105 184 4882 | R bxe 65 4883 | A bxf B 105 23 4884 | R bxb 20 4885 | A bxg B 101 85 4886 | R bwz 66 4887 | A bxh S 105 163 4888 | R bxh 117 4889 | A bxi B 101 586 4890 | A bxj B 97 44 4891 | A bxk S 105 226 4892 | R bxh 46 4893 | R bxk 76 4894 | A bxl S 104 270 4895 | R bxi 128 4896 | A bxm S 102 99 4897 | R bxl 145 4898 | R bxg 85 4899 | R bxi 33 4900 | R bxl 83 4901 | R bxi 82 4902 | R bxi 60 4903 | R bxi 68 4904 | R bwz 5 4905 | R bxi 31 4906 | R bxm 51 4907 | R bxi 71 4908 | R bxi 69 4909 | R bxd 58 4910 | A bxn B 100 74 4911 | R bxm 48 4912 | A bxo B 101 38 4913 | R bxe 74 4914 | A bxp S 105 202 4915 | A bxq S 103 57 4916 | R bxi 44 4917 | R bxo 17 4918 | R bxp 69 4919 | R bxl 42 4920 | A bxr B 101 49 4921 | R bxo 21 4922 | R bxr 49 4923 | R bxp 57 4924 | A bxs B 97 44 4925 | R bxs 44 4926 | R bxj 30 4927 | R bxq 57 4928 | R bxp 76 4929 | R bxk 8 4930 | A bxt S 103 141 4931 | A bxu B 102 76 4932 | R bxu 76 4933 | A bxv S 105 71 4934 | R bxn 49 4935 | A bxw S 106 61 4936 | R bxk 51 4937 | A bxx S 106 46 4938 | A bxy B 100 94 4939 | R bxx 46 4940 | R bxw 34 4941 | A bxz S 103 58 4942 | A bya B 103 33 4943 | R bxn 21 4944 | R bxn 4 4945 | R bxy 65 4946 | A byb S 103 54 4947 | R byb 54 4948 | R bxz 16 4949 | R bxv 52 4950 | A byc S 98 13 4951 | A byd B 104 21 4952 | A bye B 100 144 4953 | A byf S 104 70 4954 | R byf 65 4955 | A byg B 104 60 4956 | R bxw 27 4957 | R bye 37 4958 | R bxe 22 4959 | R bxk 91 4960 | R bxv 13 4961 | A byh B 103 221 4962 | R byh 152 4963 | A byi S 104 85 4964 | A byj B 105 91 4965 | A byk S 105 29 4966 | A byl B 106 77 4967 | R bwe 83 4968 | A bym S 111 177 4969 | A byn B 108 78 4970 | R byn 78 4971 | R btt 79 4972 | A byo S 112 176 4973 | R byl 39 4974 | R btt 102 4975 | A byp S 108 268 4976 | R byp 123 4977 | R byp 66 4978 | R byo 116 4979 | R byp 79 4980 | R btt 110 4981 | A byq B 104 81 4982 | A byr B 107 511 4983 | R bym 59 4984 | R buc 51 4985 | R byr 83 4986 | R byr 138 4987 | R byr 77 4988 | R byr 114 4989 | R byo 60 4990 | R btw 107 4991 | A bys B 109 25 4992 | R bwe 49 4993 | A byt B 109 13 4994 | R byr 38 4995 | A byu S 107 22 4996 | R btt 61 4997 | A byv B 113 30 4998 | A byw S 107 110 4999 | A byx B 107 62 5000 | R bym 89 5001 | -------------------------------------------------------------------------------- /Assignment 1/input/message_ex_add.txt: -------------------------------------------------------------------------------- 1 | A c S 97 36 2 | -------------------------------------------------------------------------------- /Assignment 1/input/message_ex_cross.txt: -------------------------------------------------------------------------------- 1 | A c B 106 101 2 | -------------------------------------------------------------------------------- /Assignment 1/input/message_ex_reduce.txt: -------------------------------------------------------------------------------- 1 | R a 50 2 | -------------------------------------------------------------------------------- /Assignment 1/input/message_ex_same_price.txt: -------------------------------------------------------------------------------- 1 | A j S 105 132 2 | A k B 95 71 3 | -------------------------------------------------------------------------------- /Assignment 1/main.R: -------------------------------------------------------------------------------- 1 | options(warn=-1) 2 | args <- commandArgs(trailingOnly = TRUE); nargs = length(args) 3 | log <- (nargs == 4) # TRUE is there are exactly 4 arguments 4 | 5 | arg_format <- "<--log> " 6 | 7 | if (nargs < 3 || nargs > 4) # check that there are 3 or 4 arguments 8 | stop(paste("main.R has 3 required arguments and 1 optional flag:", arg_format)) 9 | 10 | if (nargs == 4 && args[1] != "--log") # if 4 check that --log is the first 11 | stop(paste("Bad arguments format, expected:", arg_format)) 12 | 13 | solution_path <- args[nargs-2] 14 | book_path <- args[nargs-1] 15 | messages_path <- args[nargs] 16 | 17 | if (!all(file.exists(c(solution_path, book_path, messages_path)))) 18 | stop("File does not exist at path provided.") 19 | 20 | source(solution_path); source("common.R") # source common.R from pwd 21 | 22 | book <- book.load(book_path) 23 | book <- book.reconstruct(data.load(messages_path), init=book, log=log) 24 | book.summarise(book) 25 | -------------------------------------------------------------------------------- /Assignment 1/output/book_1-message_a.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 8 a 105 100 4 | 7 o 104 292 5 | 6 r 102 194 6 | 5 k 99 71 7 | 4 q 98 166 8 | 3 m 98 88 9 | 2 j 97 132 10 | 1 n 96 375 11 | 12 | $bid 13 | oid price size 14 | 1 b 95 100 15 | 2 l 95 29 16 | 3 p 94 87 17 | 4 s 91 102 18 | 19 | Total volume: 318 1418 20 | Best prices: 95 96 21 | Mid-price: 95.5 22 | Spread: 1 23 | -------------------------------------------------------------------------------- /Assignment 1/output/book_1-message_ar.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 24 a 105 100 4 | 23 al 104 168 5 | 22 ay 103 53 6 | 21 av 100 68 7 | 20 at 99 20 8 | 19 au 98 12 9 | 18 ax 97 125 10 | 17 bt 95 27 11 | 16 bn 92 38 12 | 15 br 91 123 13 | 14 dj 90 76 14 | 13 bm 90 7 15 | 12 do 88 42 16 | 11 dd 88 35 17 | 10 db 88 33 18 | 9 de 87 34 19 | 8 dr 85 6 20 | 7 dq 84 40 21 | 6 ht 83 36 22 | 5 li 82 195 23 | 4 kd 82 86 24 | 3 ly 81 97 25 | 2 dv 80 15 26 | 1 mf 78 5 27 | 28 | $bid 29 | oid price size 30 | 1 lx 75 59 31 | 2 lz 73 194 32 | 3 mh 73 141 33 | 4 lv 72 150 34 | 5 ls 70 260 35 | 6 lw 70 8 36 | 7 gr 65 49 37 | 8 kv 65 74 38 | 39 | Total volume: 935 1441 40 | Best prices: 75 78 41 | Mid-price: 76.5 42 | Spread: 3 43 | -------------------------------------------------------------------------------- /Assignment 1/output/book_1-message_arc.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 5 btn 115 17 4 | 4 btt 113 46 5 | 3 btw 112 3 6 | 2 bym 111 18 7 | 1 byw 107 9 8 | 9 | $bid 10 | oid price size 11 | 1 byl 106 4 12 | 2 byq 104 81 13 | 3 bxy 100 16 14 | 4 bye 100 107 15 | 5 bxj 97 14 16 | 6 bwu 94 25 17 | 7 bqp 92 44 18 | 8 brn 92 85 19 | 9 bwr 92 92 20 | 10 bve 90 102 21 | 11 bwt 90 117 22 | 12 bra 89 52 23 | 13 bpx 87 21 24 | 14 bre 86 75 25 | 15 bps 84 54 26 | 16 bpp 80 43 27 | 17 bnl 78 24 28 | 18 boe 77 70 29 | 19 bll 74 42 30 | 20 bld 71 26 31 | 21 blf 70 26 32 | 22 bks 66 50 33 | 23 bku 63 249 34 | 24 bkr 62 37 35 | 25 bko 61 14 36 | 26 bkn 60 63 37 | 27 bkg 59 14 38 | 28 bkb 56 3 39 | 29 bki 56 42 40 | 30 bjn 54 22 41 | 31 bch 49 264 42 | 43 | Total volume: 1878 93 44 | Best prices: 106 107 45 | Mid-price: 106.5 46 | Spread: 1 47 | -------------------------------------------------------------------------------- /Assignment 1/output/book_2-message_a.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 10 a 105 20 4 | 9 o 104 292 5 | 8 d 104 22 6 | 7 r 102 194 7 | 6 k 99 71 8 | 5 q 98 166 9 | 4 m 98 88 10 | 3 e 98 72 11 | 2 j 97 132 12 | 1 n 96 375 13 | 14 | $bid 15 | oid price size 16 | 1 b 95 100 17 | 2 l 95 29 18 | 3 p 94 87 19 | 4 s 91 102 20 | 21 | Total volume: 318 1432 22 | Best prices: 95 96 23 | Mid-price: 95.5 24 | Spread: 1 25 | -------------------------------------------------------------------------------- /Assignment 1/output/book_2-message_ar.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 25 a 105 20 4 | 24 al 104 168 5 | 23 ay 103 53 6 | 22 av 100 68 7 | 21 at 99 20 8 | 20 au 98 12 9 | 19 e 98 72 10 | 18 ax 97 125 11 | 17 bt 95 27 12 | 16 bn 92 38 13 | 15 br 91 123 14 | 14 dj 90 76 15 | 13 bm 90 7 16 | 12 do 88 42 17 | 11 dd 88 35 18 | 10 db 88 33 19 | 9 de 87 34 20 | 8 dr 85 6 21 | 7 dq 84 40 22 | 6 ht 83 36 23 | 5 li 82 195 24 | 4 kd 82 86 25 | 3 ly 81 97 26 | 2 dv 80 15 27 | 1 mf 78 5 28 | 29 | $bid 30 | oid price size 31 | 1 lx 75 59 32 | 2 lz 73 194 33 | 3 mh 73 141 34 | 4 lv 72 150 35 | 5 ls 70 260 36 | 6 lw 70 8 37 | 7 gr 65 49 38 | 8 kv 65 74 39 | 40 | Total volume: 935 1433 41 | Best prices: 75 78 42 | Mid-price: 76.5 43 | Spread: 3 44 | -------------------------------------------------------------------------------- /Assignment 1/output/book_2-message_arc.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 3 btn 115 17 4 | 2 btt 113 46 5 | 1 btw 112 3 6 | 7 | $bid 8 | oid price size 9 | 1 byx 107 28 10 | 2 byl 106 4 11 | 3 byq 104 81 12 | 4 bxy 100 16 13 | 5 bye 100 107 14 | 6 bxj 97 14 15 | 7 bwu 94 25 16 | 8 bqp 92 44 17 | 9 brn 92 85 18 | 10 bwr 92 92 19 | 11 bve 90 102 20 | 12 bwt 90 117 21 | 13 bra 89 52 22 | 14 bpx 87 21 23 | 15 bre 86 75 24 | 16 bps 84 54 25 | 17 bpp 80 43 26 | 18 bnl 78 24 27 | 19 boe 77 70 28 | 20 bll 74 42 29 | 21 bld 71 26 30 | 22 blf 70 26 31 | 23 bks 66 50 32 | 24 bku 63 249 33 | 25 bkr 62 37 34 | 26 bko 61 14 35 | 27 bkn 60 63 36 | 28 bkg 59 14 37 | 29 bkb 56 3 38 | 30 bki 56 42 39 | 31 bjn 54 22 40 | 32 bch 49 264 41 | 42 | Total volume: 1906 66 43 | Best prices: 107 112 44 | Mid-price: 109.5 45 | Spread: 5 46 | -------------------------------------------------------------------------------- /Assignment 1/output/book_3-message_a.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 10 a 105 20 4 | 9 o 104 292 5 | 8 d 104 22 6 | 7 r 102 194 7 | 6 k 99 71 8 | 5 q 98 166 9 | 4 m 98 88 10 | 3 h 98 167 11 | 2 j 97 132 12 | 1 n 96 375 13 | 14 | $bid 15 | oid price size 16 | 1 b 95 37 17 | 2 l 95 29 18 | 3 p 94 87 19 | 4 s 91 102 20 | 21 | Total volume: 255 1527 22 | Best prices: 95 96 23 | Mid-price: 95.5 24 | Spread: 1 25 | -------------------------------------------------------------------------------- /Assignment 1/output/book_3-message_ar.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 24 a 105 20 4 | 23 al 104 168 5 | 22 ay 103 53 6 | 21 av 100 68 7 | 20 at 99 20 8 | 19 au 98 12 9 | 18 ax 97 125 10 | 17 bt 95 27 11 | 16 bn 92 38 12 | 15 br 91 123 13 | 14 dj 90 76 14 | 13 bm 90 7 15 | 12 do 88 42 16 | 11 dd 88 35 17 | 10 db 88 33 18 | 9 de 87 34 19 | 8 dr 85 6 20 | 7 dq 84 40 21 | 6 ht 83 36 22 | 5 li 82 195 23 | 4 kd 82 86 24 | 3 ly 81 97 25 | 2 dv 80 15 26 | 1 mf 78 5 27 | 28 | $bid 29 | oid price size 30 | 1 lx 75 59 31 | 2 lz 73 194 32 | 3 mh 73 141 33 | 4 lv 72 150 34 | 5 ls 70 260 35 | 6 lw 70 8 36 | 7 gr 65 49 37 | 8 kv 65 74 38 | 39 | Total volume: 935 1361 40 | Best prices: 75 78 41 | Mid-price: 76.5 42 | Spread: 3 43 | -------------------------------------------------------------------------------- /Assignment 1/output/book_3-message_arc.out: -------------------------------------------------------------------------------- 1 | $ask 2 | oid price size 3 | 3 btn 115 17 4 | 2 btt 113 46 5 | 1 btw 112 3 6 | 7 | $bid 8 | oid price size 9 | 1 byx 107 28 10 | 2 byl 106 4 11 | 3 byq 104 81 12 | 4 bxy 100 16 13 | 5 bye 100 107 14 | 6 bxj 97 14 15 | 7 bwu 94 25 16 | 8 bqp 92 44 17 | 9 brn 92 85 18 | 10 bwr 92 92 19 | 11 bve 90 102 20 | 12 bwt 90 117 21 | 13 bra 89 52 22 | 14 bpx 87 21 23 | 15 bre 86 75 24 | 16 bps 84 54 25 | 17 bpp 80 43 26 | 18 bnl 78 24 27 | 19 boe 77 70 28 | 20 bll 74 42 29 | 21 bld 71 26 30 | 22 blf 70 26 31 | 23 bks 66 50 32 | 24 bku 63 249 33 | 25 bkr 62 37 34 | 26 bko 61 14 35 | 27 bkn 60 63 36 | 28 bkg 59 14 37 | 29 bkb 56 3 38 | 30 bki 56 42 39 | 31 bjn 54 22 40 | 32 bch 49 264 41 | 42 | Total volume: 1906 66 43 | Best prices: 107 112 44 | Mid-price: 109.5 45 | Spread: 5 46 | -------------------------------------------------------------------------------- /Assignment 1/solution.R: -------------------------------------------------------------------------------- 1 | book.total_volumes <- function(book) { 2 | total_volumes <- list(ask = sum(book$ask$size),bid = sum(book$bid$size)) 3 | return(total_volumes) 4 | # Arguments: 5 | # book - A list containing "ask" and "bid", each of which are dataframes 6 | # containing the collection of limit orders. 7 | # 8 | # Returns: 9 | # The total volume in the book. 10 | } 11 | 12 | book.best_prices <- function(book) { 13 | best_prices <- list(ask = min(book$ask$price),bid = max(book$bid$price)) 14 | return(best_prices) 15 | # Arguments: 16 | # book - A list containing "ask" and "bid", each of which are dataframes 17 | # containing the collection of limit orders. 18 | # 19 | # Returns: 20 | # A list with "ask" and "bid", the values of which are the best prices in 21 | # the book. 22 | } 23 | 24 | book.midprice <- function(book) { 25 | mid_price <- (min(book$ask$price) + max(book$bid$price))/2 26 | return(mid_price) 27 | # Arguments: 28 | # book - A list containing "ask" and "bid", each of which are dataframes 29 | # containing the collection of limit orders. 30 | # 31 | # Returns: 32 | # The midprice of the book. 33 | } 34 | 35 | book.spread <- function(book) { 36 | spread <- (min(book$ask$price) - max(book$bid$price)) 37 | return(spread) 38 | # Arguments: 39 | # book - A list containing "ask" and "bid", each of which are dataframes 40 | # containing the collection of limit orders. 41 | # 42 | # Returns: 43 | # The spread of the book. 44 | } 45 | 46 | book.add <- function(book, message) { 47 | original_ask_book <- book$ask 48 | original_bid_book <- book$bid 49 | if(message$side == 'S') 50 | { 51 | if(message$price <= max(book$bid$price)) 52 | { 53 | repeat{ 54 | difference <- original_bid_book[which(book$bid$price == max(book$bid$price))[1],]$size - message$size 55 | if(difference < 0) 56 | { 57 | original_bid_book <- original_bid_book[-c(which(original_bid_book$price == max(book$bid$price))[1]),] 58 | difference <- -difference 59 | message$size = difference 60 | book$bid <- original_bid_book 61 | if(message$price > max(book$bid$price)){ 62 | if (length(original_ask_book$price) == 0) 63 | { 64 | original_ask_book[1,] <- c(message$oid,message$price,message$size) 65 | } 66 | else 67 | { 68 | original_ask_book <- rbind(original_ask_book,c(message$oid,message$price,message$size)) 69 | } 70 | original_ask_book$price <- sapply(original_ask_book$price,as.numeric) 71 | original_ask_book$size <- sapply(original_ask_book$size,as.numeric) 72 | book$ask <- original_ask_book 73 | break 74 | } 75 | } 76 | else if(difference == 0) 77 | { 78 | original_bid_book <- original_bid_book[-c(which(original_bid_book$price == max(book$bid$price))[1]),] 79 | book$bid <- original_bid_book 80 | break 81 | } 82 | else 83 | { 84 | original_bid_book[which(book$bid$price == max(book$bid$price))[1],]$size <- difference 85 | book$bid <- original_bid_book 86 | break 87 | } 88 | } 89 | } 90 | else 91 | { 92 | if (length(original_ask_book$price) == 0) 93 | { 94 | original_ask_book[1,] <- c(message$oid,message$price,message$size) 95 | } 96 | else 97 | { 98 | original_ask_book <- rbind(original_ask_book,c(message$oid,message$price,message$size)) 99 | } 100 | original_ask_book$price <- sapply(original_ask_book$price,as.numeric) 101 | original_ask_book$size <- sapply(original_ask_book$size,as.numeric) 102 | book$ask <- original_ask_book 103 | } 104 | } 105 | else 106 | { 107 | if(message$price >= min(book$ask$price)) 108 | { 109 | repeat{ 110 | difference <- original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$size - message$size 111 | if(is.na(original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$size)) 112 | { 113 | if (length(original_bid_book$price) == 0) 114 | { 115 | original_bid_book[1,] <- c(message$oid,message$price,message$size) 116 | } 117 | else 118 | { 119 | original_bid_book <- rbind(original_bid_book,c(message$oid,message$price,message$size)) 120 | } 121 | original_bid_book$price <- sapply(original_bid_book$price,as.numeric) 122 | original_bid_book$size <- sapply(original_bid_book$size,as.numeric) 123 | book$bid <- original_bid_book 124 | break 125 | } 126 | else if(difference < 0 ) 127 | { 128 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min(book$ask$price))[1]),] 129 | difference <- -difference 130 | message$size = difference 131 | book$ask <- original_ask_book 132 | if(length(is.infinite(book$ask$price)) == 0) 133 | { 134 | 135 | } 136 | else if(message$price < min(book$ask$price)){ 137 | if (length(original_bid_book$price) == 0) 138 | { 139 | original_bid_book[1,] <- c(message$oid,message$price,message$size) 140 | } 141 | else 142 | { 143 | original_bid_book <- rbind(original_bid_book,c(message$oid,message$price,message$size)) 144 | } 145 | original_bid_book$price <- sapply(original_bid_book$price,as.numeric) 146 | original_bid_book$size <- sapply(original_bid_book$size,as.numeric) 147 | book$bid <- original_bid_book 148 | break 149 | } 150 | } 151 | else if(difference == 0) 152 | { 153 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min(book$ask$price))[1]),] 154 | book$ask <- original_ask_book 155 | break 156 | } 157 | else 158 | { 159 | original_ask_book[which(book$ask$price == min(book$ask$price))[1],]$size <- difference 160 | book$ask <- original_ask_book 161 | break 162 | } 163 | } 164 | } 165 | else 166 | { 167 | if (length(original_bid_book$price) == 0) 168 | { 169 | original_bid_book[1,] <- c(message$oid,message$price,message$size) 170 | } 171 | else 172 | { 173 | original_bid_book <- rbind(original_bid_book,c(message$oid,message$price,message$size)) 174 | } 175 | original_bid_book$price <- sapply(original_bid_book$price,as.numeric) 176 | original_bid_book$size <- sapply(original_bid_book$size,as.numeric) 177 | book$bid <- original_bid_book 178 | } 179 | } 180 | 181 | # Arguments: 182 | # book - A list containing "ask" and "bid", each of which are dataframes 183 | # containing the collection of limit orders. 184 | # message - A list containing "oid", "side", "price" and "size" entries. 185 | # 186 | # Returns: 187 | # The updated book. 188 | return(book) 189 | } 190 | 191 | book.reduce <- function(book, message) { 192 | original_ask_book <- book$ask 193 | original_bid_book <- book$bid 194 | if (length(which(original_ask_book$oid == message$oid)) == 0) 195 | { 196 | if (length(which(original_bid_book$oid == message$oid)) == 0) 197 | { 198 | 199 | } 200 | else 201 | { 202 | original_size <- original_bid_book[which(original_bid_book$oid == message$oid),]$size 203 | if (original_size - message$amount > 0) 204 | { 205 | original_bid_book[which(original_bid_book$oid == message$oid),]$size <- original_size - message$amount 206 | } 207 | else 208 | { 209 | original_bid_book <- original_bid_book[-c(which(original_bid_book$oid == message$oid)),] 210 | } 211 | book$bid <- original_bid_book 212 | } 213 | } 214 | else 215 | { 216 | original_size <- original_ask_book[which(original_ask_book$oid == message$oid),]$size 217 | if (original_size - message$amount > 0) 218 | { 219 | original_ask_book[which(original_ask_book$oid == message$oid),]$size <- original_size - message$amount 220 | } 221 | else 222 | { 223 | original_ask_book <- original_ask_book[-c(which(original_ask_book$oid == message$oid)),] 224 | } 225 | book$ask <- original_ask_book 226 | } 227 | return(book) 228 | # Arguments: 229 | # book - A list containing "ask" and "bid", each of which are dataframes 230 | # containing the collection of limit orders. 231 | # message - A list containing "oid" and "amount". 232 | # 233 | # Returns: 234 | # The updated book. 235 | 236 | } 237 | 238 | ############################################################################### 239 | ############################################################################### 240 | 241 | # The following functions are the "extra" functions; marks for these functions 242 | # are only available if you have fully correct implementations for the 6 243 | # functions above 244 | 245 | book.extra1 <- function(book, size) { 246 | M = sum(book$ask$size) 247 | if( size == M) { 248 | return(NA) 249 | } 250 | all_price = c() 251 | price_set <- unique(book$ask$price) 252 | for (price in price_set){ 253 | ask_book <- book$ask 254 | message = list(oid='test111',side='B',size=size,price=price) 255 | book_midprice <- book.midprice(book.add(book,message)) 256 | all_price = append(all_price,book_midprice) 257 | } 258 | return (mean(all_price)) 259 | # See handout for instructions 260 | 261 | } 262 | 263 | book.extra2 <- function(book, size) { 264 | M = sum(book$ask$size) 265 | if( size == M) { 266 | return(NA) 267 | } 268 | all_price = c() 269 | price_set <- unique(book$ask$price) 270 | for (price in min(price_set):max(price_set)){ 271 | ask_book <- book$ask 272 | message = list(oid='test1',side='B',size=size,price=price) 273 | book_midprice <- book.midprice(book.add(book,message)) 274 | all_price = append(all_price,book_midprice) 275 | } 276 | return (mean(all_price)) 277 | } 278 | 279 | book.extra3 <- function(book) { 280 | # See handout for instructions 281 | M = sum(book$ask$size) 282 | all_price = c() 283 | for (size in 1:(M-1)){ 284 | original_ask_book = book$ask 285 | copy_book <- book 286 | repeat{ 287 | if(length(original_ask_book$size)==0){break} 288 | min_price <- min(original_ask_book$price) 289 | if(size==0){break} 290 | else if(size == original_ask_book[which(original_ask_book$price == min_price)[1],]$size){ 291 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min_price)[1]),] 292 | copy_book$ask <- original_ask_book 293 | break 294 | } 295 | else if(size > original_ask_book[which(original_ask_book$price == min_price)[1],]$size){ 296 | size = size - original_ask_book[which(original_ask_book$price == min_price)[1],]$size 297 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min_price)[1]),] 298 | copy_book$ask <- original_ask_book 299 | } 300 | else{ 301 | break 302 | } 303 | } 304 | book_midprice <- book.midprice(copy_book) 305 | all_price = append(all_price,book_midprice) 306 | } 307 | return(mean(all_price)) 308 | 309 | } 310 | 311 | book.extra4 <- function(book, k) { 312 | # See handout for instructions 313 | 314 | if(length(book$ask$size) == 0){ 315 | return(0) 316 | } 317 | else{ 318 | flag = 0 319 | total_ask_max_volume <- sum(book$ask$size) 320 | final_midprice <- book.midprice(book)*(1+k/100) 321 | final_size <- 0 322 | all_size <- c() 323 | for(size in 0 :(total_ask_max_volume-1)){ 324 | original_ask_book = book$ask 325 | copy_book <- book 326 | repeat{ 327 | all_size = append(all_size,size) 328 | min_price <- min(original_ask_book$price) 329 | if(size==0){break} 330 | else if(size == original_ask_book[which(original_ask_book$price == min_price)[1],]$size){ 331 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min_price)[1]),] 332 | copy_book$ask <- original_ask_book 333 | break 334 | } 335 | else if(size > original_ask_book[which(original_ask_book$price == min_price)[1],]$size){ 336 | size = size - original_ask_book[which(original_ask_book$price == min_price)[1],]$size 337 | original_ask_book <- original_ask_book[-c(which(original_ask_book$price == min_price)[1]),] 338 | copy_book$ask <- original_ask_book 339 | } 340 | else{ 341 | break 342 | } 343 | } 344 | if(book.midprice(copy_book)<=final_midprice){ 345 | final_size <- max(all_size) 346 | flag = 1 347 | } 348 | 349 | } 350 | return(final_size) 351 | } 352 | 353 | } -------------------------------------------------------------------------------- /Assignment 1/template.R: -------------------------------------------------------------------------------- 1 | book.total_volumes <- function(book) { 2 | # Arguments: 3 | # book - A list containing "ask" and "bid", each of which are dataframes 4 | # containing the collection of limit orders. 5 | # 6 | # Returns: 7 | # The total volume in the book. 8 | } 9 | 10 | book.best_prices <- function(book) { 11 | # Arguments: 12 | # book - A list containing "ask" and "bid", each of which are dataframes 13 | # containing the collection of limit orders. 14 | # 15 | # Returns: 16 | # A list with "ask" and "bid", the values of which are the best prices in 17 | # the book. 18 | } 19 | 20 | book.midprice <- function(book) { 21 | # Arguments: 22 | # book - A list containing "ask" and "bid", each of which are dataframes 23 | # containing the collection of limit orders. 24 | # 25 | # Returns: 26 | # The midprice of the book. 27 | } 28 | 29 | book.spread <- function(book) { 30 | # Arguments: 31 | # book - A list containing "ask" and "bid", each of which are dataframes 32 | # containing the collection of limit orders. 33 | # 34 | # Returns: 35 | # The spread of the book. 36 | } 37 | 38 | book.add <- function(book, message) { 39 | # Arguments: 40 | # book - A list containing "ask" and "bid", each of which are dataframes 41 | # containing the collection of limit orders. 42 | # message - A list containing "oid", "side", "price" and "size" entries. 43 | # 44 | # Returns: 45 | # The updated book. 46 | return(book) 47 | } 48 | 49 | book.reduce <- function(book, message) { 50 | # Arguments: 51 | # book - A list containing "ask" and "bid", each of which are dataframes 52 | # containing the collection of limit orders. 53 | # message - A list containing "oid" and "amount". 54 | # 55 | # Returns: 56 | # The updated book. 57 | return(book) 58 | } 59 | 60 | ############################################################################### 61 | ############################################################################### 62 | 63 | # The following functions are the "extra" functions; marks for these functions 64 | # are only available if you have fully correct implementations for the 6 65 | # functions above 66 | 67 | book.extra1 <- function(book, size) { 68 | # See handout for instructions 69 | } 70 | 71 | book.extra2 <- function(book, size) { 72 | # See handout for instructions 73 | } 74 | 75 | book.extra3 <- function(book) { 76 | # See handout for instructions 77 | } 78 | 79 | book.extra4 <- function(book, k) { 80 | # See handout for instructions 81 | } 82 | -------------------------------------------------------------------------------- /Assignment2/results.yaml: -------------------------------------------------------------------------------- 1 | username: "Tell me your username and I'll tell you your result" 2 | periods: 3 | startIn: 1 4 | endIn: 815 5 | startOut: 816 6 | endOut: 2000 7 | ins: 8 | short: 10.0 9 | medium: 50.0 10 | long: 200.0 11 | series1: 1 12 | series2: 0 13 | series3: 1 14 | series4: 1 15 | profit: 2259.886 16 | rank_on_out: 13.0 17 | out: 18 | short: 5.0 19 | medium: 100.0 20 | long: 200.0 21 | series1: 1 22 | series2: 1 23 | series3: 1 24 | series4: 1 25 | profit: 19222.5 26 | rank_on_in: 67.0 27 | -------------------------------------------------------------------------------- /Assignment2/strategy.R: -------------------------------------------------------------------------------- 1 | getOrders <- function(store, newRowList, currentPos, info, params) { 2 | 3 | ########################################################################### 4 | # You do not need to edit this next part of the code 5 | ########################################################################### 6 | allzero <- rep(0,length(newRowList)) # used for initializing vectors 7 | pos <- allzero 8 | 9 | if (is.null(store)) 10 | store <- initStore(newRowList) 11 | else 12 | store <- updateStore(store, newRowList) 13 | ########################################################################### 14 | 15 | ########################################################################### 16 | # This next code section is the only one you 17 | # need to edit for getOrders 18 | # 19 | # The if condition is already correct: 20 | # you should only start computing the moving 21 | # averages when you have enough (close) prices 22 | # for the long moving average 23 | ########################################################################### 24 | # cat(store$iter ," ",params$lookbacks$long,"\n") 25 | if (store$iter > params$lookbacks$long) { 26 | for(i in params$series) 27 | { 28 | pos_sign <- getPosSignFromTMA(getTMA(store$cl[[i]],params$lookbacks)) 29 | # print(pos_sign) 30 | pos_size <- getPosSize(store$cl[[i]][store$iter]$Close) 31 | # print(pos_size) 32 | pos[i] <- pos_sign * pos_size 33 | 34 | } 35 | # ENTER STRATEGY LOGIC HERE 36 | 37 | # remember to only consider the series in params$series 38 | 39 | # You will need to get the current_close 40 | # either from newRowList or from store$cl 41 | 42 | # You will also need to get prices 43 | # from store$cl 44 | 45 | # With these you can use getTMA, getPosSignFromTMA 46 | # and getPosSize to assign positions to the vector pos 47 | } 48 | ########################################################################### 49 | 50 | ########################################################################### 51 | # You do not need to edit the rest of this function 52 | ########################################################################### 53 | marketOrders <- -currentPos + pos 54 | 55 | return(list(store=store,marketOrders=marketOrders, 56 | limitOrders1=allzero,limitPrices1=allzero, 57 | limitOrders2=allzero,limitPrices2=allzero)) 58 | } 59 | 60 | ############################################################################### 61 | checkE01 <- function(prices, lookbacks) { 62 | if("short" %in% names(lookbacks) && "medium" %in% names(lookbacks) && "long" %in% names(lookbacks)) 63 | { 64 | return(FALSE) 65 | } 66 | else 67 | { 68 | return(TRUE) 69 | } 70 | # Return FALSE if lookbacks contains named elements short, medium, and long 71 | # otherwise return TRUE to indicate an error 72 | } 73 | checkE02 <- function(prices, lookbacks) { 74 | for(i in lookbacks){ 75 | if(!is.integer(i)){ 76 | return(TRUE) 77 | } 78 | } 79 | return(FALSE) 80 | # Return FALSE if all the elements of lookbacks are integers (as in the R 81 | # data type) otherwise return TRUE to indicate an error 82 | } 83 | checkE03 <- function(prices, lookbacks) { 84 | if(lookbacks$short < lookbacks$medium) 85 | { 86 | if(lookbacks$medium < lookbacks$long){ 87 | return(FALSE) 88 | } 89 | } 90 | return(TRUE) 91 | # Return FALSE if lookbacks$short < lookbacks$medium < lookbacks$long 92 | # otherwise return TRUE to indicate an error 93 | } 94 | checkE04 <- function(prices, lookbacks) { 95 | if(!is.xts(prices)) 96 | { 97 | return(TRUE) 98 | } 99 | else 100 | { 101 | return(FALSE) 102 | } 103 | # Return FALSE if prices is an xts object, otherwise return TRUE to 104 | # indicate an error 105 | } 106 | checkE05 <- function(prices, lookbacks) { 107 | if(nrow(prices) >= max(lookbacks$short,lookbacks$medium,lookbacks$long)){ 108 | return(FALSE) 109 | } 110 | return(TRUE) 111 | # Return FALSE if prices has enough rows to getTMA otherwise return TRUE 112 | # to indicate an error 113 | } 114 | checkE06 <- function(prices, lookbacks) { 115 | if("Close" %in% colnames(prices)){ 116 | return(FALSE) 117 | } 118 | return(TRUE) 119 | # Return FALSE if prices contains a column called "Close" otherwise return 120 | # TRUE to indicate an error 121 | } 122 | ############################################################################### 123 | # You should not edit allChecks 124 | 125 | atLeastOneError <- function(prices, lookbacks) { 126 | # return TRUE if any of the error checks return TRUE 127 | ret <- FALSE 128 | ret <- ret | checkE01(prices,lookbacks) 129 | ret <- ret | checkE02(prices,lookbacks) 130 | ret <- ret | checkE03(prices,lookbacks) 131 | ret <- ret | checkE04(prices,lookbacks) 132 | ret <- ret | checkE05(prices,lookbacks) 133 | ret <- ret | checkE06(prices,lookbacks) 134 | return(ret) 135 | } 136 | 137 | ############################################################################### 138 | 139 | getTMA <- function(prices, lookbacks, with_checks=FALSE) { 140 | 141 | # prices and lookbacks should pass (return FALSE) when used with 142 | # the 6 checks, as tested in the following call to allChecks that 143 | # you should not edit 144 | if (with_checks) 145 | if (atLeastOneError(close_prices, lookbacks)) 146 | stop('At least one of the errors E01...E06 occured') 147 | 148 | short = last(as.numeric(SMA(prices$Close,n = lookbacks$short))) 149 | medium = last(as.numeric(SMA(prices$Close,n = lookbacks$medium))) 150 | long = last(as.numeric(SMA(prices$Close,n = lookbacks$long))) 151 | ret <- list(short=short,medium=medium,long=long) 152 | 153 | # You need to replace the assignment to ret so that the returned object: 154 | # - is a list 155 | # - has the right names (short, medium, long), and 156 | # - contains numeric and not xts objects 157 | # - and contains the correct moving average values, which should 158 | # have windows of the correct sizes that all end in the 159 | # same period, be the last row of prices 160 | 161 | return(ret) 162 | } 163 | 164 | 165 | getPosSignFromTMA <- function(tma_list) { 166 | # This function takes a list of numbers tma_list with three elements 167 | # called short, medium, and long, which correspond to the SMA values for 168 | # a short, medium and long lookback, respectively. 169 | 170 | # Note that if both this function and getTMA are correctly implemented 171 | # then the following should work with correct input arguments: 172 | # getPositionFromTMA(getTMA(prices,lookbacks)) 173 | 174 | # This function should return a single number that is: 175 | # -1 if the short SMA < medium SMA < long SMA 176 | # 1 if the short SMA > medium SMA > long SMA 177 | # 0 otherwise 178 | if(tma_list$short < tma_list$medium && tma_list$medium < tma_list$long) 179 | { 180 | return(-1) 181 | } 182 | else if (tma_list$short > tma_list$medium && tma_list$medium > tma_list$long) 183 | { 184 | return (1) 185 | } 186 | else 187 | { 188 | return (0) 189 | } 190 | } 191 | 192 | getPosSize <- function(current_close,constant=5000) { 193 | # This function should return (constant divided by current_close) 194 | # rounded down to the nearest integer 195 | return(floor(constant/current_close)) 196 | } 197 | 198 | ############################################################################### 199 | # The functions below do NOT need to be edited 200 | ############################################################################### 201 | initClStore <- function(newRowList) { 202 | clStore <- lapply(newRowList, function(x) x$Close) 203 | return(clStore) 204 | } 205 | updateClStore <- function(clStore, newRowList) { 206 | clStore <- mapply(function(x,y) rbind(x,y$Close),clStore,newRowList,SIMPLIFY=FALSE) 207 | return(clStore) 208 | } 209 | initStore <- function(newRowList,series) { 210 | return(list(iter=1,cl=initClStore(newRowList))) 211 | } 212 | updateStore <- function(store, newRowList) { 213 | store$iter <- store$iter + 1 214 | store$cl <- updateClStore(store$cl,newRowList) 215 | return(store) 216 | } 217 | -------------------------------------------------------------------------------- /Liverpool_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JasonLuuk/COMP226_Computer_Based_Trading_in_Financial_Markets/9862a488c0630794f1076af4ee5d7ef2fdc80cad/Liverpool_logo.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | Logo 4 | 5 |

COMP226 Computer-Based Trading in Financial Markets

6 |

⭐ If the code has helped you, please stars this, thank you very much!

7 | 8 | ## Must See Before Read My code 9 | * Operating System: Win10 10 | * Programming Languages: R 11 | * IDE: RStudio-2022.02.0-443 12 | * All codes are related to labs and assignments and all codes were uploaded after the assignment deadline, all personal information is taken from the University's public website. 13 | 14 | ⚠️Please adhere to the University's Academic Integrity Policy and I accept no responsibility for suspected academic misconduct of any kind. 15 | 16 | ## Module Specification 17 | * Year: Session 2021-22 18 | * Semester: Second Semester 19 | * Lectuer: Professor Rahul Savani 20 | 21 | ## Module Results 22 | * Assignment 1: 100 23 | * Assignment 2: 100 24 | --------------------------------------------------------------------------------