From 4cb8fefdf31ba2d3f62c381b65b25cb3ab188cab Mon Sep 17 00:00:00 2001 From: Rajendra Gokhale Date: Fri, 9 Feb 2024 16:53:15 +0530 Subject: [PATCH] Implement par(). --- examples/parscore.py | 515 +++++++++++++++++++++++++++++++++++++++++++ redeal/redeal.py | 59 ++++- 2 files changed, 572 insertions(+), 2 deletions(-) create mode 100644 examples/parscore.py diff --git a/examples/parscore.py b/examples/parscore.py new file mode 100644 index 0000000..24ccbbe --- /dev/null +++ b/examples/parscore.py @@ -0,0 +1,515 @@ +import re +from redeal import Deal + + +test_cases = [ + ({"N": "T3 QJT94 AKJ9 86", "E": "Q98 AK3 QT6 J972", "S": "KJ4 87652 3 KQT3", "W": "A7652 87542 A54"}, "N", False, False, 140), + ({"N": "QJ76 JT KT75 J82", "E": "53 9753 843 AK65", "S": "T98 KQ2 J96 T743", "W": "AK42 A864 AQ2 Q9"}, "E", True, False, -420), + ({"N": "AQ9874 AQJ96 94", "E": "5 432 J652 A8632", "S": "KJ63 T87 KQ4 JT5", "W": "T2 K5 AT9873 KQ7"}, "S", False, True, 450), + ({"N": "T983 A9843 65 JT", "E": "A7642 JT2 K84 98", "S": "KQ5 K6 J973 KQ73", "W": "J Q75 AQT2 A6542"}, "W", True, True, -90), + ({"N": "A94 QT96 T74 J64", "E": "K87 J82 AJ53 A85", "S": "6 AK4 KQ62 KT973", "W": "QJT532 753 98 Q2"}, "N", True, False, 130), + ({"N": "KT32 AQJ543 63 2", "E": "Q986 T6 AK985 KQ", "S": "AJ7 K8 J4 AJ9763", "W": "54 972 QT72 T854"}, "E", False, True, 450), + ({"N": "A953 T7 K872 AJ3", "E": "K7 J42 AT6543 86", "S": "JT64 AQ853 J9 Q5", "W": "Q82 K96 Q KT9742"}, "S", True, True, 140), + ({"N": "J54 K AT7543 K76", "E": "Q82 A8652 AJT82", "S": "AKT97 T7 QJ8 Q94", "W": "63 QJ943 K962 53"}, "W", False, False, 100), + ({"N": "Q9732 T4 J54 AJ7", "E": "T854 A9 K76 9643", "S": "K6 Q863 AT983 T2", "W": "AJ KJ752 Q2 KQ85"}, "N", False, True, -110), + ({"N": " KQT9842 QT62 A8", "E": "Q8 53 A KQJT9652", "S": "KJ9642 J76 J43 4", "W": "AT753 A K9875 73"}, "E", True, True, -500), + ({"N": "K3 A9 A863 AKT72", "E": "AQJ4 QJ9542 843", "S": "92 J85432 K7 J65", "W": "T8765 KQT76 T Q9"}, "S", False, False, 100), + ({"N": "97654 KQ3 A76 J6", "E": "AT32 5 QJ432 Q52", "S": "K AJ9872 K98 K84", "W": "QJ8 T64 T5 AT973"}, "W", True, False, 140), + ({"N": "AK93 T2 T3 T9754", "E": "T7 9875 9852 632", "S": "QJ854 AJ6 Q6 AKQ", "W": "62 KQ43 AKJ74 J8"}, "N", True, True, 650), + ({"N": "AQT7 A74 A9 AQT3", "E": "62 J6 KJT KJ9752", "S": "943 QT53 Q873 64", "W": "KJ85 K982 6542 8"}, "E", False, False, 400), + ({"N": "T3 A864 A765 983", "E": "A97642 7 KJ92 KT", "S": "KQJ85 T9 QT4 J72", "W": " KQJ532 83 AQ654"}, "S", True, False, -420), + ({"N": "AJ53 943 Q62 T98", "E": "T762 J2 853 KQ76", "S": "KQ94 KT765 T7 A5", "W": "8 AQ8 AKJ94 J432"}, "W", False, True, -130), + ({"N": "KJ64 KQ76 KQ QJ6", "E": "A9 T32 A9863 873", "S": "QT83 A854 J7 T94", "W": "752 J9 T542 AK52"}, "N", False, False, 140), + ({"N": "K87 K7 QT52 9765", "E": "JT9654 AQ4 6 AJT", "S": "AQ 8632 K83 KQ43", "W": "32 JT95 AJ974 82"}, "E", True, False, -140), + ({"N": "K5 T3 AQ9642 Q42", "E": "64 QJ2 753 T8765", "S": "AT97 AK9754 T8 3", "W": "QJ832 86 KJ AKJ9"}, "S", False, True, 980), + ({"N": "K2 K9 AJ964 AKQ2", "E": "AJT98 J72 T75 J9", "S": "7643 AT 32 T7654", "W": "Q5 Q86543 KQ8 83"}, "W", True, True, 130), + ({"N": "87 Q2 98432 AKQ6", "E": "JT32 KJT5 J6 754", "S": "A54 83 AQT75 J98", "W": "KQ96 A9764 K T32"}, "N", True, False, 130), + ({"N": "T84 KQ92 Q6 7642", "E": "K973 J7 AK2 KT98", "S": "J652 84 T985 QJ5", "W": "AQ AT653 J743 A3"}, "E", False, True, -660), + ({"N": "QJ754 AQ8642 4 7", "E": "3 T3 AJT653 A642", "S": "AK9 KJ975 97 K93", "W": "T862 KQ82 QJT85"}, "S", True, True, 200), + ({"N": "KQ8765 92 AT5 64", "E": "4 A3 KJ643 KJ932", "S": "J932 KQT765 Q Q5", "W": "AT J84 9872 AT87"}, "W", False, False, -300), + ({"N": "T942 3 A64 KJT97", "E": "K T754 KQT98 642", "S": "AJ863 AJ86 J2 AQ", "W": "Q75 KQ92 753 853"}, "N", False, True, 980), + ({"N": "QJ8 J32 QJ K9752", "E": "T3 AQT7 K43 AT83", "S": "9754 654 AT765 Q", "W": "AK62 K98 982 J64"}, "E", True, True, -600), + ({"N": "AKQT53 AK2 K965 ", "E": "J74 QJ9 AJ7 T942", "S": "962 654 83 K8765", "W": "8 T873 QT42 AQJ3"}, "S", False, False, 140), + ({"N": "98 J32 T9432 AT9", "E": "J75 A94 K7 86543", "S": "QT62 T85 QJ86 QJ", "W": "AK43 KQ76 A5 K72"}, "W", True, False, -140), + ({"N": "532 KQ8 A7643 72", "E": "K8 75 KT85 AKQT5", "S": "T76 AT962 J92 96", "W": "AQJ94 J43 Q J843"}, "N", True, True, -620), + ({"N": "AJ62 983 T3 AK82", "E": "953 42 AJ642 976", "S": "T7 AKJ7 975 J543", "W": "KQ84 QT65 KQ8 QT"}, "E", False, False, 110), + ({"N": " AK2 KT654 AKJ85", "E": "AJT987 Q964 A8 9", "S": "K652 T5 3 QT7432", "W": "Q43 J873 QJ972 6"}, "S", True, False, 1100), + ({"N": "K762 87 93 AT972", "E": "QT5 KQJ4 AJ6 864", "S": "AJ43 AT52 852 Q3", "W": "98 963 KQT74 KJ5"}, "W", False, True, 140), + ({"N": "AQJ5 AK9 AJ95 85", "E": "K732 J8543 K7 76", "S": "T94 T7 QT82 KQ42", "W": "86 Q62 643 AJT93"}, "N", False, False, 140), + ({"N": "T75 A72 AKQ85 AQ", "E": "KQJ92 4 J74 J742", "S": "63 KQJT96 T3 T63", "W": "A84 853 962 K985"}, "E", True, False, 650), + ({"N": "QJ73 QT K3 Q8743", "E": "954 J52 AT872 T5", "S": "AT862 97 J9654 6", "W": "K AK8643 Q AKJ92"}, "S", False, True, -500), + ({"N": "AT73 T AQ AQT832", "E": "852 K9432 32 J75", "S": "KQJ94 5 87654 96", "W": "6 AQJ876 KJT9 K4"}, "W", True, True, 1400), + ({"N": "JT8 A72 KJT72 93", "E": "A2 Q9643 A965 A4", "S": "543 KT85 4 T8652", "W": "KQ976 J Q83 KQJ7"}, "N", True, False, -430), + ({"N": "A J75432 J54 T94", "E": "J54 8 Q8 KQJ6532", "S": "QT832 AKQ9 AT A8", "W": "K976 T6 K97632 7"}, "E", False, True, 980), + ({"N": "2 974 J63 KQJ986", "E": "AQJ853 KQ862 5 T", "S": "K76 AJ53 KT9 A54", "W": "T94 T AQ8742 732"}, "S", True, True, -500), + ({"N": "K8753 Q9 T2 A984", "E": "T62 8642 J753 T2", "S": "Q9 AKJT5 64 J753", "W": "AJ4 73 AKQ98 KQ6"}, "W", False, False, 100), + ({"N": "AQ9876 942 42 J2", "E": "JT53 AQT5 A95 53", "S": " Q763 AKQT98764", "W": "K42 KJ8763 KJT8 "}, "N", False, True, -300), + ({"N": "Q876 AQ75 KJ8 54", "E": "KJ KJ82 Q652 T83", "S": "A953 T T974 J762", "W": "T42 9643 A3 AKQ9"}, "E", True, True, -600), + ({"N": "T764 T87 92 KQ96", "E": "AQ92 QJ964 JT7 7", "S": "J K5 AKQ863 AT85", "W": "K853 A32 54 J432"}, "S", False, False, 100), + ({"N": "Q84 JT3 QT72 KQ2", "E": "KJ97632 KQ A54 T", "S": " A8654 J86 98543", "W": "AT5 972 K93 AJ76"}, "W", True, False, -460), + ({"N": "QJ85 J AKQJ4 Q94", "E": "KT3 T752 983 A83", "S": "9764 Q43 T2 T752", "W": "A2 AK986 765 KJ6"}, "N", True, True, -620), + ({"N": "J9543 953 K7642", "E": "AK8 T932 A AQ953", "S": "T AKQJ654 T6 JT8", "W": "Q762 87 KQJ8742 "}, "E", False, False, -920), + ({"N": "JT9 AQ3 K8 AKQ52", "E": "KQ872 JT8 A73 43", "S": "43 97642 QJT9 J6", "W": "A65 K5 6542 T987"}, "S", True, False, 140), + ({"N": "K2 KJ542 A42 Q98", "E": "JT9 763 J853 J42", "S": "Q765 T8 K AT7653", "W": "A843 AQ9 QT976 K"}, "W", False, True, 140), + ({"N": "KQ7 KQ973 32 KQ6", "E": "A9 6542 AKJT5 A9", "S": "8643 T8 Q864 J83", "W": "JT52 AJ 97 T7542"}, "N", False, False, -110), + ({"N": "T6 QJT KT9 A9643", "E": "A97542 7 QJ43 Q8", "S": "Q3 A98643 652 J5", "W": "KJ8 K52 A87 KT72"}, "E", True, False, -420), + ({"N": "Q42 AT85 KT83 AQ", "E": "KT53 Q62 AQ97 J7", "S": "J987 K43 J52 963", "W": "A6 J97 64 KT8542"}, "S", False, True, 110), + ({"N": "Q87 K6 97432 KJT", "E": "J52 Q87 KQ6 9654", "S": "K3 JT93 AJ8 A872", "W": "AT964 A542 T5 Q3"}, "W", True, True, 600), + ({"N": "Q9 965 T765 T972", "E": "K653 K KQ432 J84", "S": "T84 QJT32 A8 AQ5", "W": "AJ72 A874 J9 K63"}, "N", True, False, -450), + ({"N": "QT42 J932 94 KJ9", "E": "KJ63 5 AK853 874", "S": "A7 AKQT6 J72 653", "W": "985 874 QT6 AQT2"}, "E", False, True, 140), + ({"N": "965 AQ7532 73 96", "E": "T832 8 AT52 AKT5", "S": "K KJT96 KQ4 Q872", "W": "AQJ74 4 J986 J43"}, "S", True, True, -500), + ({"N": "K 854 QT9832 Q94", "E": "T86 T AKJ65 AT62", "S": "9542 J6 74 KJ753", "W": "AQJ73 AKQ9732 8"}, "W", False, False, -1520), + ({"N": "J J97654 KQ QT94", "E": "AKT4 QT82 AJT74 ", "S": "Q532 K 96532 652", "W": "9876 A3 8 AKJ873"}, "N", False, True, -1430), + ({"N": "A9532 8 T932 J95", "E": "KQ4 JT32 76 QT83", "S": "87 AK74 J5 AK764", "W": "JT6 Q965 AKQ84 2"}, "E", True, True, 110), + ({"N": "985 8742 AJ9742", "E": "AJ643 AKT972 5 5", "S": "T72 8653 AQT3 T8", "W": "KQ QJ4 KJ96 KQ63"}, "S", False, False, -460), + ({"N": "KT865 862 6 QJ85", "E": "Q2 JT954 AJ9 963", "S": "AJ974 AK73 T7 AT", "W": "3 Q KQ85432 K742"}, "W", True, False, 500), + ({"N": "876 Q2 JT954 KT8", "E": "92 T9543 A72 542", "S": "AKQJT 8 KQ6 Q763", "W": "543 AKJ76 83 AJ9"}, "N", True, True, 620), + ({"N": "865 Q953 KJ 7643", "E": "AKJ72 J4 Q4 KT98", "S": "Q4 AK6 A975 AJ52", "W": "T93 T872 T8632 Q"}, "E", False, False, 110), + ({"N": "K42 T7 54 KQJ986", "E": "98 AQ9 KQ962 T75", "S": "J3 J86543 AJT A2", "W": "AQT765 K2 873 43"}, "S", True, False, 100), + ({"N": "AT965 9 Q764 QJ2", "E": "K43 K73 AKT3 KT5", "S": "QJ72 JT2 J982 87", "W": "8 AQ8654 5 A9643"}, "W", False, True, -660), + ({"N": "AJ742 KQT7 3 J53", "E": "QT953 A3 T4 QT82", "S": "86 42 AKJ97652 6", "W": "K J9865 Q8 AK974"}, "N", False, False, 130), + ({"N": "AJ8743 874 KQ6 8", "E": "K5 QJ95 A983 T32", "S": "Q962 2 T542 QJ97", "W": "T AKT63 J7 AK654"}, "E", True, False, -200), + ({"N": "QT972 KT52 AK97", "E": "AK654 Q76 A4 842", "S": "J AJ4 QJT83 QJT3", "W": "83 983 K97652 65"}, "S", False, True, 920), + ({"N": "K9742 AT54 AK73 ", "E": "T5 J83 J984 KJ32", "S": "QJ8 K972 T AQ964", "W": "A63 Q6 Q652 T875"}, "W", True, True, 650), + ({"N": "2 9753 Q86 AJ643", "E": "KT9643 K62 T73 9", "S": "AJ5 J84 AK4 K872", "W": "Q87 AQT J952 QT5"}, "N", True, False, 300), + ({"N": "J986 5 KJT82 K83", "E": "75 QJ986 A543 97", "S": "Q3 K4 Q976 AQT52", "W": "AKT42 AT732 J64"}, "E", False, True, -300), + ({"N": "J9 84 A63 Q98743", "E": "Q873 AQ763 KJT8 ", "S": "AT6 KJ52 Q52 AKT", "W": "K542 T9 974 J652"}, "S", True, True, 600), + ({"N": "T9652 KQT54 8 92", "E": "A3 J972 K65 AKQ5", "S": "KQ87 A3 AQT4 J64", "W": "J4 86 J9732 T873"}, "W", False, False, 420), + ({"N": "T K943 AQ87 9542", "E": "Q65 QJ5 K654 863", "S": "KJ972 76 J92 AKT", "W": "A843 AT82 T3 QJ7"}, "N", False, True, 90), + ({"N": "KQJ974 J853 Q53", "E": "A3 K87 KQT2 AJ96", "S": "62 AQJT A94 KT72", "W": "T85 965432 76 84"}, "E", True, True, 600), + ({"N": "QJT62 853 864 Q3", "E": "A5 Q76 Q732 A874", "S": "K874 94 AKT9 JT2", "W": "93 AKJT2 J5 K965"}, "S", False, False, -140), + ({"N": "9732 J75 87 7632", "E": "K8 AT83 T92 KJ84", "S": "AJ4 KQ94 KQJ4 QT", "W": "QT65 62 A653 A95"}, "W", True, False, -140), + ({"N": "AT92 KJ5 KT7532 ", "E": "KQ7 A76 AQ JT863", "S": "654 QT943 98 AK5", "W": "J83 82 J64 Q9742"}, "N", True, True, -110), + ({"N": "J92 KQ AT97 Q632", "E": "Q6 843 K52 K9875", "S": "KT853 AT6 Q6 AJ4", "W": "A74 J9752 J843 T"}, "E", False, False, 460), + ({"N": "AK AKQJ87 A763 5", "E": "T6 T6 KQT4 AQ962", "S": "532 542 J85 KT83", "W": "QJ9874 93 92 J74"}, "S", True, False, 630), + ({"N": "J86 8763 6532 Q2", "E": "K975 Q95 AQ84 76", "S": "T432 K2 J AK8543", "W": "AQ AJT4 KT97 JT9"}, "W", False, True, -650), + ({"N": "K96 JT8752 8 AQ8", "E": "J754 K4 T542 J72", "S": "AQ8 A6 KQ763 T95", "W": "T32 Q93 AJ9 K643"}, "N", False, False, 450), + ({"N": "T98 T8743 86 JT5", "E": "J2 A9652 T7 AQ72", "S": "6543 Q952 K8643", "W": "AKQ7 KQJ AKJ43 9"}, "E", True, False, -1520), + ({"N": "KQ542 J63 A6 J95", "E": "J KT9 T9872 T842", "S": "AT Q8752 Q53 Q76", "W": "98763 A4 KJ4 AK3"}, "S", False, True, -110), + ({"N": "K9654 4 AT73 J64", "E": "AQT2 A765 KQ9 T9", "S": "J3 T3 82 AKQ8532", "W": "87 KQJ982 J654 7"}, "W", True, True, -650), + ({"N": "AJ AQ943 J732 J9", "E": "KT7 J62 8654 KQ8", "S": "Q9852 T8 AQT T74", "W": "643 K75 K9 A6532"}, "N", True, False, 110), + ({"N": "Q985 T82 A54 J32", "E": "T64 KQ3 AKQ9754", "S": "AKJ73 A6 Q832 T6", "W": "2 J9754 KJT976 8"}, "E", False, True, -300), + ({"N": "T852 QJT9 T7 986", "E": "973 A73 AK842 K7", "S": "Q 865 QJ3 QT5432", "W": "AKJ64 K42 965 AJ"}, "S", True, True, -1370), + ({"N": "653 J84 QJ2 KJ83", "E": "A84 AK93 T6 QT97", "S": "KJ97 T76 K87 642", "W": "QT2 Q52 A9543 A5"}, "W", False, False, -420), + ({"N": "J53 Q5 Q876 T752", "E": "KQ6 AJ94 A5 KQ84", "S": "42 K8632 T4 J963", "W": "AT987 T7 KJ932 A"}, "N", False, True, -2210), + ({"N": "Q2 AQJT7 T62 JT3", "E": "AJ 983 Q93 K9862", "S": "T653 K5 J754 A75", "W": "K9874 642 AK8 Q4"}, "E", True, True, -110), + ({"N": "K95 J8 J2 A76543", "E": "J8742 AKT54 4 K8", "S": "AT3 7 AKT9763 T9", "W": "Q6 Q9632 Q85 QJ2"}, "S", False, False, 100), + ({"N": "QT T742 85 KT762", "E": "J93 AK983 K74 83", "S": "K7642 J65 632 J9", "W": "A85 Q AQJT9 AQ54"}, "W", True, False, -920), + ({"N": "Q954 AQ4 AK Q952", "E": "AJ2 KT9872 QJ 84", "S": "KT87 7432 AKT73", "W": "63 J653 T9865 J6"}, "N", True, True, 1430), + ({"N": "87 AKQ2 2 KQ9876", "E": "AQ6542 53 AT4 53", "S": "9 JT84 QJ98753 2", "W": "KJT3 976 K6 AJT4"}, "E", False, False, -300), + ({"N": "AK T852 AK42 KT8", "E": "43 AQJ9743 J7 52", "S": "876 K Q653 QJ973", "W": "QJT952 6 T98 A64"}, "S", True, False, 600), + ({"N": "A854 QT3 952 J87", "E": "K3 86 QJT843 K54", "S": "QJT7 AJ954 K7 93", "W": "962 K72 A6 AQT62"}, "W", False, True, -600), + ({"N": "742 AJ92 Q32 A62", "E": "T95 6 AJT8 J8743", "S": "AKQ3 KQ8 9764 K9", "W": "J86 T7543 K5 QT5"}, "N", False, False, 400), + ({"N": "AKQ42 J942 K2 K7", "E": "75 KT86 954 JT82", "S": "J863 3 AQJ76 A54", "W": "T9 AQ75 T83 Q963"}, "E", True, False, 1430), + ({"N": "AK43 K AQT86 J32", "E": "Q65 QT975 J742 K", "S": "J92 J8632 9 AQ76", "W": "T87 A4 K53 T9854"}, "S", False, True, 420), + ({"N": "T764 KJT972 T72", "E": "J85 6 T87654 963", "S": "AKQ32 Q5 KQ92 J4", "W": "9 A843 AJ3 AKQ85"}, "W", True, True, 500), + ({"N": "543 Q985 QJ 7432", "E": "AT6 JT42 765 J98", "S": "KQ97 A7 T842 AT6", "W": "J82 K63 AK93 KQ5"}, "N", True, False, -90), + ({"N": "J97642 A75 A3 Q6", "E": "AQ5 QJ8 J75 AT53", "S": "K K642 KQ864 842", "W": "T83 T93 T92 KJ97"}, "E", False, True, 110), + ({"N": "63 QT754 AQJ4 T6", "E": "T98 6 K9876 A982", "S": "AJ AKJ83 T2 K543", "W": "KQ7542 92 53 QJ7"}, "S", True, True, 500), + ({"N": "J85 AJ872 K8 QT4", "E": "KT743 K6 QT AK52", "S": "AQ962 Q4 J972 J9", "W": " T953 A6543 8763"}, "W", False, False, 100), + ({"N": "Q743 AQ765 T7 QJ", "E": "T96 K932 KJ865 3", "S": "AKJ T4 Q943 9872", "W": "852 J8 A2 AKT654"}, "N", False, True, -90), + ({"N": "A52 AJ T64 QJ763", "E": "KT3 KQ97542 2 42", "S": "876 3 AKJ983 T95", "W": "QJ94 T86 Q75 AK8"}, "E", True, True, -620), + ({"N": "AK752 T54 A862 5", "E": "J96 863 K54 T764", "S": "QT843 KQJ J9 KJ9", "W": " A972 QT73 AQ832"}, "S", False, False, 300), + ({"N": "J 42 A76532 KJ94", "E": "Q875432 QJ KJ9 7", "S": "AK T865 QT84 T82", "W": "T96 AK973 AQ653"}, "W", True, False, -450), + ({"N": "93 KJT74 T72 J75", "E": "AK8762 K843 K63", "S": "Q 98652 A965 982", "W": "JT54 AQ3 QJ AQT4"}, "N", True, True, -1440), + ({"N": "J632 74 Q65 KJT3", "E": "AT984 T853 3 A65", "S": "7 J96 K8742 9872", "W": "KQ5 AKQ2 AJT9 Q4"}, "E", False, False, -1510), + ({"N": "T963 7 AJ54 Q763", "E": "KJ7 AKJ2 Q97 JT2", "S": "Q85 T98543 K63 5", "W": "A42 Q6 T82 AK984"}, "S", True, False, -400), + ({"N": "63 AQJ KQJ64 T85", "E": "KT9 K9863 52 J94", "S": "QJ5 42 T987 AK76", "W": "A8742 T75 A3 Q32"}, "W", False, True, 120), + ({"N": " AQJ96 AJT QJ763", "E": "AT 543 98632 K98", "S": "8653 T2 K75 AT52", "W": "KQJ9742 K87 Q4 4"}, "N", False, False, 1400), + ({"N": "QJ2 AK Q76532 AT", "E": "84 9832 AK KQ943", "S": "K975 QT5 JT4 865", "W": "AT63 J764 98 J72"}, "E", True, False, 100), + ({"N": "86 KJ KQJT AK765", "E": "KQ43 5 875 98432", "S": "A5 T9873 A963 QT", "W": "JT972 AQ642 42 J"}, "S", False, True, 400), + ({"N": "K72 KT2 KQ643 J6", "E": "AT9 9764 AJ8 AQ8", "S": "Q853 J85 9 T9543", "W": "J64 AQ3 T752 K72"}, "W", True, True, -600), + ({"N": " Q653 Q8542 J876", "E": "K942 JT8 T9 Q532", "S": "AQJ8653 7 J76 T9", "W": "T7 AK942 AK3 AK4"}, "N", True, False, -420), + ({"N": "KQ8 52 AKQ J9862", "E": "42 AQ64 T643 K43", "S": "AT76 KT987 J987 ", "W": "J953 J3 52 AQT75"}, "E", False, True, 140), + ({"N": "Q5432 6 K87 JT76", "E": "K AQ2 AQJ62 AKQ9", "S": "A7 KJT9743 T4 54", "W": "JT986 85 953 832"}, "S", True, True, -600), + ({"N": "A5 A53 5432 8642", "E": "Q642 KQT J6 AK75", "S": "J3 J97642 KT8 Q9", "W": "KT987 8 AQ97 JT3"}, "W", False, False, -460), + ({"N": "K642 QJT83 Q J42", "E": "985 A754 JT86 A6", "S": "AJT7 K6 932 KQ85", "W": "Q3 92 AK754 T973"}, "N", False, True, 420), + ({"N": "8752 96 K94 KJ53", "E": "QT64 KQT8743 QJ ", "S": "A AJ52 AT653 Q98", "W": "KJ93 872 AT7642"}, "E", True, True, 600), + ({"N": "75 Q5 J5432 J764", "E": "KJT64 KT9643 T Q", "S": "A83 A87 8 A98532", "W": "Q92 J2 AKQ976 KT"}, "S", False, False, -300), + ({"N": "T432 K52 T6 QT87", "E": "976 AJ4 Q5432 A5", "S": "AKQJ8 986 AJ KJ9", "W": "5 QT73 K987 6432"}, "W", True, False, -130), + ({"N": "A8 Q AKQJ65 T432", "E": "QT95 AK42 T3 A87", "S": "J7643 9865 7 KJ6", "W": "K2 JT73 9842 Q95"}, "N", True, True, 110), + ({"N": "2 AKJ95 KQJ92 J7", "E": "AKJT963 6 AK943", "S": "Q874 873 AT75 T2", "W": "5 QT642 843 Q865"}, "E", False, False, -500), + ({"N": "Q953 85 JT843 42", "E": "JT6 KJ7642 9 865", "S": "AK82 T3 A7 AK973", "W": "74 AQ9 KQ652 QJT"}, "S", True, False, 620), + ({"N": "A5 5 AT874 AK965", "E": "9 AQJ984 QJ92 QT", "S": "QT874 73 653 742", "W": "KJ632 KT62 K J83"}, "W", False, True, -140), + ({"N": "Q765 QJT984 Q87", "E": "9843 A AQJ73 J64", "S": "AJT2 2 KT6542 T2", "W": "K K7653 98 AK953"}, "N", False, False, -110), + ({"N": "QT843 8753 A52 6", "E": "A976 K62 863 AT9", "S": "J52 A4 QJ4 KJ753", "W": "K QJT9 KT97 Q842"}, "E", True, False, -110), + ({"N": "AQ54 62 J862 QT3", "E": "986 KQ84 Q93 AK7", "S": "7 JT973 AT J8542", "W": "KJT32 A5 K754 96"}, "S", False, True, -620), + ({"N": "A654 Q2 AK95 Q32", "E": "J93 J5 832 AT864", "S": "K K98743 QJT6 K5", "W": "QT872 AT6 74 J97"}, "W", True, True, 620), + ({"N": "QJ7 KQ3 3 KJ7654", "E": "62 AT654 AJT752 ", "S": "AT943 J98 KQ8 A2", "W": "K85 72 964 QT983"}, "N", True, False, 100), + ({"N": "K98542 A54 T43 8", "E": "AJ63 982 AQ5 T75", "S": "Q KQT J76 AK6432", "W": "T7 J763 K982 QJ9"}, "E", False, True, 80), + ({"N": "A42 KJ4 JT KT982", "E": "K93 QT7 A97432 4", "S": "JT87 A852 KQ8 Q3", "W": "Q65 963 65 AJ765"}, "S", True, True, 140), + ({"N": "74 865 AQT53 Q92", "E": "AT96 43 K87 T875", "S": "KQJ85 JT92 J9 J4", "W": "32 AKQ7 642 AK63"}, "W", False, False, -130), + ({"N": "9 92 AQ632 AKQ92", "E": "Q753 KT65 94 J87", "S": "AJT2 AQ87 875 T5", "W": "K864 J43 KJT 643"}, "N", False, True, 920), + ({"N": "J5 A2 972 J98652", "E": "AT9763 K5 KJ5 73", "S": "Q82 QJ6 QT843 T4", "W": "K4 T98743 A6 AKQ"}, "E", True, True, -660), + ({"N": "J94 KJ9432 5 642", "E": "KQT2 T85 Q843 A7", "S": "A75 AK9762 QT93", "W": "863 AQ76 JT KJ85"}, "S", False, False, -120), + ({"N": "63 A973 52 J8532", "E": "KT98 42 KQT6 QT6", "S": "AQ52 QT5 J73 K97", "W": "J74 KJ86 A984 A4"}, "W", True, False, -120), + ({"N": "J93 Q97 92 T9763", "E": "KQ654 K64 4 AQJ2", "S": "82 J853 J853 K84", "W": "AT7 AT2 AKQT76 5"}, "N", True, True, -2220), + ({"N": "J64 J42 T86 KQ85", "E": "A9752 KT75 K75 9", "S": " AQ98 J93 A76432", "W": "KQT83 63 AQ42 JT"}, "E", False, False, -100), + ({"N": "AT52 964 KQJ9 63", "E": "9 AKQ75 T52 AJ98", "S": "K63 JT2 A864 T52", "W": "QJ874 83 73 KQ74"}, "S", True, False, -140), + ({"N": "QJ3 T752 J94 642", "E": "K9762 AQ87 AT85", "S": "A854 J6 K52 K973", "W": "T AKQ9843 T63 QJ"}, "W", False, True, -620), + ({"N": "JT54 Q54 J53 KT8", "E": "A986 832 864 Q76", "S": "K72 AK96 7 J9532", "W": "Q3 JT7 AKQT92 A4"}, "N", False, False, -100), + ({"N": "T6 J7 T95 AKT542", "E": "AK94 K84 AJ872 8", "S": "QJ73 T932 6 9763", "W": "852 AQ65 KQ43 QJ"}, "E", True, False, -420), + ({"N": "7 Q63 Q97 T86543", "E": "AJ962 AK AKJ Q97", "S": "KQT43 J8542 5 K2", "W": "85 T97 T86432 AJ"}, "S", False, True, -1440), + ({"N": "KJ965 Q2 97 AK93", "E": "AT42 98 KQ62 J54", "S": "3 T653 AT853 Q62", "W": "Q87 AKJ74 J4 T87"}, "W", True, True, -90), + ({"N": "AKQJ A964 QJ3 K7", "E": "T72 Q8 AK65 Q432", "S": "6543 KJ3 T9842 5", "W": "98 T752 7 AJT986"}, "N", True, False, 300), + ({"N": "Q8 AJ98764 J952", "E": "T754 Q3 AJT98 K4", "S": "AKJ6 2 KQ732 A76", "W": "932 KT5 654 QT83"}, "E", False, True, 420), + ({"N": "AQT7 Q93 AK632 5", "E": "KJ952 T72 J95 74", "S": "43 KJ4 874 AKT32", "W": "86 A865 QT QJ986"}, "S", True, True, 600), + ({"N": "Q973 T7 AQ643 A8", "E": "4 KJ842 T952 J63", "S": "65 AQ9 J87 K9742", "W": "AKJT82 653 K QT5"}, "W", False, False, 430), + ({"N": "9854 Q8 Q9764 Q9", "E": "AT72 J974 8532 A", "S": "QJ63 K32 KJT852", "W": "K AT65 AKJT 7643"}, "N", False, True, -620), + ({"N": "J6 AKQ AKJ7 8762", "E": "AK853 J9862 92 K", "S": "974 754 Q854 AJ4", "W": "QT2 T3 T63 QT953"}, "E", True, True, 120), + ({"N": "A964 6532 T7432", "E": "QJ72 A85 AT8 KQ8", "S": "T853 QJ43 K74 AJ", "W": "K KT9762 QJ9 965"}, "S", False, False, -140), + ({"N": "9 KT9843 Q86 T85", "E": "J876 Q72 J74 763", "S": "K53 AJ5 KT53 KJ2", "W": "AQT42 6 A92 AQ94"}, "W", True, False, 300), + ({"N": "KQ9 KJ73 J A9875", "E": "8762 T AQ8743 Q4", "S": "3 A42 K9652 KJ62", "W": "AJT54 Q9865 T T3"}, "N", True, True, 660), + ({"N": "A743 J85 Q2 KQT2", "E": "KQJ K932 KT853 5", "S": "T QT64 76 A98764", "W": "98652 A7 AJ94 J3"}, "E", False, False, -450), + ({"N": "AJ6 3 A9874 AJT4", "E": "92 AQ7642 J63 92", "S": "K543 985 T52 K85", "W": "QT87 KJT KQ Q763"}, "S", True, False, 130), + ({"N": "74 AT9754 T97 97", "E": "J5 QJ A8632 AQJ5", "S": "Q832 83 QJ KT832", "W": "AKT96 K62 K54 64"}, "W", False, True, -660), + ({"N": "K9432 QJ986 QT8", "E": "8 AT72 AQT4 A652", "S": "JT7 54 J87532 J7", "W": "AQ65 K3 K96 K943"}, "N", False, False, -920), + ({"N": "AQJ6 4 KJ QJ7432", "E": "952 765 AQT82 T6", "S": "K74 AQ92 73 AK98", "W": "T83 KJT83 9654 5"}, "E", True, False, 1100), + ({"N": "T8742 864 Q9843", "E": "96 KT7 KT43 AK76", "S": "AKQJ5 Q532 J86 J", "W": "3 AJ9 AQ9752 T52"}, "S", False, True, -300), + ({"N": "A54 A953 842 643", "E": "2 T876 QJT7 AKT5", "S": "KJT9863 2 K3 QJ2", "W": "Q7 KQJ4 A965 987"}, "W", True, True, -200), + ({"N": "2 J642 9653 9742", "E": "QJ85 AK KJT4 JT8", "S": "A73 Q85 AQ82 KQ3", "W": "KT964 T973 7 A65"}, "N", True, False, -420), + ({"N": "AQJ95 AT92 87 K5", "E": "6 KQ83 T643 A763", "S": "8732 64 AKQ J942", "W": "KT4 J75 J952 QT8"}, "E", False, True, 420), + ({"N": "AKT8 J84 Q43 752", "E": "J543 QT52 AJ5 K9", "S": "Q A63 KT97 AQJT4", "W": "9762 K97 862 863"}, "S", True, True, 600), + ({"N": "QT8 T732 A83 AT9", "E": "932 AJ865 K 8652", "S": "AK74 Q QJ72 QJ73", "W": "J65 K94 T9654 K4"}, "W", False, False, 450), + ({"N": "Q9 T8765 AT84 96", "E": "JT762 2 Q973 KT8", "S": "83 KQJ3 K6 Q5432", "W": "AK54 A94 J52 AJ7"}, "N", False, True, -500), + ({"N": "75 Q92 KQT64 KT9", "E": "KT9 T5 A52 AQ753", "S": "AQ6432 J64 J3 42", "W": "J8 AK873 987 J86"}, "E", True, True, -110), + ({"N": "85 J4 JT53 AJT64", "E": "JT3 K9862 K8752", "S": "Q962 AKQ8762 A 3", "W": "AK74 T953 Q74 Q9"}, "S", False, False, 300), + ({"N": "652 4 62 KQJ7632", "E": "74 Q9 AJ843 A985", "S": "AQT9 KJT87 T7 T4", "W": "KJ83 A6532 KQ95 "}, "W", True, False, -400), + ({"N": "J953 874 T863 Q9", "E": "AK2 AT96 KQ542 A", "S": "64 KQJ3 J9 K5432", "W": "QT87 52 A7 JT876"}, "N", True, True, -620), + ({"N": "AT A963 Q87 7532", "E": "QJ95 KJ4 T65 QT4", "S": "K8742 T52 K2 J86", "W": "63 Q87 AJ943 AK9"}, "E", False, False, -400), + ({"N": "A865 QT962 7 J98", "E": "Q942 7 K AKQT765", "S": "KJT AJ43 986542 ", "W": "73 K85 AQJT3 432"}, "S", True, False, 100), + ({"N": "Q6 T8 QT73 T8654", "E": "J KQ72 K982 AK93", "S": "A874 J54 J654 J7", "W": "KT9532 A963 A Q2"}, "W", False, True, -1430), + ({"N": "T94 AK KJ973 KT2", "E": "A2 842 AQT52 A75", "S": "KJ8 QT9653 4 643", "W": "Q7653 J7 86 QJ98"}, "N", False, False, -100), + ({"N": "9 T987 AJ72 AKQ7", "E": "T7632 54 9654 83", "S": "Q84 AK2 Q3 JT654", "W": "AKJ5 QJ63 KT8 92"}, "E", True, False, 630), + ({"N": "QJ654 KQT A743 2", "E": "7 AJ543 Q962 A95", "S": "KT92 8 KJ8 JT874", "W": "A83 9762 T5 KQ63"}, "S", False, True, 140), + ({"N": "A63 T9762 AT3 J7", "E": "52 J3 875 K98632", "S": "QT4 Q5 QJ942 QT5", "W": "KJ987 AK84 K6 A4"}, "W", True, True, -110), + ({"N": "KT754 KQ8 975 A8", "E": "A2 J9 Q8642 QJ53", "S": "3 AT73 AJT3 KT96", "W": "QJ986 6542 K 742"}, "N", True, False, 630), + ({"N": "63 KJ7 632 K9753", "E": "5 AQ5432 T95 AJ6", "S": "AKQT T98 AQJ84 8", "W": "J98742 6 K7 QT42"}, "E", False, True, -100), + ({"N": "874 K5 Q95 AKJT6", "E": "AQJ65 A73 KJ 742", "S": "T932 9864 A632 5", "W": "K QJT2 T874 Q983"}, "S", True, True, -600), + ({"N": "AT752 J43 85 T87", "E": "KJ4 Q2 QJT72 QJ3", "S": "98 KT75 K3 AK654", "W": "Q63 A986 A964 92"}, "W", False, False, -120), + ({"N": "AKQ5 AJT3 AJ42 4", "E": "963 8752 Q86 876", "S": "7 KQ9 K95 KJ9532", "W": "JT842 64 T73 AQT"}, "N", False, True, 450), + ({"N": "J83 AKJ6 Q7 AQJ4", "E": "K97642 94 K T973", "S": "5 Q875 J86432 K8", "W": "AQT T32 AT95 652"}, "E", True, True, 500), + ({"N": "976 T6542 8 8532", "E": "JT J93 QT92 KJ64", "S": "KQ52 KQ87 A743 7", "W": "A843 A KJ65 AQT9"}, "S", False, False, -130), + ({"N": "K9 AQT6 764 K952", "E": "T42 974 AT953 87", "S": "QJ765 52 82 AJ43", "W": "A83 KJ83 KQJ QT6"}, "W", True, False, 620), + ({"N": "A8654 T T654 542", "E": "JT97 A2 Q82 AKT7", "S": "K3 Q9743 73 Q863", "W": "Q2 KJ865 AKJ9 J9"}, "N", True, True, -660), + ({"N": "K9 QJT9 T853 K72", "E": "8752 Q642 AJ954", "S": "AQT6 8765432 A 8", "W": "J43 AK KJ97 QT63"}, "E", False, False, 300), + ({"N": "9 KQ76 KT954 AK8", "E": "AKT2 J953 J872 6", "S": "J84 AT4 A JT7542", "W": "Q7653 82 Q63 Q93"}, "S", True, False, 600), + ({"N": "A952 AJT64 T64 3", "E": "QJ6 3 K9873 AQJT", "S": "KT3 K95 AQ52 876", "W": "874 Q872 J K9542"}, "W", False, True, 420), + ({"N": "J543 54 A6 K8432", "E": "6 762 KQ9732 Q95", "S": "AKQ7 AKJ J8 AT76", "W": "T982 QT983 T54 J"}, "N", False, False, 1510), + ({"N": "J643 AJ63 T943 J", "E": "T875 T5 872 AT52", "S": "AK2 2 K5 KQ98643", "W": "Q9 KQ9874 AQJ6 7"}, "E", True, False, 100), + ({"N": "T96 93 A QJT9853", "E": "Q87532 Q8 82 742", "S": "AKJ4 K KJT764 AK", "W": " AJT76542 Q953 6"}, "S", False, True, 800), + ({"N": "J963 2 Q6 AKT652", "E": "KT2 J96 AJ943 J7", "S": "Q854 QT43 72 Q98", "W": "A7 AK875 KT85 43"}, "W", True, True, -650), + ({"N": "QJ6542 92 752 83", "E": "87 Q7 983 AKQJ65", "S": "A AKT63 KQJT T92", "W": "KT93 J854 A64 74"}, "N", True, False, -90), + ({"N": " AJT8 8543 AQ932", "E": "J52 Q32 KQ2 K854", "S": "A643 K965 T97 T6", "W": "KQT987 74 AJ6 J7"}, "E", False, True, -100), + ({"N": "9 K974 42 QJT942", "E": "KQ762 AJT Q87 AK", "S": "AT8 Q653 AJT 853", "W": "J543 82 K9653 76"}, "S", True, True, -140), + ({"N": "J74 AT8 QJ852 K9", "E": "K Q92 K64 QT8432", "S": "AT8652 J53 T7 A6", "W": "Q93 K764 A93 J75"}, "W", False, False, 140), + ({"N": "T JT983 KQT654 T", "E": "97 AK62 982 Q875", "S": "KQ8632 Q75 A A62", "W": "AJ54 4 J73 KJ943"}, "N", False, True, 420), + ({"N": "AQ J82 JT3 K8752", "E": "KJ98652 K765 T6", "S": "T74 K9 982 AQ943", "W": "3 AQT76543 AQ4 J"}, "E", True, True, -620), + ({"N": "75 KJ98752 A9 92", "E": "KJ4 T43 QT AKT73", "S": "AQ632 6 8753 865", "W": "T98 AQ KJ642 QJ4"}, "S", False, False, -100), + ({"N": "A732 A986 K4 Q72", "E": "65 KJT4 QJT32 A8", "S": "KQ98 2 985 KJ543", "W": "JT4 Q753 A76 T96"}, "W", True, False, 650), + ({"N": "T6 AKQT942 QJ2 6", "E": "AKQ54 J 765 JT93", "S": "9832 83 T93 AQ85", "W": "J7 765 AK84 K742"}, "N", True, True, -140), + ({"N": "AKQT82 A43 985 4", "E": "J654 K8 T643 AT9", "S": "3 765 KQJ72 KJ53", "W": "97 QJT92 A Q8762"}, "E", False, False, 130), + ({"N": "972 AT2 AJT K874", "E": "AK5 9653 Q7532 9", "S": "J843 KQJ84 K8 A6", "W": "QT6 7 964 QJT532"}, "S", True, False, 630), + ({"N": "93 K632 642 QT97", "E": "Q7542 T84 Q7 K62", "S": "AKJT AJ5 K9 A843", "W": "86 Q97 AJT853 J5"}, "W", False, True, 420), + ({"N": "AQ72 J94 QT AQJ5", "E": "JT986 QT65 8743", "S": "53 AK3 97543 K92", "W": "K4 872 AKJ862 T6"}, "N", False, False, 400), + ({"N": "K9762 65 32 JT94", "E": "J4 T973 874 AK82", "S": "Q85 AKQJ2 AK95 Q", "W": "AT3 84 QJT6 7653"}, "E", True, False, 620), + ({"N": "A9 963 A63 QJT97", "E": "KQT762 J4 K4 A42", "S": "8 Q85 Q8752 K853", "W": "J543 AKT72 JT9 6"}, "S", False, True, -650), + ({"N": "T976 T52 J8 KQ54", "E": "K2 K T9632 T9863", "S": "Q AQJ976 A74 AJ7", "W": "AJ8543 843 KQ5 2"}, "W", True, True, 650), + ({"N": "QJ64 AQJ85 Q8 K2", "E": "AK932 932 54 AT7", "S": "T7 K64 AT9 Q6543", "W": "85 T7 KJ7632 J98"}, "N", True, False, 140), + ({"N": "J AJT87 KQT76 A6", "E": "AQ4 62 A952 9742", "S": "T932 KQ J3 KQJT3", "W": "K8765 9543 84 85"}, "E", False, True, 420), + ({"N": "86 852 Q76 A9643", "E": "A AKQT96 AJ53 KJ", "S": "KQJ732 J 84 Q852", "W": "T954 743 KT92 T7"}, "S", True, True, -1400), + ({"N": "AQ954 T87 A J974", "E": "87 K32 KQJ8 AKQ3", "S": "K62 A65 943 8652", "W": "JT3 QJ94 T7652 T"}, "W", False, False, -110), + ({"N": "K976 954 J653 83", "E": "A5 AQT86 A97 972", "S": "QT82 J3 T82 KQ65", "W": "J43 K72 KQ4 AJT4"}, "N", False, True, -650), + ({"N": "AT8 JT94 Q63 AT8", "E": "5 Q8752 K4 QJ965", "S": "976432 A3 85 K74", "W": "KQJ K6 AJT972 32"}, "E", True, True, -120), + ({"N": "87 Q32 KQT8 KJT8", "E": "AQT432 A874 952", "S": "K T95 J9743 Q763", "W": "J965 KJ6 A652 A4"}, "S", False, False, -460), + ({"N": "82 J2 AKT96 AQJ4", "E": "K43 KT9864 J3 T6", "S": "AQJT5 7 875 K832", "W": "976 AQ53 Q42 975"}, "W", True, False, 1370), + ({"N": "K82 J6432 T94 52", "E": "QT765 AQ5 A86 KJ", "S": "J93 97 7532 A963", "W": "A4 KT8 KQJ QT874"}, "N", True, True, -660), + ({"N": "J92 QT5 876 AQJ2", "E": "T84 K643 AJ53 98", "S": "76 982 K KT76543", "W": "AKQ53 AJ7 QT942 "}, "E", False, False, -1440), + ({"N": "KQ6 KT3 JT75 K95", "E": "JT8732 94 A9 AQJ", "S": "9 AJ87652 43 T43", "W": "A54 Q KQ862 8762"}, "S", True, False, -420), + ({"N": "A5 A87 QJT T9432", "E": "9 KJT65 A852 AJ7", "S": "JT87632 93 K93 6", "W": "KQ4 Q42 764 KQ85"}, "W", False, True, -100), + ({"N": "A95 AK62 J7 KT87", "E": "KQJ2 T853 6 Q652", "S": "74 Q94 AKQ542 J4", "W": "T863 J7 T983 A93"}, "N", False, False, 430), + ({"N": "A64 Q8543 KJ42 J", "E": "J5 AKJT2 AT9 KT9", "S": "K82 753 AQ87643", "W": "QT973 976 Q86 52"}, "E", True, False, 110), + ({"N": "42 986 AKQ92 985", "E": "AQJT8653 8 KT63", "S": "K9 J752 T543 AJ7", "W": "7 AKQT43 J76 Q42"}, "S", False, True, -300), + ({"N": "T5 AJ653 A84 KT8", "E": "3 Q98 KQJ3 QJ753", "S": "AJ976 K74 5 A962", "W": "KQ842 T2 T9762 4"}, "W", True, True, 620), + ({"N": "KQT 3 Q8 AKJ8432", "E": "J9652 Q8 KT973 Q", "S": "73 KJT7642 AJ T9", "W": "A84 A95 6542 765"}, "N", True, False, 660), + ({"N": "T AKT7642 K9 K63", "E": "AQ73 3 AT8542 Q5", "S": "KJ6 QJ5 Q76 AT42", "W": "98542 98 J3 J987"}, "E", False, True, 460), + ({"N": "KJ4 KJ9 KQJ85 A7", "E": "Q72 T64 7 Q86542", "S": "A963 A7 T632 JT3", "W": "T85 Q8532 A94 K9"}, "S", True, True, 660), + ({"N": "8652 QT86 QJ7 QJ", "E": "AQT93 J2 T854 65", "S": "4 A97543 2 K7432", "W": "KJ7 K AK963 AT98"}, "W", False, False, -100), + ({"N": "AT8 A6542 432 T2", "E": "K2 Q973 Q87 QJ86", "S": "Q976 KJ8 T5 AK93", "W": "J543 T AKJ96 754"}, "N", False, True, 140), + ({"N": "AT75 A3 T876 Q52", "E": "J4 76 QJ4 AJT963", "S": "KQ932 KQT8 AK3 8", "W": "86 J9542 952 K74"}, "E", True, True, 650), + ({"N": "AK43 KT7 KT9432", "E": "J 962 Q96543 865", "S": "987 J543 AJT7 QJ", "W": "QT652 AQ8 K82 A7"}, "S", False, False, 120), + ({"N": "4 AJ9843 JT75 82", "E": "J53 5 KQ963 QJ63", "S": "A982 Q76 84 AKT5", "W": "KQT76 KT2 A2 974"}, "W", True, False, 630), + ({"N": "8765 T4 AQJ9 T63", "E": "QJT2 865 86 KJ42", "S": "K9 AJ972 KT74 A9", "W": "A43 KQ3 532 Q875"}, "N", True, True, 110), + ({"N": "K7 J854 KQJ74 42", "E": "AT83 AK962 A9 T8", "S": "J42 Q73 82 AKQ65", "W": "Q965 T T653 J973"}, "E", False, False, -140), + ({"N": "Q94 53 AT52 QT62", "E": "A3 AJ984 K874 84", "S": "T2 T76 93 AKJ975", "W": "KJ8765 KQ2 QJ6 3"}, "S", True, False, -450), + ({"N": "AK985 AJ Q4 AT93", "E": "732 Q8764 T7 KJ2", "S": "Q6 KT AJ9852 876", "W": "JT4 9532 K63 Q54"}, "W", False, True, 430), + ({"N": "AJ65 A984 KJ975 ", "E": "T973 J53 A2 AJ32", "S": "K2 K76 QT83 KQ98", "W": "Q84 QT2 64 T7654"}, "N", False, False, 920), + ({"N": "QJ832 9 64 AKJT6", "E": "975 AQ874 AT83 4", "S": "T6 K652 KQ972 52", "W": "AK4 JT3 J5 Q9873"}, "E", True, False, -110), + ({"N": "K82 873 T9742 Q6", "E": "AQ764 A96 6 J852", "S": "J QT542 AKQJ85 3", "W": "T953 KJ 3 AKT974"}, "S", False, True, -1100), + ({"N": "Q42 98 JT987 K82", "E": "AT965 A4 KQ4 963", "S": "K73 QJ73 6532 54", "W": "J8 KT652 A AQJT7"}, "W", True, True, -1370), + ({"N": "A873 J T976 KQ32", "E": "KJ4 K74 Q8 AJ654", "S": "Q965 T985 A43 T7", "W": "T2 AQ632 KJ52 98"}, "N", True, False, -140), + ({"N": "A4 4 K964 A98743", "E": "KJ52 KQ32 QT7 J2", "S": "QT98 98765 A8 K6", "W": "763 AJT J532 QT5"}, "E", False, True, 110), + ({"N": "T85 Q9754 QJ85 5", "E": "92 KJ62 A7632 T7", "S": "J76 A83 T4 KQ982", "W": "AKQ43 T K9 AJ643"}, "S", True, True, -630), + ({"N": "9 AJ982 4 976432", "E": "KT64 4 JT987 AKT", "S": "QJ52 T65 Q652 Q8", "W": "A873 KQ73 AK3 J5"}, "W", False, False, -450), + ({"N": "KJ642 7 KQ54 T95", "E": "A95 JT83 J7 QJ42", "S": "Q73 962 A82 K873", "W": "T8 AKQ54 T963 A6"}, "N", False, True, -300), + ({"N": "965 J3 AJT6 KJ64", "E": "A8432 K KQ85 AQT", "S": "KT AT862 932 985", "W": "QJ7 Q9754 74 732"}, "E", True, True, -620), + ({"N": "98632 KJ3 KJ K65", "E": "7 7 AQ8754 J9732", "S": "AKQJ4 Q865 T AT8", "W": "T5 AT942 9632 Q4"}, "S", False, False, 100), + ({"N": "A9732 AQ6 J6 Q76", "E": "QT85 T94 74 J954", "S": "J6 J75 AT852 A82", "W": "K4 K832 KQ93 KT3"}, "W", True, False, 90), + ({"N": "Q2 AQ632 Q864 84", "E": "763 84 KJ7 AKJ63", "S": "AK95 J97 T952 QT", "W": "JT84 KT5 A3 9752"}, "N", True, True, -120), + ({"N": "K2 9862 AK64 K83", "E": "Q543 QT3 T75 762", "S": "AJ7 AKJ7 Q2 AT94", "W": "T986 54 J983 QJ5"}, "E", False, False, 1520), + ({"N": "A2 T762 K852 K74", "E": "K3 AJ AJT763 QT6", "S": "QT76 94 Q A98532", "W": "J9854 KQ853 94 J"}, "S", True, False, -140), + ({"N": "AKT9 9865 Q42 T3", "E": "Q74 A4 975 KQ952", "S": "8632 T72 KT86 J4", "W": "J5 KQJ3 AJ3 A876"}, "W", False, True, -630), + ({"N": "K8 A762 A7 AQT75", "E": "AJ63 JT JT94 J84", "S": "Q9754 KQ8 K82 62", "W": "T2 9543 Q653 K93"}, "N", False, False, 450), + ({"N": "QT6 K97 T972 K65", "E": "A854 AT2 63 9843", "S": "93 43 AKQ54 AQT7", "W": "KJ72 QJ865 J8 J2"}, "E", True, False, 100), + ({"N": "T952 K9743 53 T2", "E": "K84 AJT8 K2 AQ86", "S": "AQ63 5 AQJT4 753", "W": "J7 Q62 9876 KJ94"}, "S", False, True, -300), + ({"N": "T73 AT5 QJT8 AQ7", "E": "KQ6 8762 A9632 J", "S": "AJ852 QJ9 4 6432", "W": "94 K43 K75 KT985"}, "W", True, True, 620), + ({"N": "KT96 4 JT864 T73", "E": "Q742 KQJ962 AQ 4", "S": "AJ3 T873 9 AJ852", "W": "85 A5 K7532 KQ96"}, "N", True, False, -400), + ({"N": "AKQ32 T AT76543 ", "E": "T AK642 AKT6542", "S": "976 J8753 2 Q873", "W": "J854 Q9 KQJ98 J9"}, "E", False, True, -500), + ({"N": "Q985 K6 9542 Q83", "E": "AT6 A93 KQ873 A5", "S": "K74 8752 AJT JT9", "W": "J32 QJT4 6 K7642"}, "S", True, True, -620), + ({"N": "A74 872 QJ7 KQT9", "E": "Q86 A3 KT985 AJ7", "S": "532 KQJ964 62 54", "W": "KJT9 T5 A43 8632"}, "W", False, False, -110), + ({"N": "AQJ J954 QJ92 54", "E": "862 K63 T8765 AK", "S": "KT97 87 K3 J9762", "W": "543 AQT2 A4 QT83"}, "N", False, True, -110), + ({"N": "52 AT76 J752 K64", "E": "J73 K2 AKT864 83", "S": "KQ864 QJ954 Q A5", "W": "AT9 83 93 QJT972"}, "E", True, True, 620), + ({"N": "J3 J97 QT98 KQ94", "E": "Q754 Q85 AKJ2 A2", "S": "92 AT643 5 JT853", "W": "AKT86 K2 7643 76"}, "S", False, False, -420), + ({"N": "6 A8 AKQJ5 JT975", "E": "7 KQT632 9832 KQ", "S": "KJ98 J95 T764 A8", "W": "AQT5432 74 6432"}, "W", True, False, 130), + ({"N": "AT532 AT5 AQ T74", "E": "J98 K9832 2 K832", "S": "KQ6 QJ764 875 Q9", "W": "74 KJT9643 AJ65"}, "N", True, True, 140), + ({"N": "9 T964 K7543 J96", "E": "QJ7 52 AT96 KQT3", "S": "A65 KQ3 QJ82 A82", "W": "KT8432 AJ87 754"}, "E", False, False, -420), + ({"N": "82 Q3 JT863 Q865", "E": "T9 J64 KQ KJ9732", "S": "KQJ65 A987 A72 A", "W": "A743 KT52 954 T4"}, "S", True, False, 130), + ({"N": "AT AKJT653 T72 2", "E": "K63 74 AKJ65 965", "S": "QJ842 92 983 KQ3", "W": "975 Q8 Q4 AJT874"}, "W", False, True, -100), + ({"N": "K AK72 QJT73 J42", "E": "AJ83 JT K92 Q876", "S": "96 98643 A865 K5", "W": "QT7542 Q5 4 AT93"}, "N", False, False, 300), + ({"N": "K9873 K7 876532", "E": "AJ654 K9642 T A9", "S": "T T853 J8532 KJT", "W": "Q2 AQJ7 AQ964 Q4"}, "E", True, False, -980), + ({"N": "KJ96 9876 KQ95 Q", "E": "QT873 QJ A3 AK65", "S": "52 KT JT864 T842", "W": "A4 A5432 72 J973"}, "S", False, True, -500), + ({"N": "AQT94 AT82 KT8 7", "E": "53 KJ65 3 KJ9842", "S": "K62 Q743 A974 53", "W": "J87 9 QJ652 AQT6"}, "W", True, True, 500), + ({"N": "K754 T8432 AK2 6", "E": "AQ3 K75 QT AJ984", "S": "JT82 AQJ6 854 52", "W": "96 9 J9763 KQT73"}, "N", True, False, -130), + ({"N": "J932 Q96 T6 J872", "E": "AQT KJ32 Q953 Q3", "S": "K8 8754 A872 A65", "W": "7654 AT KJ4 KT94"}, "E", False, True, -630), + ({"N": "QJ A965 AQ43 J92", "E": "A543 4 KJT5 K853", "S": "T872 K8732 972 4", "W": "K96 QJT 86 AQT76"}, "S", True, True, -140), + ({"N": "84 AQT9 KT2 AKJT", "E": "Q95 74 AQ874 873", "S": "KT32 J5 65 Q9654", "W": "AJ76 K8632 J93 2"}, "W", False, False, -100), + ({"N": "3 AKJ65 6432 AJ2", "E": "AK92 94 87 K9543", "S": "QJ864 T QJ95 QT8", "W": "T75 Q8732 AKT 76"}, "N", False, True, -90), + ({"N": "J84 AJ6 AQJ72 AQ", "E": "752 5 KT93 KJ542", "S": "Q63 Q9832 6 T873", "W": "AKT9 KT74 854 96"}, "E", True, True, 140), + ({"N": "AKJ432 AK4 KJT7", "E": "5 KQJ42 QT8 A942", "S": "9876 T965 65 853", "W": "QT A873 J9732 Q6"}, "S", False, False, 800), + ({"N": "K5 Q976 A76 7652", "E": "A942 82 98 QJT84", "S": "Q63 AJT5 K532 K9", "W": "JT87 K43 QJT4 A3"}, "W", True, False, -140), + ({"N": "A943 64 852 AT72", "E": "J2 AKT9 KJT94 96", "S": "7 J8753 63 KQ843", "W": "KQT865 Q2 AQ7 J5"}, "N", True, True, -500), + ({"N": "AJ763 K6 QJ64 74", "E": "KQ92 AJ32 AK3 Q6", "S": "T4 Q8 T8752 AJ83", "W": "85 T9754 9 KT952"}, "E", False, False, -420), + ({"N": "T9 AQT874 Q4 AK8", "E": "AKQ6 K63 KJ8 542", "S": "73 952 976532 T7", "W": "J8542 J AT QJ963"}, "S", True, False, -400), + ({"N": "T76 J5 Q94 KQ985", "E": "Q9432 4 A8765 76", "S": "J5 K82 JT32 AJ32", "W": "AK8 AQT9763 K T4"}, "W", False, True, -650), + ({"N": "AQ 73 J875 98432", "E": "J863 QJ42 AQ4 Q5", "S": "T92 AT985 62 JT6", "W": "K754 K6 KT93 AK7"}, "N", False, False, -430), + ({"N": "Q95 98765 T6 A94", "E": "KJ84 2 AKQ854 T8", "S": "AT732 K 973 Q753", "W": "6 AQJT43 J2 KJ62"}, "E", True, False, -460), + ({"N": "7653 2 Q83 A8763", "E": "QT98 T6 T75 QJT2", "S": "AKJ4 KJ97 A2 954", "W": "2 AQ8543 KJ964 K"}, "S", False, True, 110), + ({"N": "KQT4 QJ765 J 952", "E": "J732 K92 A94 A63", "S": "96 AT843 KT832 K", "W": "A85 Q765 QJT874"}, "W", True, True, 200), + ({"N": "9873 975 T42 J54", "E": "AKQT AQ6 J96 A62", "S": "J6 JT8 Q85 QT973", "W": "542 K432 AK73 K8"}, "N", True, False, -1510), + ({"N": "T9542 T AJT4 Q85", "E": "Q863 Q98 K52 AK2", "S": "7 AK7654 Q JT963", "W": "AKJ J32 98763 74"}, "E", False, True, 110), + ({"N": "JT65 J94 T64 KQ8", "E": "Q9 KQ62 Q32 AT53", "S": "A43 A83 A87 7642", "W": "K872 T75 KJ95 J9"}, "S", True, True, -90), + ({"N": "KJ93 Q43 JT T986", "E": "T74 A986 A8532 2", "S": "A52 KJT7 74 QJ73", "W": "Q86 52 KQ96 AK54"}, "W", False, False, -120), + ({"N": "QJ J9543 72 T854", "E": "K9842 K J93 J763", "S": "AT73 87 KQT64 K9", "W": "65 AQT62 A85 AQ2"}, "N", False, True, -140), + ({"N": "Q92 A653 83 K874", "E": "AK754 872 752 QT", "S": "3 KQJT AJ964 A63", "W": "JT86 94 KQT J952"}, "E", True, True, 500), + ({"N": "64 JT95 T74 QT76", "E": "QT95 6 AQ85 AKJ3", "S": "K873 A87 KJ9632 ", "W": "AJ2 KQ432 98542"}, "S", False, False, -430), + ({"N": "Q9654 4 AQT4 AQ6", "E": "K32 J87 52 95432", "S": "7 AKQ9532 K6 J87", "W": "AJT8 T6 J9873 KT"}, "W", True, False, 1430), + ({"N": "KJT842 K76 Q862 ", "E": "Q75 953 AJ9 AJ54", "S": "A9 Q842 KT75 876", "W": "63 AJT 43 KQT932"}, "N", True, True, 500), + ({"N": "K862 A AQ92 J984", "E": "J T9876 J864 762", "S": "A74 KJ543 T75 Q3", "W": "QT953 Q2 K3 AKT5"}, "E", False, False, 120), + ({"N": "964 K A85432 A63", "E": "K8732 Q86 KQ7 T9", "S": "AJT5 A952 6 K542", "W": "Q JT743 JT9 QJ87"}, "S", True, False, 620), + ({"N": "AJ875 853 AKQ9 6", "E": "943 62 J7 AKJT84", "S": "62 AK9 86542 Q32", "W": "KQT QJT74 T3 975"}, "W", False, True, 420), + ({"N": "A632 72 KJ9765 J", "E": "J5 T6 A84 A87542", "S": "987 QJ53 Q32 T63", "W": "KQT4 AK984 T KQ9"}, "N", False, False, -920), + ({"N": "Q9842 842 T97 53", "E": "J76 AJ6 854 KQ86", "S": "A53 K753 J63 A97", "W": "KT QT9 AKQ2 JT42"}, "E", True, False, -130), + ({"N": "K95 J852 Q87 K94", "E": "432 A4 JT642 J65", "S": "QT76 KQT A AQT73", "W": "AJ8 9763 K953 82"}, "S", False, True, 430), + ({"N": "AKJ76 A976 J4 54", "E": "Q92 J42 KQT73 J7", "S": "T85 K53 A92 Q982", "W": "43 QT8 865 AKT63"}, "W", True, True, 110), + ({"N": "T72 K AKQJT4 T96", "E": "A943 Q65 965 832", "S": "J85 AJ73 82 KJ54", "W": "KQ6 T9842 73 AQ7"}, "N", True, False, 90), + ({"N": "AJ94 J4 8753 J93", "E": "873 AK7 AJ42 742", "S": "65 Q532 QT6 AQ65", "W": "KQT2 T986 K9 KT8"}, "E", False, True, -110), + ({"N": "J6 9762 J852 K93", "E": "985 AQJ83 4 J742", "S": "AQT4 T5 A63 AT85", "W": "K732 K4 KQT97 Q6"}, "S", True, True, -90), + ({"N": "Q7 K65 AQJ653 Q3", "E": "AT932 T72 T9 876", "S": "K654 943 8 AJ952", "W": "J8 AQJ8 K742 KT4"}, "W", False, False, 90), + ({"N": "QT7 QJ42 QT87 A2", "E": "J6542 T 964 KJ86", "S": " 8763 AKJ Q97543", "W": "AK983 AK95 532 T"}, "N", False, True, 110), + ({"N": "Q986 T875 K72 K7", "E": "3 KQ9 A6543 9864", "S": "KJ54 A32 J98 AQ2", "W": "AT72 J64 QT JT53"}, "E", True, True, 120), + ({"N": "Q AK87 QT72 9532", "E": "97 Q3 AK654 AT86", "S": "AKT853 962 J3 K4", "W": "J642 JT54 98 QJ7"}, "S", False, False, 110), + ({"N": "J653 963 AK73 Q9", "E": "AQ8 Q7 QT85 JT76", "S": "72 KJT542 9 K852", "W": "KT94 A8 J642 A43"}, "W", True, False, 140), + ({"N": "KT43 Q9 A95 QT84", "E": "A652 7432 T42 93", "S": "J 85 KQJ86 AJ762", "W": "Q987 AKJT6 73 K5"}, "N", True, True, -140), + ({"N": "QJ86 J8 K84 T653", "E": "K5 Q97 QJ62 QJ87", "S": "T943 A542 A9 AK2", "W": "A72 KT63 T753 94"}, "E", False, False, 110), + ({"N": "T74 AJ5 763 AK82", "E": "KJ65 QT84 K8 653", "S": "A3 63 AQ542 QJT9", "W": "Q982 K972 JT9 74"}, "S", True, False, 600), + ({"N": "5 QJ532 JT4 AQJ3", "E": "KQJT98 T96 K75 9", "S": "A7632 K7 Q8 KT74", "W": "4 A84 A9632 8652"}, "W", False, True, 130), + ({"N": "765 QJ62 K4 AK32", "E": "A AKT4 AT832 J85", "S": "KQJ84 985 Q96 T4", "W": "T932 73 J75 Q976"}, "N", False, False, -110), + ({"N": "T95 Q953 A842 74", "E": "Q8 AJ8 93 AK9532", "S": "A7632 KT42 JT QT", "W": "KJ4 76 KQ765 J86"}, "E", True, False, -130), + ({"N": "J962 QT7 532 KT5", "E": "K843 4 98 J98743", "S": "A75 KJ985 K76 A6", "W": "QT A632 AQJT4 Q2"}, "S", False, True, -100), + ({"N": "AJ6 J53 532 JT43", "E": "953 A87 AKQ6 AQ5", "S": "K742 Q94 97 K872", "W": "QT8 KT62 JT84 96"}, "W", True, True, -110), + ({"N": "KT J6532 762 964", "E": "A7652 AQT J853 A", "S": "QJ3 K98 KT9 8532", "W": "984 74 AQ4 KQJT7"}, "N", True, False, -460), + ({"N": "KT52 QJ982 9 752", "E": "A864 AT76 Q5 T93", "S": "QJ973 43 KJ2 KQ8", "W": " K5 AT87643 AJ64"}, "E", False, True, -600), + ({"N": "Q97 K987 QJ743 3", "E": "A4 QJT6 KT62 A86", "S": "JT2 3 A98 KJT972", "W": "K8653 A542 5 Q54"}, "S", True, True, -620), + ({"N": "A9763 A64 KQ5 Q4", "E": "KQ42 KT8 T976 96", "S": "T5 7 J432 AKT753", "W": "J8 QJ9532 A8 J82"}, "W", False, False, 400), + ({"N": "98543 A97 K74 K2", "E": "AKQT2 J653 T9 93", "S": "76 KT4 J8 JT8754", "W": "J Q82 AQ6532 AQ6"}, "N", False, True, -140), + ({"N": "6 952 JT976432 4", "E": "KT52 J743 K5 Q72", "S": "AJ7 AQ8 AKJT986", "W": "Q9843 KT6 AQ8 53"}, "E", True, True, 130), + ({"N": "8752 43 Q52 KJ94", "E": "JT4 QT9 AKT97 A5", "S": "AKQ6 KJ72 864 Q2", "W": "93 A865 J3 T8763"}, "S", False, False, -100), + ({"N": "T42 74 KQ9876 J3", "E": "9873 62 AT3 Q965", "S": "AK KQT83 2 KT872", "W": "QJ65 AJ95 J54 A4"}, "W", True, False, 90), + ({"N": "AQ7 AT43 9432 K9", "E": "43 K76 AKT8 Q872", "S": "K652 J52 J76 AJT", "W": "JT98 Q98 Q5 6543"}, "N", True, True, 90), + ({"N": "AQT62 AQ K52 A52", "E": "98 53 QT9 KQJ983", "S": "KJ74 KJ98642 83 ", "W": "53 T7 AJ764 T764"}, "E", False, False, 990), + ({"N": "AT63 AT9 K96 T86", "E": "542 J873 JT4 A43", "S": "9 KQ642 A832 952", "W": "KQJ87 5 Q75 KQJ7"}, "S", True, False, 140), + ({"N": "T84 T93 K92 JT32", "E": "KJ76 KJ542 87 K6", "S": "Q52 AQ876 AQJ6 9", "W": "A93 T543 AQ8754"}, "W", False, True, -100), + ({"N": "763 J765 K3 9432", "E": "KT AKT2 765 KT76", "S": "AJ954 843 AJT J8", "W": "Q82 Q9 Q9842 AQ5"}, "N", False, False, -400), + ({"N": "J43 AJ4 T3 QT982", "E": "AK975 Q6 QJ6 J53", "S": "T86 K85 9852 AK4", "W": "Q2 T9732 AK74 76"}, "E", True, False, -140), + ({"N": "AJ54 QT6 T942 76", "E": "T73 J752 AQJ3 T3", "S": "K62 83 K765 AJ95", "W": "Q98 AK94 8 KQ842"}, "S", False, True, -100), + ({"N": "KT863 A72 KJT92 ", "E": "AQ942 QJ6 754 K9", "S": "J7 93 A83 AJ7543", "W": "5 KT854 Q6 QT862"}, "W", True, True, 140), + ({"N": "AK A975 AK974 53", "E": "J983 J43 J6 T942", "S": "654 Q8 Q2 AKJ876", "W": "QT72 KT62 T853 Q"}, "N", True, False, 1440), + ({"N": "K73 J32 62 AKT73", "E": "98 AT76 KQT83 J6", "S": "AT4 K84 J975 842", "W": "QJ652 Q95 A4 Q95"}, "E", False, True, -110), + ({"N": "85 A6 K85432 KT6", "E": "QJ43 Q942 AQ7 98", "S": "AKT7 875 9 AQJ54", "W": "962 KJT3 JT6 732"}, "S", True, True, 600), + ({"N": "KT7 954 KQT72 86", "E": "5 AKJ7 AJ AQJ753", "S": "QJ98 862 854 T92", "W": "A6432 QT3 963 K4"}, "W", False, False, -1510), + ({"N": "A98762 T92 75 J2", "E": "K J76 A862 Q9853", "S": "T54 AKQ53 943 64", "W": "QJ3 84 KQJT AKT7"}, "N", False, True, -130), + ({"N": "KT 98 QT986 AKT4", "E": "Q86 KQJ54 A43 98", "S": "9742 T3 K72 QJ63", "W": "AJ53 A762 J5 752"}, "E", True, True, -140), + ({"N": "AQ5 AQ6 K963 854", "E": "9743 4 QJT5 A762", "S": "KT6 T8753 842 QT", "W": "J82 KJ92 A7 KJ93"}, "S", False, False, 100), + ({"N": "J6 AJT J97 AT832", "E": "42 986432 K52 76", "S": "975 KQ5 83 KQJ94", "W": "AKQT83 7 AQT64 5"}, "W", True, False, -450), + ({"N": "KQ73 QJ74 943 K4", "E": "A654 5 QT872 A73", "S": "T2 AKT62 KJ5 J98", "W": "J98 983 A6 QT652"}, "N", True, True, 140), + ({"N": "Q7 T2 QJT852 K83", "E": "K3 KQ65 K76 QT64", "S": "T42 874 A4 J9752", "W": "AJ9865 AJ93 93 A"}, "E", False, False, -980), + ({"N": "KQ9864 QJT97 A Q", "E": "73 K85 QJ76 K965", "S": "AJ5 432 K984 AT7", "W": "T2 A6 T532 J8432"}, "S", True, False, 650), + ({"N": "T98 762 JT972 K7", "E": "AKQ3 QJ3 AK J652", "S": "J64 T85 Q8654 AT", "W": "752 AK94 3 Q9843"}, "W", False, True, -650), + ({"N": "QT84 AT5 8652 96", "E": "K7532 Q2 A9 QT73", "S": "J96 J876 Q7 AKJ4", "W": "A K943 KJT43 852"}, "N", False, False, -120), + ({"N": "52 AKQJ98654 63", "E": "6 AT643 T7 KQ975", "S": "J9843 QJ72 32 A4", "W": "AKQT7 K985 JT82"}, "E", True, False, -450), + ({"N": "AQ974 54 A853 72", "E": "JT8 KJ 64 QJ9843", "S": "K6532 T96 KT2 K5", "W": " AQ8732 QJ97 AT6"}, "S", False, True, -500), + ({"N": "T652 8 AQT93 A42", "E": "QJ3 J9765 765 73", "S": "9 AKT32 J842 QT6", "W": "AK874 Q4 K KJ985"}, "W", True, True, 600), + ({"N": "Q982 Q842 83 QJ8", "E": "K7 AKT96 AK62 A5", "S": "AJ543 53 QJ KT93", "W": "T6 J7 T9754 7642"}, "N", True, False, -920), + ({"N": "KQ76 Q 9874 Q974", "E": "984 AKT54 AKT 86", "S": "A52 J62 653 AKT5", "W": "JT3 9873 QJ2 J32"}, "E", False, True, 120), + ({"N": "KT854 J65 T3 QJT", "E": "Q A9 AQJ8652 A74", "S": "AJ73 742 K7 K986", "W": "962 KQT83 94 532"}, "S", True, True, -130), + ({"N": "763 96 T7643 K72", "E": "98 J872 AK2 J643", "S": "Q2 AKQ3 J85 AQT5", "W": "AKJT54 T54 Q9 98"}, "W", False, False, -110), + ({"N": "AK6543 A76 QT 53", "E": " T83 K9876 AQ874", "S": "JT9 J54 A42 KJT9", "W": "Q872 KQ92 J53 62"}, "N", False, True, 420), + ({"N": "K8 986 J7542 AT3", "E": "T4 K42 AT98 J854", "S": "AQ AQJ753 K3 KQ7", "W": "J976532 T Q6 962"}, "E", True, True, 1440), + ({"N": "AKQ52 K6 QJ5 843", "E": "J98 AQT853 T3 96", "S": "T73 9742 942 QT7", "W": "64 J AK876 AKJ52"}, "S", False, False, -420), + ({"N": "93 AQT4 A743 KJ2", "E": "T864 K53 862 T83", "S": "Q752 J86 QJT9 A4", "W": "AKJ 972 K5 Q9765"}, "W", True, False, 620), + ({"N": "KJ63 82 A9743 K2", "E": "T82 KQJ QJ5 QT63", "S": "Q5 T7643 K2 J875", "W": "A974 A95 T86 A94"}, "N", True, True, -90), + ({"N": "QJ732 K AQ32 J53", "E": "AKT QJ9874 J76 A", "S": "864 K985 KQ9864", "W": "95 AT6532 T4 T72"}, "E", False, False, -300), + ({"N": "AK96 K85 K32 743", "E": "QJT75 Q643 7 852", "S": "82 AJ2 QT54 AKJ9", "W": "43 T97 AJ986 QT6"}, "S", True, False, 630), + ({"N": "Q96 73 AT843 AT8", "E": "J4 A965 J52 K964", "S": "752 T84 KQ76 532", "W": "AKT83 KQJ2 9 QJ7"}, "W", False, True, -650), + ({"N": "Q742 8642 Q752 3", "E": "K6 JT5 A96 QT765", "S": "J3 AQ9 KJT83 J98", "W": "AT985 K73 4 AK42"}, "N", False, False, -920), + ({"N": "KT43 AT86 QT86 6", "E": "9762 J74 AJ7 854", "S": "J85 953 K54 T972", "W": "AQ KQ2 932 AKQJ3"}, "E", True, False, -400), + ({"N": "JT85 QJ97 Q86 84", "E": "A963 K864 J94 KQ", "S": "Q 32 T7532 A9632", "W": "K742 AT5 AK JT75"}, "S", False, True, -630), + ({"N": "AQT8752 Q2 Q43 A", "E": "J964 J764 KJ2 86", "S": "3 AKT AT9865 Q95", "W": "K 9853 7 KJT7432"}, "W", True, True, 1370), + ({"N": "J943 T87 T72 Q84", "E": "A5 A642 AK953 K5", "S": "KT82 95 J64 A963", "W": "Q76 KQJ3 Q8 JT72"}, "N", True, False, -980), + ({"N": "8 96 AT752 A9653", "E": "QT42 A82 KQ QT74", "S": "AK953 KQT74 43 8", "W": "J76 J53 J986 KJ2"}, "E", False, True, 140), + ({"N": "KJ6 K82 Q5 JT732", "E": "53 AJ74 3 AQ9854", "S": "QT974 Q9 AKJ94 K", "W": "A82 T653 T8762 6"}, "S", True, True, 140), + ({"N": "QT8 J62 5 AQJ542", "E": "A72 85 A9643 T96", "S": "K AQT94 JT72 K87", "W": "J96543 K73 KQ8 3"}, "W", False, False, 100), + ({"N": "K64 K98 9743 Q98", "E": "A5 AQ542 J8 AJ64", "S": "T973 J63 T62 T72", "W": "QJ82 T7 AKQ5 K53"}, "N", False, True, -2140), + ({"N": "K7 KQ987 A42 KQ6", "E": "AQJ4 52 Q953 975", "S": "T82 AT63 J86 J82", "W": "9653 J4 KT7 AT43"}, "E", True, True, -110), + ({"N": "A AKT963 T97 AT2", "E": "KQ95 QJ Q6532 85", "S": "T642 4 KJ84 Q973", "W": "J873 8752 A KJ64"}, "S", False, False, 450), + ({"N": "KT85 T73 AK AQ65", "E": "Q63 862 Q654 J97", "S": "972 QJ95 82 K832", "W": "AJ4 AK4 JT973 T4"}, "W", True, False, 140), + ({"N": "KQT95 QJT K8 K65", "E": "4 K2 AQT75 QT432", "S": "J872 A9864 9 J87", "W": "A63 753 J6432 A9"}, "N", True, True, -130), + ({"N": "Q5 864 AT432 Q98", "E": "A3 JT52 K95 JT32", "S": "T874 K973 J86 75", "W": "KJ962 AQ Q7 AK64"}, "E", False, False, -430), + ({"N": "AKT J76 KJT75 J6", "E": "Q754 832 Q3 KQ74", "S": "863 AQT A9642 T5", "W": "J92 K954 8 A9832"}, "S", True, False, 110), + ({"N": "T2 QT942 J965 T3", "E": "K53 A K72 KQ9765", "S": "AQJ764 K763 Q8 A", "W": "98 J85 AT43 J842"}, "W", False, True, 420), + ({"N": "KT9753 7 732 QT8", "E": "J642 T3 AQT64 J9", "S": "AQ8 Q942 KJ9 K53", "W": " AKJ865 85 A7642"}, "N", False, False, -100), + ({"N": "64 T764 952 AJ53", "E": "J87 KJ5 76 K9642", "S": "Q52 AQ8 AKT43 Q8", "W": "AKT93 932 QJ8 T7"}, "E", True, False, 100), + ({"N": "Q832 J87 AT72 97", "E": "T5 Q952 543 K863", "S": "KJ9 AT K6 AQJT42", "W": "A764 K643 QJ98 5"}, "S", False, True, 430), + ({"N": "AKJ QT863 Q854 3", "E": "98 AK974 AJ6 987", "S": "QT632 J KT32 KJ2", "W": "754 52 97 AQT654"}, "W", True, True, 140), + ({"N": "9876 432 J74 QT5", "E": "532 Q5 QT3 AK843", "S": "AT4 AK86 952 J96", "W": "KQJ JT97 AK86 72"}, "N", True, False, -420), + ({"N": "Q864 K85 A6 T532", "E": "K5 J976 Q975 J98", "S": "973 QT432 JT42 6", "W": "AJT2 A K83 AKQ74"}, "E", False, True, -1370), + ({"N": "AJ2 A9853 A8543", "E": "KQ76543 K QJT3 7", "S": "T9 J7642 AK8 KJT", "W": "8 QT 976542 Q962"}, "S", True, True, 1400), + ({"N": "T962 AKT3 52 Q86", "E": "A Q642 KT3 AJ742", "S": "K843 J975 Q87 T3", "W": "QJ75 8 AJ964 K95"}, "W", False, False, -920), + ({"N": "J6 AKQ32 K Q9832", "E": "AQ72 87 AQJ7 A64", "S": "K53 J96 T8653 J7", "W": "T984 T54 942 KT5"}, "N", False, True, -140), + ({"N": "KJ97 T3 AT632 74", "E": "532 A92 K7 AKJ86", "S": "AQT6 J65 QJ T932", "W": "84 KQ874 9854 Q5"}, "E", True, True, -500), + ({"N": "865 JT9 AKJT974 ", "E": "KT93 K632 65 K53", "S": "AQ4 AQ4 Q3 T9872", "W": "J72 875 82 AQJ64"}, "S", False, False, 920), + ({"N": "KJ985 KQ7 3 Q982", "E": "Q2 J652 A62 AT74", "S": "A64 T QT987 KJ63", "W": "T73 A9843 KJ54 5"}, "W", True, False, -140), + ({"N": "Q8 AKQJ532 5 QT2", "E": "J9764 984 42 A94", "S": "AK5 7 T763 87653", "W": "T32 T6 AKQJ98 KJ"}, "N", True, True, 140), + ({"N": "K95 Q4 AK953 T95", "E": "J82 JT72 T64 A63", "S": "A763 K96 Q87 KJ4", "W": "QT4 A853 J2 Q872"}, "E", False, False, 400), + ({"N": "AQJT7 T32 A42 K8", "E": "862 Q964 QT8 J97", "S": "43 KJ7 K753 AT53", "W": "K95 A85 J96 Q642"}, "S", True, False, 650), + ({"N": "QJT962 T65 J7 KQ", "E": "K53 J4 K95 AJ654", "S": "4 AQ72 QT42 8732", "W": "A87 K983 A863 T9"}, "W", False, True, -120), + ({"N": "K975 JT A865 T98", "E": "J84 Q94 KQT7 K52", "S": "A2 K76532 9 QJ73", "W": "QT63 A8 J432 A64"}, "N", False, False, 140), + ({"N": "3 QJ4 98543 9876", "E": "QJT98764 7 J QT3", "S": "K52 AT52 AKT72 4", "W": "A K9863 Q6 AKJ52"}, "E", True, False, -200), + ({"N": "A8764 97 T94 QT2", "E": "J3 QJT865 J53 KJ", "S": "T9 AK4 8762 A975", "W": "KQ52 32 AKQ 8643"}, "S", False, True, -140), + ({"N": "K987 K86 J5 J864", "E": "AJT AQT AQ4 9752", "S": "6543 97 K632 AQ3", "W": "Q2 J5432 T987 KT"}, "W", True, True, -650), + ({"N": "T8 QT73 J5 AKT92", "E": "7643 A54 T74 J64", "S": "KJ952 6 AQ96 753", "W": "AQ KJ982 K832 Q8"}, "N", True, False, 110), + ({"N": "A975 AK32 AT A93", "E": "K6 Q9875 K98 872", "S": "QT43 6 J63 KQT65", "W": "J82 JT4 Q7542 J4"}, "E", False, True, 460), + ({"N": "752 J82 KQJ2 A54", "E": "KQJ43 KQT5 6 872", "S": "T6 943 AT754 K63", "W": "A98 A76 983 QJT9"}, "S", True, True, -620), + ({"N": "JT43 KT962 K932", "E": "AK7 QT32 J543 Q8", "S": "965 AJ975 Q8 AJ5", "W": "Q82 K864 A7 T764"}, "W", False, False, 100), + ({"N": "Q94 82 J952 QJ86", "E": "AT73 A73 A87 T74", "S": "K52 T954 64 A952", "W": "J86 KQJ6 KQT3 K3"}, "N", False, True, -650), + ({"N": "AQ2 Q83 8762 AK3", "E": "543 J965 AK Q976", "S": "986 A42 95 T8542", "W": "KJT7 KT7 QJT43 J"}, "E", True, True, -90), + ({"N": "K865 K94 K6 AQ42", "E": "QT73 875 75 9753", "S": "94 A632 AQ92 KJ6", "W": "AJ2 QJT JT843 T8"}, "S", False, False, 460), + ({"N": "AJ6 AQ3 AT6 Q963", "E": "K872 T54 953 542", "S": "Q543 KJ92 KJ874 ", "W": "T9 876 Q2 AKJT87"}, "W", True, False, 1430), + ({"N": "98642 9842 K5 74", "E": "AJT5 Q75 72 AQT8", "S": "K KJT6 AQT93 KJ6", "W": "Q73 A3 J864 9532"}, "N", True, True, 110), + ({"N": "AJ93 JT754 8 Q54", "E": "Q4 K986 KJT7 J92", "S": "6 32 Q96543 KT63", "W": "KT8752 AQ A2 A87"}, "E", False, False, -400), + ({"N": "QT5 AK3 J98 Q752", "E": "AKJ87 98652 652 ", "S": "9432 QT7 AQT3 A8", "W": "6 J4 K74 KJT9643"}, "S", True, False, 120), + ({"N": "AQJ76 95 43 AQ32", "E": "952 T2 K65 T9876", "S": "T843 AK873 JT7 J", "W": "K QJ64 AQ982 K54"}, "W", False, True, 450), + ({"N": "T7 AKJ9 A4 KT542", "E": "98 QT2 KJT63 A76", "S": "QJ65 863 9872 Q9", "W": "AK432 754 Q5 J83"}, "N", False, False, 80), + ({"N": "K953 T962 T7 KQT", "E": "AQT KQ85 Q 98543", "S": "84 A743 A98532 6", "W": "J762 J KJ64 AJ72"}, "E", True, False, -400), + ({"N": "AQT5 A52 J AK962", "E": "J6 4 A9872 J8543", "S": "K982 Q8 KQ6543 7", "W": "743 KJT9763 T QT"}, "S", False, True, 450), + ({"N": "KT 9764 K853 K95", "E": "AJ KJ3 AJ2 AQ742", "S": "Q742 AQT5 T4 JT3", "W": "98653 82 Q976 86"}, "W", True, True, -140), + ({"N": "AQ754 A2 4 A9542", "E": "963 JT4 KQT83 T7", "S": "T2 KQ9853 A975 6", "W": "KJ8 76 J62 KQJ83"}, "N", True, False, 1430), + ({"N": "QT QT54 AQ85 K84", "E": "763 A KT76 AT753", "S": "AJ952 KJ986 J4 9", "W": "K84 732 932 QJ62"}, "E", False, True, 420), + ({"N": "84 862 AK98 QT64", "E": "Q532 A7 T432 983", "S": "KT96 KQ53 J765 7", "W": "AJ7 JT94 Q AKJ52"}, "S", True, True, 90), + ({"N": "AJ8 64 96432 J65", "E": "Q642 T9 AJ AT872", "S": "T93 AKJ872 T7 Q3", "W": "K75 Q53 KQ85 K94"}, "W", False, False, -110), + ({"N": "QT6 853 J872 T82", "E": "K93 AKQ92 K96 65", "S": "AJ7 T764 A3 AKQ4", "W": "8542 J QT54 J973"}, "N", False, True, -90), + ({"N": "QJ93 AJ2 QJ A932", "E": "A6 K965 T2 K8754", "S": "K8742 T74 K84 JT", "W": "T5 Q83 A97653 Q6"}, "E", True, True, 500), + ({"N": "Q753 K53 AKT7 54", "E": "A86 A9876 654 82", "S": "2 QJ2 QJ93 AKJ96", "W": "KJT94 T4 82 QT73"}, "S", False, False, 400), + ({"N": "AJT7 K6 AT76 J53", "E": "92 Q9742 QJ82 97", "S": "8643 AT5 K3 Q842", "W": "KQ5 J83 954 AKT6"}, "W", True, False, 140), + ({"N": "AKT 4 K87 A98732", "E": "Q83 Q98 9432 KQ5", "S": "65 KT763 QJT6 J6", "W": "J9742 AJ52 A5 T4"}, "N", True, True, 110), + ({"N": "53 KQ87 K42 AT95", "E": "762 6532 T95 Q32", "S": "KQJT84 T AQ87 K8", "W": "A9 AJ94 J63 J764"}, "E", False, False, 460), + ({"N": "J64 653 QT5 J982", "E": "K8 QJT 976 AT753", "S": "952 K972 AK84 Q6", "W": "AQT73 A84 J32 K4"}, "S", True, False, -420), + ({"N": "JT4 QJ876 752 97", "E": "983 A93 K4 QT432", "S": "7652 K42 Q98 A65", "W": "AKQ T5 AJT63 KJ8"}, "W", False, True, -630), + ({"N": "J4 T74 A42 KT943", "E": "32 Q85 KQT6 QJ76", "S": "A98 962 J987 A52", "W": "KQT765 AKJ3 53 8"}, "N", False, False, -420), + ({"N": "A6 J8652 A932 T2", "E": "T7542 K43 J54 J4", "S": "KQJ8 AQ97 K Q973", "W": "93 T QT876 AK865"}, "E", True, False, 660), + ({"N": "62 J6 AQJ854 AQ8", "E": "T4 KQ8532 T KJT3", "S": "Q873 A94 762 972", "W": "AKJ95 T7 K93 654"}, "S", False, True, -140), + ({"N": "A85 63 AKQ7 AJT3", "E": "94 AJ42 982 Q954", "S": "QJT762 KQ95 4 62", "W": "K3 T87 JT653 K87"}, "W", True, True, 1430), + ({"N": "QJ876 J73 742 43", "E": "AT32 64 853 AJ95", "S": "K4 AKQ52 AKT96 Q", "W": "95 T98 QJ KT8762"}, "N", True, False, 650), + ({"N": "54 T8642 J5 J983", "E": "AKQT97 93 8632 4", "S": "3 QJ5 Q94 AKQ765", "W": "J862 AK7 AKT7 T2"}, "E", False, True, -650), + ({"N": "763 A42 Q63 Q986", "E": "KQT T9 JT9875 T4", "S": "J542 J8763 A4 A5", "W": "A98 KQ5 K2 KJ732"}, "S", True, True, -110), + ({"N": "KQ9653 Q8 AK963", "E": "4 QJT732 J532 T2", "S": "AT72 A86 AK Q754", "W": "J8 K954 T9764 J8"}, "W", False, False, 1520), + ({"N": "QJ732 KQ3 4 KT62", "E": "K8 874 Q96 AJ874", "S": " AJT92 AJT52 Q95", "W": "AT9654 65 K873 3"}, "N", False, True, 420), + ({"N": "AT95 53 AKJ7 T53", "E": "KQ AK974 62 KJ82", "S": "84 J62 98543 AQ4", "W": "J7632 QT8 QT 976"}, "E", True, True, 120), + ({"N": "AQ965 65 J3 KQ83", "E": "3 QT97 Q9865 962", "S": "KT82 AJ842 T4 T7", "W": "J74 K3 AK72 AJ54"}, "S", False, False, 100), + ({"N": "AKQT87 K6 J64 K3", "E": "64 A7 KQ972 AQJ7", "S": "93 QJ943 AT T942", "W": "J52 T852 853 865"}, "W", True, False, 500), + ({"N": "Q3 KT654 T4 J432", "E": "A2 AQJ98 Q52 965", "S": "KT8764 7 983 KT7", "W": "J95 32 AKJ76 AQ8"}, "N", True, True, -1440), + ({"N": "A964 943 KJT T85", "E": "QJT73 KJ82 A54 3", "S": "85 T 962 AQJ9642", "W": "K2 AQ765 Q873 K7"}, "E", False, False, -300), + ({"N": "AJ8 64 J654 KQ63", "E": "T65 KQT7 K973 J7", "S": "KQ73 53 82 AT985", "W": "942 AJ982 AQT 42"}, "S", True, False, 140), + ({"N": "AJ6543 8 K542 Q4", "E": "KT Q7652 Q93 732", "S": "98 KJ3 A76 AJT95", "W": "Q72 AT94 JT8 K86"}, "W", False, True, 140), + ({"N": "KJ9654 QJ7 J642", "E": "2 AK53 AQJ3 KT73", "S": "T3 98 KT972 AQ85", "W": "AQ87 T642 8654 9"}, "N", False, False, -100), + ({"N": "5 JT952 JT82 874", "E": "982 Q763 643 AT6", "S": "AKQJ63 A8 AK7 K2", "W": "T74 K4 Q95 QJ953"}, "E", True, False, 630), + ({"N": "983 32 J8754 954", "E": "KJ52 AKT32 T872", "S": "QT64 AJ864 6 AJ3", "W": "A7 KQT975 Q9 KQ6"}, "S", False, True, -630), + ({"N": "AKT3 K3 AQT7 932", "E": "84 J987 J965 KT5", "S": "QJ965 T K42 Q764", "W": "72 AQ6542 83 AJ8"}, "W", True, True, 500), + ({"N": "52 632 JT9532 J4", "E": "K3 A87 A876 AK95", "S": "T9 KQ954 K4 T863", "W": "AQJ8764 JT Q Q72"}, "N", True, False, -1520), + ({"N": "AK8642 QT73 J87", "E": "Q7 T98654 K986 T", "S": "J9 KQJ72 AJ42 Q6", "W": "T53 A3 5 AK95432"}, "E", False, True, 420), + ({"N": "JT985 T9 63 9875", "E": "Q643 J63 75 JT43", "S": "K AK752 KQT94 K2", "W": "A72 Q84 AJ82 AQ6"}, "S", True, True, -120), + ({"N": "84 J976 AQT AK74", "E": "2 KT854 7652 T92", "S": "J976 Q2 J3 QJ853", "W": "AKQT53 A3 K984 6"}, "W", False, False, -100), + ({"N": "QT5 AK98643 9 53", "E": "A83 QT72 76543 Q", "S": "962 J5 AK2 KJT98", "W": "KJ74 QJT8 A7642"}, "N", False, True, -100), + ({"N": "5 732 AT986432 3", "E": "AQ43 KJT84 7 A62", "S": "KJ9876 AQ65 J5 J", "W": "T2 9 KQ KQT98754"}, "E", True, True, -500), + ({"N": "853 AJT5 J6 AQT8", "E": "J72 K9842 KT7 73", "S": "KQT94 Q 842 KJ54", "W": "A6 763 AQ953 962"}, "S", False, False, 420), + ({"N": "AQ4 KJ43 J93 K86", "E": "K98752 Q8 K876 Q", "S": "T AT A52 JT75432", "W": "J63 97652 QT4 A9"}, "W", True, False, 600), + ({"N": "63 JT8752 6 J872", "E": "AQJ72 K6 J92 KQT", "S": "T9 94 AQT754 654", "W": "K854 AQ3 K83 A93"}, "N", True, True, -1440), + ({"N": "765 K964 KT63 J2", "E": "Q9 53 QJ85 AQ853", "S": "AJ83 AQJ87 74 K9", "W": "KT42 T2 A92 T764"}, "E", False, False, 140), + ({"N": "KT8 T54 J95 K753", "E": "J 863 AKQ8762 QJ", "S": "A532 Q9 4 AT9642", "W": "Q9764 AKJ72 T3 8"}, "S", True, False, -450), + ({"N": "T98653 9754 KJ3 ", "E": "AK74 J2 Q8 QT852", "S": "J2 AKQT T765 963", "W": "Q 863 A942 AKJ74"}, "W", False, True, -500), + ({"N": "J972 AJT5 J92 54", "E": "4 7 K8765 AQJ983", "S": "KQT865 K862 3 72", "W": "A3 Q943 AQT4 KT6"}, "N", False, False, -500), + ({"N": "AQ AK86 Q853 T95", "E": "JT874 Q95 K74 63", "S": "K532 43 A96 J842", "W": "96 JT72 JT2 AKQ7"}, "E", True, False, 90), + ({"N": "J9832 J64 53 QJ6", "E": "QT764 K3 K962 T3", "S": "5 AT987 QT7 AK94", "W": "AK Q52 AJ84 8752"}, "S", False, True, -100), + ({"N": "J4 KQT83 AQ KT64", "E": "AT95 4 97543 J87", "S": "2 A652 KJT86 A52", "W": "KQ8763 J97 2 Q93"}, "W", True, True, 800), + ({"N": "84 AQJ87653 A9 9", "E": "97 9 Q753 KJT762", "S": "KQ 2 KJT642 A843", "W": "AJT6532 KT4 8 Q5"}, "N", True, False, 650), + ({"N": "T5 T532 8 Q97643", "E": "932 876 T953 AJ5", "S": "J86 9 AKQJ762 K8", "W": "AKQ74 AKQJ4 4 T2"}, "E", False, True, -650), + ({"N": "J3 Q64 QJ2 K9873", "E": "AQT9876 KT3 T5 2", "S": "K5 A5 AK8643 T64", "W": "42 J9872 97 AQJ5"}, "S", True, True, 500), + ({"N": "52 KQ95 T2 KJT74", "E": "AT873 4 AKQJ AQ6", "S": "94 J8763 875 832", "W": "KQJ6 AT2 9643 95"}, "W", False, False, -1510), + ({"N": "T87 6 93 AQJ9864", "E": "J93 AT97 J65 KT3", "S": "Q4 QJ854 AK42 75", "W": "AK652 K32 QT87 2"}, "N", False, True, -140), + ({"N": "J AK6 KT63 T9875", "E": "T96 QJ72 54 AQ63", "S": "Q8432 T84 Q97 K2", "W": "AK75 953 AJ82 J4"}, "E", True, True, -90), + ({"N": "AK964 Q9 65 9764", "E": "875 KT62 J872 JT", "S": "J32 AJ75 Q4 KQ83", "W": "QT 843 AKT93 A52"}, "S", False, False, 420), + ({"N": "A AQ643 K9853 K3", "E": "QJ75 JT92 AQ A52", "S": "T8 K87 JT6 J9874", "W": "K96432 5 742 QT6"}, "W", True, False, -420), + ({"N": "9753 532 J8 KT54", "E": "AKJ86 AK87 64 QJ", "S": "QT QJT94 9732 A7", "W": "42 6 AKQT5 98632"}, "N", True, True, -630), + ({"N": "A75 T5 QT963 QT6", "E": "J3 QJ72 A542 KJ7", "S": "KQ42 83 J8 A8543", "W": "T986 AK964 K7 92"}, "E", False, False, -420), + ({"N": "Q Q94 AKJT832 K7", "E": "K632 J6532 AJ32", "S": "AJT9 AKT8 94 Q96", "W": "8754 7 Q765 T854"}, "S", True, False, 1440), + ({"N": "A9832 J75 QT9 43", "E": "KQ AT93 7 KJT862", "S": "65 864 J54 AQ975", "W": "JT74 KQ2 AK8632 "}, "W", False, True, -650), + ({"N": "KT6 K 753 AQJT76", "E": "QJ875 874 QJT9 4", "S": "94 AQT9652 2 K85", "W": "A32 J3 AK864 932"}, "N", False, False, 450), + ({"N": "J653 AJ93 T92 65", "E": "K94 85 QJ73 AKT2", "S": "AT8 Q7642 A4 743", "W": "Q72 KT K865 QJ98"}, "E", True, False, 140), + ({"N": "Q43 Q94 AQ9 AQJ6", "E": "65 8765 T743 K32", "S": "AT98 J2 KJ8 9874", "W": "KJ72 AKT3 652 T5"}, "S", False, True, 120), + ({"N": "J8543 632 98 K97", "E": "KQ62 QJ54 763 QT", "S": "T9 K98 KJ52 8542", "W": "A7 AT7 AQT4 AJ63"}, "W", True, True, -1440), + ({"N": "AKJT64 QT8 AJ3 2", "E": "Q52 J742 Q965 K4", "S": "983 K9653 T A976", "W": "7 A K8742 QJT853"}, "N", True, False, 500), + ({"N": "KQT75 A QJ4 T965", "E": "3 Q853 93 AKQ843", "S": "62 JT72 KT765 J2", "W": "AJ984 K964 A82 7"}, "E", False, True, -620), + ({"N": "A82 KJ9 KQ53 T42", "E": "J96 AQT62 976 95", "S": "7543 743 J82 863", "W": "KQT 85 AT4 AKQJ7"}, "S", True, True, -1430), + ({"N": "Q73 KQ842 K54 72", "E": "J54 7 AQJ6 KQJT9", "S": "AKT82 AJ 872 864", "W": "96 T9653 T93 A53"}, "W", False, False, -100), + ({"N": "632 QT983 A7 Q74", "E": "J84 AK7 KQT AJ32", "S": "AQT5 54 J9653 K6", "W": "K97 J62 842 T985"}, "N", False, True, 110), + ({"N": "T8532 AQJ3 K3 K4", "E": "AQJ7 T74 AJ9842 ", "S": "K9 K T765 QT7632", "W": "64 98652 Q AJ985"}, "E", True, True, 90), + ({"N": "Q7 A84 AKQJ7 K64", "E": "J9 T9 6432 QJ975", "S": "K6532 KQJ6 985 T", "W": "AT84 7532 T A832"}, "S", False, False, 430), + ({"N": "8 A86 J987643 JT", "E": "K76432 2 T2 8654", "S": "QJT5 KJT AK5 732", "W": "A9 Q97543 Q AKQ9"}, "W", True, False, 100), + ({"N": "52 653 AQJT73 62", "E": "Q6 AK974 65 A943", "S": "KT43 Q82 K KQT75", "W": "AJ987 JT 9842 J8"}, "N", True, True, -110), + ({"N": "A9 AQT4 AJ86 542", "E": "Q83 7653 KT2 KT7", "S": "T642 J98 Q73 AJ3", "W": "KJ75 K2 954 Q986"}, "E", False, False, 400), + ({"N": "K2 32 AT72 JT543", "E": "QT6 J54 KQJ654 8", "S": "AJ87 876 AKQ972", "W": "9543 AKQT9 983 6"}, "S", True, False, 600), + ({"N": "T9862 K85 AK43 A", "E": "Q5 A942 QT98 J43", "S": "K3 QT76 KT98652", "W": "AJ74 J3 J7652 Q7"}, "W", False, True, 140), + ({"N": "AJ872 A94 65 J84", "E": "94 K AKJT984 K92", "S": "T3 Q7 732 QT7653", "W": "KQ65 JT86532 Q A"}, "N", False, False, -400), + ({"N": "J76 K2 843 J8742", "E": "KQ92 A3 AQJ2 Q95", "S": "T54 QT87654 K T6", "W": "A83 J9 T9765 AK3"}, "E", True, False, -1520), + ({"N": "KT95 K9853 85 53", "E": "J3 4 AQ97642 T84", "S": "87642 J76 3 AK92", "W": "AQ AQT2 KJT QJ76"}, "S", False, True, -300), + ({"N": "QT43 KQ9752 4 T7", "E": "96 T4 AKT75 9654", "S": "J87 863 Q82 K832", "W": "AK52 AJ J963 AQJ"}, "W", True, True, -600), +] + + +for idx, (predeal, dealer, nsvul, ewvul, score) in enumerate(test_cases): + deal = Deal.prepare({ + k: re.sub(" (?= )", " -", f" {v} ")[1:-1] # Sanitize voids. + for k, v in predeal.items()})() + pars = deal.par(dealer, nsvul, ewvul) + assert pars[0].score == score + print(f"test #{idx+1}/{len(test_cases)} passed", end="\r") diff --git a/redeal/redeal.py b/redeal/redeal.py index 99ad970..3b2f338 100644 --- a/redeal/redeal.py +++ b/redeal/redeal.py @@ -352,6 +352,38 @@ def dd_all_tricks(self, strain, leader): """ return dds.solve_all(self, strain, leader) + def par(self, dealer, nsvul, ewvul): + """ + Compute the double dummy par for the given dealer and vulnerabilities. + + Returns a list of `ScoredContract` with the following attributes: the + `.contract`, the `.declarer`, the number of `.tricks`, and the NS + `.score`. + """ + bid_order = [Seat((Seat[dealer].value + k) % 4) for k in range(4)] + vuls = {Seat.N: nsvul, Seat.S: nsvul, Seat.E: ewvul, Seat.W: ewvul} + pars = [ScoredContract(None, None, None)] + tricks_lookup = { + (strain, declarer): self.dd_tricks(f"1{strain}{declarer.name}") + for strain in Strain for declarer in Seat} + for level in range(1, 8): + for strain in Strain: + for declarer in bid_order[::-1]: + tricks = tricks_lookup[strain, declarer] + if tricks > 6 + level: + continue # Bid to highest make, at least. + doubled = tricks < 6 + level + contract = Contract( + level, strain.name, doubled, vuls[declarer]) + score = contract.score(tricks) + current_score = pars[0].score * ( + +1 if declarer.name in "NS" else -1) + if score > current_score: + pars = [ScoredContract(contract, declarer, tricks)] + elif score == current_score: + pars.append(ScoredContract(contract, declarer, tricks)) + return pars + class Hand(tuple): """A hand, represented as a tuple of holdings.""" @@ -370,12 +402,12 @@ def from_str(cls, init): """Initialize with a string, e.g. "AK432 K87 QJT54 -".""" suits = [holding if holding != "-" else "" for holding in init.split()] if len(suits) != len(Suit): - raise Exception("Invalid initializer for Hand.") + raise Exception(f"Invalid initializer for Hand ({init}).") try: cards = [Card(suit=suit, rank=Rank[rank]) for suit, holding in zip(Suit, suits) for rank in holding] except KeyError: - raise Exception("Invalid initializer for Hand.") + raise Exception(f"Invalid initializer for Hand ({init}).") return cls(cards) def to_str(self): @@ -547,6 +579,9 @@ def __init__(self, level, strain, doubled=0, vul=False): self.doubled = doubled self.vul = vul + def __str__(self): + return f"{self.level}{self.strain}" + "X" * self.doubled + @classmethod def from_str(cls, s, vul=False): """ @@ -598,6 +633,26 @@ def score(self, tricks): return score +class ScoredContract: + def __init__(self, contract, declarer, tricks): + self.contract = contract + self.declarer = declarer + self.tricks = tricks + self.score = ( + 0 if contract is None else + contract.score(tricks) * (+1 if declarer.name in "NS" else -1)) + + def __str__(self): + if not self.contract: + return "all pass (0)" + else: + s = f"{self.contract}{self.declarer.name}" + delta = self.tricks - self.contract.level - 6 + s += f"{delta:+}" if delta else "=" + s += f" ({self.score:+})" if self.score else " (0)" + return s + + H = Hand.from_str C = Contract.from_str