Generated by Cython 0.9.6.12 on Mon Jun 2 22:14:29 2008

Raw output: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.c

 1: 
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
 3: include "stdsage.pxi"  # ctrl-c interrupt block support
 4: 
 5: include "cdefs.pxi"
 6: deck = [2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,
 7: 10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14]
  __pyx_1 = PyList_New(52); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;}
  Py_INCREF(__pyx_num_2);
  PyList_SET_ITEM(__pyx_1, 0, __pyx_num_2);
  Py_INCREF(__pyx_num_2);
  PyList_SET_ITEM(__pyx_1, 1, __pyx_num_2);
  Py_INCREF(__pyx_num_2);
  PyList_SET_ITEM(__pyx_1, 2, __pyx_num_2);
  Py_INCREF(__pyx_num_2);
  PyList_SET_ITEM(__pyx_1, 3, __pyx_num_2);
  Py_INCREF(__pyx_num_3);
  PyList_SET_ITEM(__pyx_1, 4, __pyx_num_3);
  Py_INCREF(__pyx_num_3);
  PyList_SET_ITEM(__pyx_1, 5, __pyx_num_3);
  Py_INCREF(__pyx_num_3);
  PyList_SET_ITEM(__pyx_1, 6, __pyx_num_3);
  Py_INCREF(__pyx_num_3);
  PyList_SET_ITEM(__pyx_1, 7, __pyx_num_3);
  Py_INCREF(__pyx_num_4);
  PyList_SET_ITEM(__pyx_1, 8, __pyx_num_4);
  Py_INCREF(__pyx_num_4);
  PyList_SET_ITEM(__pyx_1, 9, __pyx_num_4);
  Py_INCREF(__pyx_num_4);
  PyList_SET_ITEM(__pyx_1, 10, __pyx_num_4);
  Py_INCREF(__pyx_num_4);
  PyList_SET_ITEM(__pyx_1, 11, __pyx_num_4);
  Py_INCREF(__pyx_num_5);
  PyList_SET_ITEM(__pyx_1, 12, __pyx_num_5);
  Py_INCREF(__pyx_num_5);
  PyList_SET_ITEM(__pyx_1, 13, __pyx_num_5);
  Py_INCREF(__pyx_num_5);
  PyList_SET_ITEM(__pyx_1, 14, __pyx_num_5);
  Py_INCREF(__pyx_num_5);
  PyList_SET_ITEM(__pyx_1, 15, __pyx_num_5);
  Py_INCREF(__pyx_num_6);
  PyList_SET_ITEM(__pyx_1, 16, __pyx_num_6);
  Py_INCREF(__pyx_num_6);
  PyList_SET_ITEM(__pyx_1, 17, __pyx_num_6);
  Py_INCREF(__pyx_num_6);
  PyList_SET_ITEM(__pyx_1, 18, __pyx_num_6);
  Py_INCREF(__pyx_num_6);
  PyList_SET_ITEM(__pyx_1, 19, __pyx_num_6);
  Py_INCREF(__pyx_num_7);
  PyList_SET_ITEM(__pyx_1, 20, __pyx_num_7);
  Py_INCREF(__pyx_num_7);
  PyList_SET_ITEM(__pyx_1, 21, __pyx_num_7);
  Py_INCREF(__pyx_num_7);
  PyList_SET_ITEM(__pyx_1, 22, __pyx_num_7);
  Py_INCREF(__pyx_num_7);
  PyList_SET_ITEM(__pyx_1, 23, __pyx_num_7);
  Py_INCREF(__pyx_num_8);
  PyList_SET_ITEM(__pyx_1, 24, __pyx_num_8);
  Py_INCREF(__pyx_num_8);
  PyList_SET_ITEM(__pyx_1, 25, __pyx_num_8);
  Py_INCREF(__pyx_num_8);
  PyList_SET_ITEM(__pyx_1, 26, __pyx_num_8);
  Py_INCREF(__pyx_num_8);
  PyList_SET_ITEM(__pyx_1, 27, __pyx_num_8);
  Py_INCREF(__pyx_num_9);
  PyList_SET_ITEM(__pyx_1, 28, __pyx_num_9);
  Py_INCREF(__pyx_num_9);
  PyList_SET_ITEM(__pyx_1, 29, __pyx_num_9);
  Py_INCREF(__pyx_num_9);
  PyList_SET_ITEM(__pyx_1, 30, __pyx_num_9);
  Py_INCREF(__pyx_num_9);
  PyList_SET_ITEM(__pyx_1, 31, __pyx_num_9);
  Py_INCREF(__pyx_num_10);
  PyList_SET_ITEM(__pyx_1, 32, __pyx_num_10);
  Py_INCREF(__pyx_num_10);
  PyList_SET_ITEM(__pyx_1, 33, __pyx_num_10);
  Py_INCREF(__pyx_num_10);
  PyList_SET_ITEM(__pyx_1, 34, __pyx_num_10);
  Py_INCREF(__pyx_num_10);
  PyList_SET_ITEM(__pyx_1, 35, __pyx_num_10);
  Py_INCREF(__pyx_num_11);
  PyList_SET_ITEM(__pyx_1, 36, __pyx_num_11);
  Py_INCREF(__pyx_num_11);
  PyList_SET_ITEM(__pyx_1, 37, __pyx_num_11);
  Py_INCREF(__pyx_num_11);
  PyList_SET_ITEM(__pyx_1, 38, __pyx_num_11);
  Py_INCREF(__pyx_num_11);
  PyList_SET_ITEM(__pyx_1, 39, __pyx_num_11);
  Py_INCREF(__pyx_num_12);
  PyList_SET_ITEM(__pyx_1, 40, __pyx_num_12);
  Py_INCREF(__pyx_num_12);
  PyList_SET_ITEM(__pyx_1, 41, __pyx_num_12);
  Py_INCREF(__pyx_num_12);
  PyList_SET_ITEM(__pyx_1, 42, __pyx_num_12);
  Py_INCREF(__pyx_num_12);
  PyList_SET_ITEM(__pyx_1, 43, __pyx_num_12);
  Py_INCREF(__pyx_num_13);
  PyList_SET_ITEM(__pyx_1, 44, __pyx_num_13);
  Py_INCREF(__pyx_num_13);
  PyList_SET_ITEM(__pyx_1, 45, __pyx_num_13);
  Py_INCREF(__pyx_num_13);
  PyList_SET_ITEM(__pyx_1, 46, __pyx_num_13);
  Py_INCREF(__pyx_num_13);
  PyList_SET_ITEM(__pyx_1, 47, __pyx_num_13);
  Py_INCREF(__pyx_num_14);
  PyList_SET_ITEM(__pyx_1, 48, __pyx_num_14);
  Py_INCREF(__pyx_num_14);
  PyList_SET_ITEM(__pyx_1, 49, __pyx_num_14);
  Py_INCREF(__pyx_num_14);
  PyList_SET_ITEM(__pyx_1, 50, __pyx_num_14);
  Py_INCREF(__pyx_num_14);
  PyList_SET_ITEM(__pyx_1, 51, __pyx_num_14);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_deck, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
 8: 
 9: def play_war():
