docs: def top2_reduced(votes):
      """
      Description:
          Top 2 alternatives 12 moment conditions values calculation
      Parameters:
          votes: ordinal preference data (numpy ndarray of integers)
      """
      res = np.zeros(12)
      for vote in votes:
          # the top ranked alternative is in vote[0][0], second in vote[1][0]
          if vote[0][0] == 0: # i.e. the first alt is ranked first
              res[0] += 1
              if vote[1][0] == 2:
                  res[4] += 1
              elif vote[1][0] == 3:
                  res[5] += 1
          elif vote[0][0] == 1:
              res[1] += 1
              if vote[1][0] == 0:
                  res[6] += 1
              elif vote[1][0] == 3:
                  res[7] += 1
          elif vote[0][0] == 2:
              res[2] += 1
              if vote[1][0] == 0:
                  res[8] += 1
              elif vote[1][0] == 1:
                  res[9] += 1
          elif vote[0][0] == 3:
              res[3] += 1
              if vote[1][0] == 1:
                  res[10] += 1
              elif vote[1][0] == 2:
                  res[11] += 1
      res /= len(votes)
      return res