static PyObject *__pyx_num_51;
static PyObject *__pyx_num_0;
static PyObject *__pyx_num_50;
static PyObject *__pyx_num_25;

static PyObject *__pyx_n_randint;
static PyObject *__pyx_n_append;
static PyObject *__pyx_n_pop;

static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war(PyObject *__pyx_self, PyObject *unused); /*proto*/
static char __pyx_doc_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war[] = "File: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.pyx (starting at line 9)";
static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war(PyObject *__pyx_self, PyObject *unused) {
  PyObject *__pyx_v_i;
  PyObject *__pyx_v_index;
  PyObject *__pyx_v_card;
  PyObject *__pyx_v_hand1;
  PyObject *__pyx_v_hand2;
  PyObject *__pyx_v_tie;
  PyObject *__pyx_v_winner;
  PyObject *__pyx_v_battles;
  PyObject *__pyx_v_wars;
  PyObject *__pyx_v_twentysixes;
  PyObject *__pyx_v_p1weight;
  PyObject *__pyx_v_p1advantage;
  PyObject *__pyx_v_count;
  PyObject *__pyx_v_exit;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_ssize_t __pyx_6 = 0;
  int __pyx_7;
  Py_ssize_t __pyx_8 = 0;
  __pyx_v_i = Py_None; Py_INCREF(Py_None);
  __pyx_v_index = Py_None; Py_INCREF(Py_None);
  __pyx_v_card = Py_None; Py_INCREF(Py_None);
  __pyx_v_hand1 = Py_None; Py_INCREF(Py_None);
  __pyx_v_hand2 = Py_None; Py_INCREF(Py_None);
  __pyx_v_tie = Py_None; Py_INCREF(Py_None);
  __pyx_v_winner = Py_None; Py_INCREF(Py_None);
  __pyx_v_battles = Py_None; Py_INCREF(Py_None);
  __pyx_v_wars = Py_None; Py_INCREF(Py_None);
  __pyx_v_twentysixes = Py_None; Py_INCREF(Py_None);
  __pyx_v_p1weight = Py_None; Py_INCREF(Py_None);
  __pyx_v_p1advantage = Py_None; Py_INCREF(Py_None);
  __pyx_v_count = Py_None; Py_INCREF(Py_None);
  __pyx_v_exit = Py_None; Py_INCREF(Py_None);
 10:     #shuffle deck
 11:     i = 51
  Py_INCREF(__pyx_num_51);
  Py_DECREF(__pyx_v_i);
  __pyx_v_i = __pyx_num_51;
 12:     while i coerce>= 0:
  while (1) {
    __pyx_1 = PyObject_RichCompare(__pyx_v_i, __pyx_num_0, Py_GE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; goto __pyx_L1;}
    __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (!__pyx_2) break;
 13:         index = randint(0,i)
    __pyx_1 = __Pyx_GetName(__pyx_i, __pyx_n_randint); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
    Py_INCREF(__pyx_num_0);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_num_0);
    Py_INCREF(__pyx_v_i);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_i);
    __pyx_4 = PyObject_Call(__pyx_1, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_v_index);
    __pyx_v_index = __pyx_4;
    __pyx_4 = 0;
 14:         card = deck[index]
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
    __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_v_index); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_card);
    __pyx_v_card = __pyx_3;
    __pyx_3 = 0;
 15:         deck.append(card)
    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
    Py_INCREF(__pyx_v_card);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_card);
    __pyx_4 = PyObject_Call(__pyx_1, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
 16:         deck.pop(index)
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_n_pop); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
    Py_INCREF(__pyx_v_index);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_index);
    __pyx_1 = PyObject_Call(__pyx_3, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
 17:         i -= 1
    __pyx_4 = __pyx_v_i;
    Py_INCREF(__pyx_4);
    __pyx_3 = PyNumber_InPlaceSubtract(__pyx_4, __pyx_num_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_3;
    __pyx_3 = 0;
  }
 18:     #end of shuffle
 19: 
 20:     #deal the cards
 21:     hand1 = []
  __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
  Py_DECREF(__pyx_v_hand1);
  __pyx_v_hand1 = __pyx_1;
  __pyx_1 = 0;
 22:     hand2 = []
  __pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;}
  Py_DECREF(__pyx_v_hand2);
  __pyx_v_hand2 = __pyx_4;
  __pyx_4 = 0;
 23:     i = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_i);
  __pyx_v_i = __pyx_num_0;
 24:     while i coerce<= 50:
  while (1) {
    __pyx_3 = PyObject_RichCompare(__pyx_v_i, __pyx_num_50, Py_LE); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
    __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    if (!__pyx_2) break;
 25:         hand1.append(deck[i])
    __pyx_1 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
    __pyx_3 = PyObject_GetItem(__pyx_4, __pyx_v_i); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
 26:         hand2.append(deck[i+1])
    __pyx_1 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    __pyx_3 = __pyx_v_i;
    Py_INCREF(__pyx_3);
    __pyx_5 = PyNumber_Add(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyObject_GetItem(__pyx_4, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_5 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
 27:         i += 2
    __pyx_1 = __pyx_v_i;
    Py_INCREF(__pyx_1);
    __pyx_3 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_3;
    __pyx_3 = 0;
  }
 28:     #end of deal
 29: 
 30:     #initialize game stats
 31:     tie = False
  Py_INCREF(Py_False);
  Py_DECREF(__pyx_v_tie);
  __pyx_v_tie = Py_False;
 32:     winner = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_winner);
  __pyx_v_winner = __pyx_num_0;
 33:     battles = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_battles);
  __pyx_v_battles = __pyx_num_0;
 34:     wars = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_wars);
  __pyx_v_wars = __pyx_num_0;
 35:     twentysixes = 1
  Py_INCREF(__pyx_num_1);
  Py_DECREF(__pyx_v_twentysixes);
  __pyx_v_twentysixes = __pyx_num_1;
 36:     p1weight = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_p1weight);
  __pyx_v_p1weight = __pyx_num_0;
 37:     p1advantage = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_p1advantage);
  __pyx_v_p1advantage = __pyx_num_0;
 38:     i = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_i);
  __pyx_v_i = __pyx_num_0;
 39:     while i coerce<= 25:
  while (1) {
    __pyx_4 = PyObject_RichCompare(__pyx_v_i, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
    __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (!__pyx_2) break;
 40:         p1weight += hand1[i]
    __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_i); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
    __pyx_3 = __pyx_v_p1weight;
    Py_INCREF(__pyx_3);
    __pyx_5 = PyNumber_InPlaceAdd(__pyx_3, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_v_p1weight);
    __pyx_v_p1weight = __pyx_5;
    __pyx_5 = 0;
 41:         i += 1
    __pyx_1 = __pyx_v_i;
    Py_INCREF(__pyx_1);
    __pyx_4 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_4;
    __pyx_4 = 0;
  }
 42: 
 43: 
 44:     while len(hand1) > 0 and len(hand2) > 0 and not tiecoerce:
  while (1) {
    __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
    __pyx_2 = (__pyx_6 > 0);
    if (__pyx_2) {
      __pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
      __pyx_2 = (__pyx_6 > 0);
      if (__pyx_2) {
        __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_v_tie); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
        __pyx_2 = (!__pyx_7);
      }
    }
    if (!__pyx_2) break;
 45:         battles += 1
    __pyx_5 = __pyx_v_battles;
    Py_INCREF(__pyx_5);
    __pyx_3 = PyNumber_InPlaceAdd(__pyx_5, __pyx_num_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_v_battles);
    __pyx_v_battles = __pyx_3;
    __pyx_3 = 0;
 46:         count = 0
    Py_INCREF(__pyx_num_0);
    Py_DECREF(__pyx_v_count);
    __pyx_v_count = __pyx_num_0;
 47:         if hand1 coerce== hand2:
    __pyx_1 = PyObject_RichCompare(__pyx_v_hand1, __pyx_v_hand2, Py_EQ); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
    __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (__pyx_7) {
 48:             tie = True
      Py_INCREF(Py_True);
      Py_DECREF(__pyx_v_tie);
      __pyx_v_tie = Py_True;
      goto __pyx_L10;
    }
    __pyx_L10:;
 49:         if hand1[coerce0] coerce> hand2[coerce0]:    #player 1 wins the battle
    if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
      __pyx_5 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_5);
      } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
      __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_5);
      } else {
      __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
      __pyx_5 = PyObject_GetItem(__pyx_v_hand1, __pyx_4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
    }
    if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
      __pyx_1 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1);
      } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
      __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1);
      } else {
      __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
      __pyx_1 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
    }
    __pyx_4 = PyObject_RichCompare(__pyx_5, __pyx_1, Py_GT); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__pyx_2) {
 50:             if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
      __pyx_3 = __pyx_v_battles;
      Py_INCREF(__pyx_3);
      __pyx_5 = PyNumber_Subtract(__pyx_3, __pyx_v_wars); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_1 = PyNumber_Add(__pyx_5, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      if (__pyx_7) {
 51:                 p1advantage += hand2[coerce0]
        if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
          __pyx_1 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1);
          } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
          __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1);
          } else {
          __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
          __pyx_1 = PyObject_GetItem(__pyx_v_hand2, __pyx_5); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
        }
        __pyx_4 = __pyx_v_p1advantage;
        Py_INCREF(__pyx_4);
        __pyx_3 = PyNumber_InPlaceAdd(__pyx_4, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        Py_DECREF(__pyx_v_p1advantage);
        __pyx_v_p1advantage = __pyx_3;
        __pyx_3 = 0;
        goto __pyx_L12;
      }
      __pyx_L12:;
 52:             hand1.append(hand2[coerce0])
      __pyx_5 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
      if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
        __pyx_4 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4);
        } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
        __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4);
        } else {
        __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
        __pyx_4 = PyObject_GetItem(__pyx_v_hand2, __pyx_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
        Py_DECREF(__pyx_1); __pyx_1 = 0;
      }
      __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
      __pyx_4 = 0;
      __pyx_1 = PyObject_Call(__pyx_5, __pyx_3, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
 53:             hand1.append(hand1[coerce0])
      __pyx_4 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
      if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
        __pyx_3 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_3);
        } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
        __pyx_3 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_3);
        } else {
        __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
        __pyx_3 = PyObject_GetItem(__pyx_v_hand1, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
        Py_DECREF(__pyx_5); __pyx_5 = 0;
      }
      __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_5 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
 54:             hand1[:1] = []
      __pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
      if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
 55:             hand2[:1] = []
      __pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
      if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      goto __pyx_L11;
    }
  init_csage();
 56:         elif hand2[coerce0] coerce> hand1[coerce0]:  #player 2 wins the battle
    if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
      __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
      } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
      __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
      } else {
      __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
      __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
    }
    if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
      __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
      } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
      __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
      } else {
      __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
      __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
    }
    __pyx_1 = PyObject_RichCompare(__pyx_5, __pyx_4, Py_GT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (__pyx_2) {
 57:             if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
      __pyx_3 = __pyx_v_battles;
      Py_INCREF(__pyx_3);
      __pyx_5 = PyNumber_Subtract(__pyx_3, __pyx_v_wars); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_4 = PyNumber_Add(__pyx_5, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_1 = PyObject_RichCompare(__pyx_4, __pyx_num_25, Py_LE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      if (__pyx_7) {
 58:                 p1advantage -= hand1[coerce0]
        if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
          __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
          } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
          __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
          } else {
          __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;}
          __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_5); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
        }
        __pyx_1 = __pyx_v_p1advantage;
        Py_INCREF(__pyx_1);
        __pyx_3 = PyNumber_InPlaceSubtract(__pyx_1, __pyx_4); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;}
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        Py_DECREF(__pyx_v_p1advantage);
        __pyx_v_p1advantage = __pyx_3;
        __pyx_3 = 0;
        goto __pyx_L13;
      }
      __pyx_L13:;
 59:             hand2.append(hand1[coerce0])
      __pyx_5 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
      if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
        __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
        } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
        __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
        } else {
        __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
        __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_4); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
        Py_DECREF(__pyx_4); __pyx_4 = 0;
      }
      __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
      __pyx_1 = 0;
      __pyx_4 = PyObject_Call(__pyx_5, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_4); __pyx_4 = 0;
 60:             hand2.append(hand2[coerce0])
      __pyx_1 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;}
      if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
        __pyx_3 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_3);
        } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
        __pyx_3 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_3);
        } else {
        __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;}
        __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;}
        Py_DECREF(__pyx_5); __pyx_5 = 0;
      }
      __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_5 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
 61:             hand2[:1] = []
      __pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; goto __pyx_L1;}
      if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
 62:             hand1[:1] = []
      __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; goto __pyx_L1;}
      if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      goto __pyx_L11;
    }
    /*else*/ {
 63:         else:                      #a war occurs!
 64:             wars += 1
      __pyx_5 = __pyx_v_wars;
      Py_INCREF(__pyx_5);
      __pyx_4 = PyNumber_InPlaceAdd(__pyx_5, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      Py_DECREF(__pyx_v_wars);
      __pyx_v_wars = __pyx_4;
      __pyx_4 = 0;
 65:             if len(hand1) <= 2:    #player 1 runs out of cards during the war
      __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; goto __pyx_L1;}
      __pyx_2 = (__pyx_6 <= 2);
      if (__pyx_2) {
 66:                 exit = 1
        Py_INCREF(__pyx_num_1);
        Py_DECREF(__pyx_v_exit);
        __pyx_v_exit = __pyx_num_1;
 67:                 hand1 = []
        __pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; goto __pyx_L1;}
        Py_DECREF(__pyx_v_hand1);
        __pyx_v_hand1 = __pyx_3;
        __pyx_3 = 0;
        goto __pyx_L14;
      }
 68:             elif len(hand2) <= 2:  #player 2 runs out of cards during the war
      __pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; goto __pyx_L1;}
      __pyx_7 = (__pyx_6 <= 2);
      if (__pyx_7) {
 69:                 exit = 1
        Py_INCREF(__pyx_num_1);
        Py_DECREF(__pyx_v_exit);
        __pyx_v_exit = __pyx_num_1;
 70:                 hand2 = []
        __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; goto __pyx_L1;}
        Py_DECREF(__pyx_v_hand2);
        __pyx_v_hand2 = __pyx_1;
        __pyx_1 = 0;
        goto __pyx_L14;
      }
      /*else*/ {
 71:             else:
 72:                 exit = 0
        Py_INCREF(__pyx_num_0);
        Py_DECREF(__pyx_v_exit);
        __pyx_v_exit = __pyx_num_0;
      }
      __pyx_L14:;
 73:             while exit == 0 coerceand hand1[count] == hand2[count]:  #provision for multi-wars
      while (1) {
        __pyx_5 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
        __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
        if (__pyx_2) {
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
          __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
          __pyx_5 = PyObject_RichCompare(__pyx_4, __pyx_3, Py_EQ); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          Py_DECREF(__pyx_3); __pyx_3 = 0;
        }
        __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;}
        Py_DECREF(__pyx_5); __pyx_5 = 0;
        if (!__pyx_7) break;
 74:                 count += 2
        __pyx_4 = __pyx_v_count;
        Py_INCREF(__pyx_4);
        __pyx_1 = PyNumber_InPlaceAdd(__pyx_4, __pyx_num_2); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; goto __pyx_L1;}
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        Py_DECREF(__pyx_v_count);
        __pyx_v_count = __pyx_1;
        __pyx_1 = 0;
 75:                 if count coerce> len(hand1)coerce-1:    #player 1 runs out of cards during the war
        __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;}
        __pyx_3 = PyInt_FromSsize_t((__pyx_6 - 1)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;}
        __pyx_5 = PyObject_RichCompare(__pyx_v_count, __pyx_3, Py_GT); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;}
        Py_DECREF(__pyx_3); __pyx_3 = 0;
        __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;}
        Py_DECREF(__pyx_5); __pyx_5 = 0;
        if (__pyx_2) {
 76:                     exit = 1
          Py_INCREF(__pyx_num_1);
          Py_DECREF(__pyx_v_exit);
          __pyx_v_exit = __pyx_num_1;
 77:                     hand1 = []
          __pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; goto __pyx_L1;}
          Py_DECREF(__pyx_v_hand1);
          __pyx_v_hand1 = __pyx_4;
          __pyx_4 = 0;
          goto __pyx_L17;
        }
 78:                 elif count coerce> len(hand2)coerce-1:  #player 2 runs out of cards during the war
        __pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;}
        __pyx_1 = PyInt_FromSsize_t((__pyx_6 - 1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;}
        __pyx_3 = PyObject_RichCompare(__pyx_v_count, __pyx_1, Py_GT); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;}
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;}
        Py_DECREF(__pyx_3); __pyx_3 = 0;
        if (__pyx_7) {
 79:                     exit = 1
          Py_INCREF(__pyx_num_1);
          Py_DECREF(__pyx_v_exit);
          __pyx_v_exit = __pyx_num_1;
 80:                     hand2 = []
          __pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; goto __pyx_L1;}
          Py_DECREF(__pyx_v_hand2);
          __pyx_v_hand2 = __pyx_5;
          __pyx_5 = 0;
          goto __pyx_L17;
        }
        __pyx_L17:;
      }
 81:             if exit == 0 coerceand hand1[count] > hand2[count]:    #player 1 wins the war
      __pyx_4 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
      __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
      if (__pyx_2) {
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
        __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
        __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_3, Py_GT); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        Py_DECREF(__pyx_3); __pyx_3 = 0;
      }
      __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      if (__pyx_7) {
 82:                 i = 0
        Py_INCREF(__pyx_num_0);
        Py_DECREF(__pyx_v_i);
        __pyx_v_i = __pyx_num_0;
 83:                 while i coerce<= count:
        while (1) {
          __pyx_5 = PyObject_RichCompare(__pyx_v_i, __pyx_v_count, Py_LE); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;}
          __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          if (!__pyx_2) break;
 84:                     if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
          __pyx_1 = __pyx_v_battles;
          Py_INCREF(__pyx_1);
          __pyx_3 = PyNumber_Subtract(__pyx_1, __pyx_v_wars); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
          Py_DECREF(__pyx_1); __pyx_1 = 0;
          __pyx_4 = PyNumber_Add(__pyx_3, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          __pyx_5 = PyObject_RichCompare(__pyx_4, __pyx_num_25, Py_LE); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          if (__pyx_7) {
 85:                         p1advantage += hand2[coerce0]
            if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
              __pyx_4 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4);
              } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
              __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4);
              } else {
              __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
              __pyx_4 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
              Py_DECREF(__pyx_3); __pyx_3 = 0;
            }
            __pyx_5 = __pyx_v_p1advantage;
            Py_INCREF(__pyx_5);
            __pyx_1 = PyNumber_InPlaceAdd(__pyx_5, __pyx_4); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;}
            Py_DECREF(__pyx_4); __pyx_4 = 0;
            Py_DECREF(__pyx_5); __pyx_5 = 0;
            Py_DECREF(__pyx_v_p1advantage);
            __pyx_v_p1advantage = __pyx_1;
            __pyx_1 = 0;
            goto __pyx_L21;
          }
          __pyx_L21:;
 86:                     hand1.append(hand2[coerce0])
          __pyx_3 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
          if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
            __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
            } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
            __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
            } else {
            __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
            __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
            Py_DECREF(__pyx_4); __pyx_4 = 0;
          }
          __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
          PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5);
          __pyx_5 = 0;
          __pyx_4 = PyObject_Call(__pyx_3, __pyx_1, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          Py_DECREF(__pyx_1); __pyx_1 = 0;
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 87:                     hand1.append(hand1[coerce0])
          __pyx_5 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
          if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
            __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
            } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
            __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
            } else {
            __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
            __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
            Py_DECREF(__pyx_3); __pyx_3 = 0;
          }
          __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
          __pyx_1 = 0;
          __pyx_3 = PyObject_Call(__pyx_5, __pyx_4, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          Py_DECREF(__pyx_3); __pyx_3 = 0;
 88:                     hand1[:1] = []
          __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; goto __pyx_L1;}
          if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; goto __pyx_L1;}
          Py_DECREF(__pyx_1); __pyx_1 = 0;
 89:                     hand2[:1] = []
          __pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; goto __pyx_L1;}
          if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
 90:                     i += 1
          __pyx_3 = __pyx_v_i;
          Py_INCREF(__pyx_3);
          __pyx_4 = PyNumber_InPlaceAdd(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          Py_DECREF(__pyx_v_i);
          __pyx_v_i = __pyx_4;
          __pyx_4 = 0;
        }
        goto __pyx_L18;
      }
 91:             elif exit == 0 coerceand hand2[count] > hand1[count]:  #player 2 wins the war
      __pyx_1 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
      __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
      if (__pyx_2) {
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
        __pyx_3 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
        __pyx_1 = PyObject_RichCompare(__pyx_5, __pyx_3, Py_GT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
        Py_DECREF(__pyx_5); __pyx_5 = 0;
        Py_DECREF(__pyx_3); __pyx_3 = 0;
      }
      __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      if (__pyx_7) {
 92:                 i = 0
        Py_INCREF(__pyx_num_0);
        Py_DECREF(__pyx_v_i);
        __pyx_v_i = __pyx_num_0;
 93:                 while i coerce<= count:
        while (1) {
          __pyx_4 = PyObject_RichCompare(__pyx_v_i, __pyx_v_count, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; goto __pyx_L1;}
          __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          if (!__pyx_2) break;
 94:                     if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
          __pyx_5 = __pyx_v_battles;
          Py_INCREF(__pyx_5);
          __pyx_3 = PyNumber_Subtract(__pyx_5, __pyx_v_wars); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          __pyx_1 = PyNumber_Add(__pyx_3, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
          Py_DECREF(__pyx_1); __pyx_1 = 0;
          __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          if (__pyx_7) {
 95:                         p1advantage -= hand1[coerce0]
            if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
              __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
              } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
              __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1);
              } else {
              __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;}
              __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;}
              Py_DECREF(__pyx_3); __pyx_3 = 0;
            }
            __pyx_4 = __pyx_v_p1advantage;
            Py_INCREF(__pyx_4);
            __pyx_5 = PyNumber_InPlaceSubtract(__pyx_4, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;}
            Py_DECREF(__pyx_1); __pyx_1 = 0;
            Py_DECREF(__pyx_4); __pyx_4 = 0;
            Py_DECREF(__pyx_v_p1advantage);
            __pyx_v_p1advantage = __pyx_5;
            __pyx_5 = 0;
            goto __pyx_L24;
          }
          __pyx_L24:;
 96:                     hand2.append(hand1[coerce0])
          __pyx_3 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
          if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) {
            __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
            } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) {
            __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4);
            } else {
            __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
            __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
            Py_DECREF(__pyx_1); __pyx_1 = 0;
          }
          __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
          PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
          __pyx_4 = 0;
          __pyx_1 = PyObject_Call(__pyx_3, __pyx_5, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          Py_DECREF(__pyx_5); __pyx_5 = 0;
          Py_DECREF(__pyx_1); __pyx_1 = 0;
 97:                     hand2.append(hand2[coerce0])
          __pyx_4 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;}
          if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) {
            __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
            } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) {
            __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5);
            } else {
            __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;}
            __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;}
            Py_DECREF(__pyx_3); __pyx_3 = 0;
          }
          __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;}
          PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5);
          __pyx_5 = 0;
          __pyx_3 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
          Py_DECREF(__pyx_1); __pyx_1 = 0;
          Py_DECREF(__pyx_3); __pyx_3 = 0;
 98:                     hand2[:1] = []
          __pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; goto __pyx_L1;}
          if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; goto __pyx_L1;}
          Py_DECREF(__pyx_5); __pyx_5 = 0;
 99:                     hand1[:1] = []
          __pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
          if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;}
          Py_DECREF(__pyx_4); __pyx_4 = 0;
 100:                     i += 1
          __pyx_3 = __pyx_v_i;
          Py_INCREF(__pyx_3);
          __pyx_1 = PyNumber_InPlaceAdd(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; goto __pyx_L1;}
          Py_DECREF(__pyx_3); __pyx_3 = 0;
          Py_DECREF(__pyx_v_i);
          __pyx_v_i = __pyx_1;
          __pyx_1 = 0;
        }
        goto __pyx_L18;
      }
      __pyx_L18:;
    }
    __pyx_L11:;
 101:         if  len(hand1) == len(hand2):
    __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; goto __pyx_L1;}
    __pyx_8 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; goto __pyx_L1;}
    __pyx_2 = (__pyx_6 == __pyx_8);
    if (__pyx_2) {
 102:             twentysixes += 1
      __pyx_4 = __pyx_v_twentysixes;
      Py_INCREF(__pyx_4);
      __pyx_5 = PyNumber_InPlaceAdd(__pyx_4, __pyx_num_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_v_twentysixes);
      __pyx_v_twentysixes = __pyx_5;
      __pyx_5 = 0;
      goto __pyx_L25;
    }
    __pyx_L25:;
  }
 103:     if len(hand1) > len(hand2):
  __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; goto __pyx_L1;}
  __pyx_8 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; goto __pyx_L1;}
  __pyx_7 = (__pyx_6 > __pyx_8);
  if (__pyx_7) {
 104:         winner = 1
    Py_INCREF(__pyx_num_1);
    Py_DECREF(__pyx_v_winner);
    __pyx_v_winner = __pyx_num_1;
    goto __pyx_L26;
  }
 105:     elif len(hand2) > len(hand1):
  __pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;}
  __pyx_8 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;}
  __pyx_2 = (__pyx_6 > __pyx_8);
  if (__pyx_2) {
 106:         winner = 2
    Py_INCREF(__pyx_num_2);
    Py_DECREF(__pyx_v_winner);
    __pyx_v_winner = __pyx_num_2;
    goto __pyx_L26;
  }
  __pyx_L26:;
 107: 
 108:     return winner, battles, wars, twentysixes, p1weight, p1advantage
  __pyx_3 = PyTuple_New(6); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;}
  Py_INCREF(__pyx_v_winner);
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_winner);
  Py_INCREF(__pyx_v_battles);
  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_battles);
  Py_INCREF(__pyx_v_wars);
  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_wars);
  Py_INCREF(__pyx_v_twentysixes);
  PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_twentysixes);
  Py_INCREF(__pyx_v_p1weight);
  PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_p1weight);
  Py_INCREF(__pyx_v_p1advantage);
  PyTuple_SET_ITEM(__pyx_3, 5, __pyx_v_p1advantage);
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.play_war");
  __pyx_r = NULL;
  __pyx_L0:;
  Py_DECREF(__pyx_v_i);
  Py_DECREF(__pyx_v_index);
  Py_DECREF(__pyx_v_card);
  Py_DECREF(__pyx_v_hand1);
  Py_DECREF(__pyx_v_hand2);
  Py_DECREF(__pyx_v_tie);
  Py_DECREF(__pyx_v_winner);
  Py_DECREF(__pyx_v_battles);
  Py_DECREF(__pyx_v_wars);
  Py_DECREF(__pyx_v_twentysixes);
  Py_DECREF(__pyx_v_p1weight);
  Py_DECREF(__pyx_v_p1advantage);
  Py_DECREF(__pyx_v_count);
  Py_DECREF(__pyx_v_exit);
  return __pyx_r;
}
 109: 
 110: def analyze_war(iterations = 1):
static PyObject *__pyx_n_number_games;
static PyObject *__pyx_n_hand_winner;
static PyObject *__pyx_n_number_battles;
static PyObject *__pyx_n_number_wars;
static PyObject *__pyx_n_twenty_sixes;
static PyObject *__pyx_n_p1_initial_weight;
static PyObject *__pyx_n_initial_advantage;
static PyObject *__pyx_n_play_war;


static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war[] = "File: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.pyx (starting at line 110)";
static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_iterations = 0;
  PyObject *__pyx_v_war_data;
  PyObject *__pyx_v_i;
  PyObject *__pyx_v_a;
  PyObject *__pyx_v_b;
  PyObject *__pyx_v_c;
  PyObject *__pyx_v_d;
  PyObject *__pyx_v_e;
  PyObject *__pyx_v_f;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"iterations",0};
  __pyx_v_iterations = __pyx_num_1;
  if (likely(!__pyx_kwds) && likely(0 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 1)) {
    if (PyTuple_GET_SIZE(__pyx_args) > 0) {
      __pyx_v_iterations = PyTuple_GET_ITEM(__pyx_args, 0);
    }
  }
  else {
    if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|O", __pyx_argnames, &__pyx_v_iterations))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; goto __pyx_L2;}
  }
  goto __pyx_L3;
  __pyx_L2:;
  return NULL;
  __pyx_L3:;
  Py_INCREF(__pyx_v_iterations);
  __pyx_v_war_data = Py_None; Py_INCREF(Py_None);
  __pyx_v_i = Py_None; Py_INCREF(Py_None);
  __pyx_v_a = Py_None; Py_INCREF(Py_None);
  __pyx_v_b = Py_None; Py_INCREF(Py_None);
  __pyx_v_c = Py_None; Py_INCREF(Py_None);
  __pyx_v_d = Py_None; Py_INCREF(Py_None);
  __pyx_v_e = Py_None; Py_INCREF(Py_None);
  __pyx_v_f = Py_None; Py_INCREF(Py_None);
  return;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0");
}
 111:     war_data = {"number_games":[],"hand_winner":[],"number_battles":[],"number_wars":[],"twenty_sixes":[],
  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_number_games, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_hand_winner, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_number_battles, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_number_wars, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_twenty_sixes, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
 112: "p1_initial_weight":[],"initial_advantage":[]}
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_p1_initial_weight, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_n_initial_advantage, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_v_war_data);
  __pyx_v_war_data = __pyx_1;
  __pyx_1 = 0;
 113:     war_data["number_games"] = [int(iterations),0]
  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
  Py_INCREF(__pyx_v_iterations);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_iterations);
  __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyList_New(2); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
  PyList_SET_ITEM(__pyx_2, 0, __pyx_1);
  Py_INCREF(__pyx_num_0);
  PyList_SET_ITEM(__pyx_2, 1, __pyx_num_0);
  __pyx_1 = 0;
  if (PyObject_SetItem(__pyx_v_war_data, __pyx_n_number_games, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
 114:     i = 0
  Py_INCREF(__pyx_num_0);
  Py_DECREF(__pyx_v_i);
  __pyx_v_i = __pyx_num_0;
 115:     while i coerce< iterations:
  while (1) {
    __pyx_1 = PyObject_RichCompare(__pyx_v_i, __pyx_v_iterations, Py_LT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;}
    __pyx_3 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (!__pyx_3) break;
 116:         a, b, c, d, e, f = play_war()
    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_play_war); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
    __pyx_1 = PyObject_Call(__pyx_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (PyTuple_CheckExact(__pyx_1) && PyTuple_GET_SIZE(__pyx_1) == 6) {
      PyObject* tuple = __pyx_1;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 0);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_a);
      __pyx_v_a = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 1);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_b);
      __pyx_v_b = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 2);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_c);
      __pyx_v_c = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 3);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_d);
      __pyx_v_d = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 4);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_e);
      __pyx_v_e = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = PyTuple_GET_ITEM(tuple, 5);
      Py_INCREF(__pyx_4);
      Py_DECREF(__pyx_v_f);
      __pyx_v_f = __pyx_4;
      __pyx_4 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
    }
    else {
      __pyx_2 = PyObject_GetIter(__pyx_1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_a);
      __pyx_v_a = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_b);
      __pyx_v_b = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_c);
      __pyx_v_c = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_d);
      __pyx_v_d = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_e);
      __pyx_v_e = __pyx_4;
      __pyx_4 = 0;
      __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_v_f);
      __pyx_v_f = __pyx_4;
      __pyx_4 = 0;
      if (__Pyx_EndUnpack(__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
    }
 117:         war_data["hand_winner"].append(int(a))
    __pyx_4 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_hand_winner); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    Py_INCREF(__pyx_v_a);
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_a);
    __pyx_4 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_Call(__pyx_1, __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
 118:         war_data["number_battles"].append(int(b))
    __pyx_1 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_number_battles); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_append); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    Py_INCREF(__pyx_v_b);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_b);
    __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
    __pyx_1 = 0;
    __pyx_1 = PyObject_Call(__pyx_2, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
 119:         war_data["number_wars"].append(int(c))
    __pyx_2 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_number_wars); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    Py_INCREF(__pyx_v_c);
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_c);
    __pyx_2 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
    __pyx_2 = 0;
    __pyx_2 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
 120:         war_data["twenty_sixes"].append(int(d))
    __pyx_4 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_twenty_sixes); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    Py_INCREF(__pyx_v_d);
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_d);
    __pyx_4 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_Call(__pyx_1, __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
 121:         war_data["p1_initial_weight"].append(int(e))
    __pyx_1 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_p1_initial_weight); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_append); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    Py_INCREF(__pyx_v_e);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_e);
    __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
    __pyx_1 = 0;
    __pyx_1 = PyObject_Call(__pyx_2, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
 122:         war_data["initial_advantage"].append(int(f))
    __pyx_2 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_initial_advantage); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    Py_INCREF(__pyx_v_f);
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_f);
    __pyx_2 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
    __pyx_2 = 0;
    __pyx_2 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
 123:         i += 1
    __pyx_1 = __pyx_v_i;
    Py_INCREF(__pyx_1);
    __pyx_4 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_4;
    __pyx_4 = 0;
  }
 124:     return war_data
  Py_INCREF(__pyx_v_war_data);
  __pyx_r = __pyx_v_war_data;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.analyze_war");
  __pyx_r = NULL;
  __pyx_L0:;
  Py_DECREF(__pyx_v_war_data);
  Py_DECREF(__pyx_v_i);
  Py_DECREF(__pyx_v_a);
  Py_DECREF(__pyx_v_b);
  Py_DECREF(__pyx_v_c);
  Py_DECREF(__pyx_v_d);
  Py_DECREF(__pyx_v_e);
  Py_DECREF(__pyx_v_f);
  Py_DECREF(__pyx_v_iterations);
  return __pyx_r;
}