Rubyで「10を作れるか」を
総当りで調べるスクリプトを作った

このRubyスクリプトは、2011年2月に作ったもので、4つの数字から 四則演算(+ – * /)と括弧 を使って 10を作れるか(いわゆる“Make 10”)を総当たりで調べるためのプログラムです1

関数(メソッド)だけで構成されています。

関連記事

1. 全体の処理の流れ

全体の処理の流れ 1 数字の 順列生成 2 演算子 挿入 3 括弧の 付け方生成 4 式を評価 結果=10? 全パターンを生成し、10になるか判定
  1. 数字列(4個)を並べ替える(順列)
  2. 数字の間に演算子を挿入する(+ * – / の繰り返し組合せ)
  3. 演算子の数に応じて括弧の付け方を挿入する
  4. 式を評価して結果が10か判定する
  5. それを全パターンに対して実行して「10が作れる割合」などを出す
# parse "0 2 4 5" => ["0","2","4","5"]
def parse_instring(str)
  str.split(/¥s/)
end
def to_string(ary)
  ary.join(" ")
end
#p parse_instring("0 2 4 5") 

# 順列
# return: Array of Array, ary: Array
def permutate(ary)
  if (ary.length <= 1)
    [ary]
  else
    ans = []
    for i in 0...ary.length
      rest = ary.dup
      head = rest.delete_at(i)
      for tail in permutate(rest)
        ans.push([head].concat(tail))
      end
    end
    ans.uniq
  end
end
#p permutate([0, 0, 2, 8])

# 重複順列
def repeated_permutation(elements, times)
  if (times <= 1)
    ans = []
    for e in elements
      ans.push([e])
    end
    ans
  else
    ans = []
    for head in elements
      for tail in repeated_permutation(elements, times-1)
        ans.push([head].concat(tail))
      end
    end
    ans.uniq
  end
end
#p repeated_permutation([0,1,2], 3)

# return:Array of Array, ary: Array
def insert_operator(ary)
  work = ary.dup
  operators = ['+', '*', '-', '/']
  ans = []
  for ops in repeated_permutation(operators, work.length-1)
    a = []
    digits = ary.dup
    a.push(digits.shift)
    while ops.length > 0
      a.push ops.shift
      a.push digits.shift
    end
    ans.push a
  end
  ans.uniq
end
#p insert_operator([0,2,5,6])

def is_an_operator?(char)
  ['+', '*', '-', '/'].include?(char)  
end
def is_open_paren?(char)
  char == "("
end
def is_close_paren?(char)
  char == ")"
end
# aryの中のptr番目(0起算)の演算子の位置を得る
def operator_point(ary, ptr)
  cur_ptr = 0
  for i in 0...ary.length
    if is_an_operator?(ary[i])
      cur_ptr += 1
    end
    if cur_ptr > ptr
      #p "#{ary[i]} (:#{i}) is the Operator"
      break
    end
  end
  i
end

# aryの中のptr番目(0起算)の演算子に括弧をつける
def set_paren(ary, ptr)
  result = ary.dup
  op_ptr = operator_point(ary, ptr)
  open_ptr = open_paren_ptr(ary, op_ptr)
  close_ptr = close_paren_ptr(ary, op_ptr)
  result.insert(close_ptr, ")")
  result.insert(open_ptr, "(")
  result
end
# return番目に挿入するがよい
def open_paren_ptr(ary, op_ptr)
  wait_paren=0
  for i in 1...ary.length
    ptr = op_ptr-i
    if is_open_paren? ary[ptr]
      wait_paren-=1
    elsif is_close_paren? ary[ptr]
      wait_paren+=1
    end
    if wait_paren == 0
      break
    end
  end
  ptr
end
# return番目に挿入するがよい
def close_paren_ptr(ary, op_ptr)
  wait_paren=0
  for i in 1...ary.length
    ptr = op_ptr+i
    if is_open_paren? ary[ptr]
      wait_paren+=1
    elsif is_close_paren? ary[ptr]
      wait_paren-=1
    end
    if wait_paren == 0
      break
    end
  end
  ptr+1
end
#p set_paren(["(", 0, "+", 2, ")", "*", 5, "-", 6], 1)

# 
def insert_paren(ary)
  operator_num = ((ary.length-1)/2)
  order_origin = []
  for i in 0...operator_num
    order_origin.push(i)
  end
  ans = []
  for order in permutate(order_origin)
    work = ary.dup
    for i in 0...operator_num
      ptr = order[i]
      work = set_paren(work, ptr)
    end
    ans.push(work)
  end
  ans.uniq
end
#p insert_paren([0, "+", 2, "*", 5, "-", 6])

def precedence(op)
  case op
  when '+','-'
    1
  when '*','/'
    2
  when '(',')'
    0
  else
    0
  end
end
def calc_array(ary)
  rev = reverse_polish(ary)
  stack = []
  for token in rev
    case token
    when '+'
      stack.push(stack.pop + stack.pop)
    when '-'
      stack.push(0 - stack.pop + stack.pop)
    when '*'
      stack.push(stack.pop * stack.pop)
    when '/'
      divisor = stack.pop
      if (divisor == 0)
        return "NaN"
      else
        stack.push(1.0 * stack.pop / divisor)
      end
    else
      stack.push token
    end
  end
  stack[0]
end
def reverse_polish(ary)
  expression = ary.dup
  stack = []
  buffer = []
  while expression.length > 0
    token = expression.shift
    if token.is_a? Numeric
      buffer.push token
    elsif token == '('
      stack.push token
    elsif token == ')'
      while stack.length > 0
        op = stack.pop
        if op == '('
          break
        else
          buffer.push(op)
        end
      end
    else
      if stack.length == 0
        stack.push token
      else
        while stack.length > 0
          if precedence(token) < precedence(stack[stack.length-1])
            buffer.push(stack.pop)
          else
            stack.push token
            break
          end
        end
      end
    end
  end
  while stack.length > 0
    buffer.push stack.pop
  end
  buffer
end
#p calc_array(["(", "(", 0, "+", 2, ")","*", "(", 5, "-", 6, ")",  ")"])

#p permutate([0, 2, 4, 8])
#p insert_operator([0,2,5,6])
#p insert_paren([0, "+", 2, "*", 5, "-", 6])
#p calc_array(["(", "(", 0, "+", 2, ")","*", "(", 5, "-", 6, ")",  ")"])

def difficult_rate(ary)
  ans = 0
  max = 0
  for dig in permutate(ary)
    for dig_op in insert_operator(dig) 
      for exp in insert_paren(dig_op)
        max += 1
        if calc_array(exp) == 10
          ans += 1
        end
      end
    end
  end
  1.0 * ans / max
end
#p difficult_rate([0, 2, 4, 8])

def all_answer(ary)
  ans = []
  for dig in permutate(ary)
    for dig_op in insert_operator(dig) 
      for exp in insert_paren(dig_op)
        if calc_array(exp) == 10
          ans.push "#{exp} = #{calc_array(exp)}"
        end
      end
    end
  end
  puts ans.join("¥n")
  puts ans.length
end

def answerable?(ary)
  for dig in permutate(ary)
    for dig_op in insert_operator(dig) 
      for exp in insert_paren(dig_op)
        if calc_array(exp) == 10
          return true
        end
      end
    end
  end
  return false
end

#p answerable?([1,1,1,1])

def answerable_rate
  no_ans = []
  ans = []
  max = 0
  ans_num = 0
  no_an_num = 0
  for ary in repeated_permutation([0,1,2,3,4,5,6,7,8,9], 4)
    max+=1
    not_answered = false
    answered = false
    for no in no_ans
      if (no.sort) == (ary.sort)
        not_answered = true
      end
    end
    for a in ans
      if (a.sort) == (ary.sort)
        answered = true
      end
    end
    if not_answered 
      no_an_num += 1
      print "#{ary} "
    elsif answered
      ans_num +=1
      print "---- "
    else
      if answerable?(ary)
        ans_num +=1
        ans.push ary
        print "---- "
      else
        no_an_num += 1
        no_ans.push(ary)
        print "#{ary} "
      end
    end
    print "¥n" if max % 10 == 0
  end
  1.0*ans_num/max
end
def answerable_rate_stupid
  max = 0
  ans = 0
  
  for ary in repeated_permutation([0,1,2,3,4,5,6,7,8,9], 4)
    max+=1
    if answerable?(ary)
      ans+=1
    else
      print "#{ary} "
    end
  end
  1.0*ans/max
end
start = Time.now
p answerable_rate
puts "answerable_rate: Total time used is #{Time.now - start} seconds."

#start = Time.now
#p answerable_rate_stupid
#puts "answerable_rate_stupid: Total time used is #{Time.now - start} seconds."

Code language: PHP (php)

2. 定義されている関数一覧(役割つき)

2.1. 入出力・ユーティリティ

  • parse_instring(str)
    • "0 2 4 5" のような文字列を空白区切りで配列にします。
  • to_string(ary)
    • 配列を " " で連結して文字列にします。

2.2. 順列・重複順列(列挙)

順列・重複順列(列挙) 順列 permutate(ary) 入力: [0, 2, 4, 8] 出力: [0,2,4,8] [0,2,8,4] 重複順列 repeated_permutation 入力: [+,-,*,/], 3回 出力: [+,+,+] [+,+,-] 順列は並び替え全通り、重複順列は繰り返しありの組み合わせ
  • permutate(ary)
    • 配列の順列(並べ替え全通り)を返します(再帰的に生成)。
  • repeated_permutation(elements, times)
    • elements から長さ times の重複順列(繰り返しありの並び)を作ります。
    • 例:演算子4種類を3個並べる全通り、などに使っています。

2.3. 式の生成(演算子・括弧)

式の生成(演算子・括弧) 1. 演算子挿入 [0, 2, 5, 6] → [0, +, 2, *, 5, -, 6] 2. 括弧挿入 演算子の優先順位を変える全パターン生成 例: ((0 + 2) * (5 – 6)) 全ての演算子と括弧の組み合わせを生成
  • insert_operator(ary)
    • 数字の間に ['+','*','-','/'] を挿入して、トークン列(例:[0,'+',2,'*',5,'-',6])を全通り生成します。
  • is_an_operator?(char)
    • 与えたトークンが演算子か判定します。
  • is_open_paren?(char) / is_close_paren?(char)
    • ( / ) か判定します。
  • operator_point(ary, ptr)
    • ptr 番目の「演算子位置」を、括弧挿入のために実際の配列インデックスへ対応づけるための処理です(トークン列の中から“ptr番目の演算子”を探す用途)。
  • set_paren(ary, ptr)
    • ptr 番目の演算子に対応する位置へ括弧を追加するための中心関数です(内部で open/close の位置を決めて挿入)。
  • open_paren_ptr(ary, op_ptr)
    • ある演算子の左側に置く ( の位置を決めます(既存の括弧も考慮)。
  • close_paren_ptr(ary, op_ptr)
    • ある演算子の右側に置く ) の位置を決めます(既存の括弧も考慮)。
  • insert_paren(ary)
    • 演算子の数に応じて括弧を入れる位置の順序を変えながら、括弧の付け方全通りを生成して重複を除きます。

2.4. 評価(計算)

評価(計算) 逆ポーランド記法 中置記法: (0 + 2) * 5 逆ポーランド記法: 0 2 + 5 * スタック評価 10 2 5 計算プロセス 1. 数値をスタックに積む 2. 演算子で計算し結果を積む 逆ポーランド記法に変換してスタックで評価
  • precedence(op)
    • 演算子の優先順位を返します(*// を高く、+/- を低くする用途)。
  • reverse_polish(ary)
    • 中置記法のトークン列(括弧あり)を 逆ポーランド記法(RPN)へ変換します(いわゆる Shunting-yard 的処理)23
  • calc_array(ary)
    • reverse_polish の結果をスタックで評価して、式の値を返します4

2.5. 「10が作れるか」系

  • difficult_rate(ary)
    • 与えた4数字 ary について、作れる式全体のうち 結果が10になる割合10 になる式数 / 全式数)を返します。
  • all_answer(ary)
    • ary で10になる式を全部列挙して表示します("式 = 値" を出力)。
  • answerable?(ary)
    • ary で10が作れる式が1つでもあれば true、なければ false を返します。
  • answerable_rate
    • 0〜9の数字から4個を取る全パターン(重複あり、順序あり)を走査しつつ、
    • 数字の並び順は違っても同じ組(ソートした配列が同じ)なら再計算を省くために、ans / no_ansにキャッシュして高速化しています。
    • 結果として「10を作れる割合」を返します(ans_num/max)。
  • answerable_rate_stupid
    • 上記の高速化をせず、全パターンを毎回 answerable? で判定する素朴版です(コメントアウトされていて通常は実行されません)。

3. 実行部分(メイン)

末尾で以下を実行します。

  • start = Time.now
  • p answerable_rate
  • 実行時間(秒)を表示5
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 
0010 0011 0012 0013 0014 0015 0016 0017 0018 ---- 
0020 0021 0022 0023 0024 ---- 0026 0027 ---- 0029 
0030 0031 0032 0033 0034 0035 0036 ---- 0038 0039 
0040 0041 0042 0043 0044 0045 ---- 0047 0048 0049 
0050 0051 ---- 0053 0054 ---- 0056 0057 0058 0059 
0060 0061 0062 0063 ---- 0065 0066 0067 0068 0069 
0070 0071 0072 ---- 0074 0075 0076 0077 0078 0079 
0080 0081 ---- 0083 0084 0085 0086 0087 0088 0089 
0090 ---- 0092 0093 0094 0095 0096 0097 0098 0099 
0100 0101 0102 0103 0104 0105 0106 0107 0108 ---- 
0110 0111 0112 0113 0114 ---- 0116 0117 ---- ---- 
0120 0121 0122 0123 ---- ---- ---- ---- ---- ---- 
0130 0131 0132 ---- 0134 ---- ---- ---- ---- ---- 
0140 0141 ---- 0143 0144 ---- ---- ---- 0148 ---- 
0150 ---- ---- ---- ---- ---- ---- 0157 0158 ---- 
0160 0161 ---- ---- ---- ---- 0166 0167 0168 ---- 
0170 0171 ---- ---- ---- 0175 0176 0177 0178 ---- 
0180 ---- ---- ---- 0184 0185 0186 0187 0188 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0200 0201 0202 0203 0204 ---- 0206 0207 ---- 0209 
0210 0211 0212 0213 ---- ---- ---- ---- ---- ---- 
0220 0221 0222 ---- ---- ---- ---- ---- ---- ---- 
0230 0231 ---- 0233 ---- ---- 0236 ---- ---- ---- 
0240 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0260 ---- ---- 0263 ---- ---- ---- ---- ---- 0269 
0270 ---- ---- ---- ---- ---- ---- 0277 ---- 0279 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0290 ---- ---- ---- ---- ---- 0296 0297 ---- 0299 
0300 0301 0302 0303 0304 0305 0306 ---- 0308 0309 
0310 0311 0312 ---- 0314 ---- ---- ---- ---- ---- 
0320 0321 ---- 0323 ---- ---- 0326 ---- ---- ---- 
0330 ---- 0332 0333 ---- 0335 0336 ---- 0338 ---- 
0340 0341 ---- ---- 0344 0345 ---- ---- 0348 ---- 
0350 ---- ---- 0353 0354 ---- ---- ---- ---- 0359 
0360 ---- 0362 0363 ---- ---- 0366 ---- ---- 0369 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0380 ---- ---- 0383 0384 ---- ---- ---- 0388 0389 
0390 ---- ---- ---- ---- 0395 0396 ---- 0398 0399 
0400 0401 0402 0403 0404 0405 ---- 0407 0408 0409 
0410 0411 ---- 0413 0414 ---- ---- ---- 0418 ---- 
0420 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0430 0431 ---- ---- 0434 0435 ---- ---- 0438 ---- 
0440 0441 ---- 0443 0444 0445 ---- 0447 0448 ---- 
0450 ---- ---- 0453 0454 ---- ---- 0457 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0470 ---- ---- ---- 0474 0475 ---- ---- 0478 0479 
0480 0481 ---- 0483 0484 ---- ---- 0487 ---- 0489 
0490 ---- ---- ---- ---- ---- ---- 0497 0498 0499 
0500 0501 ---- 0503 0504 ---- 0506 0507 0508 0509 
0510 ---- ---- ---- ---- ---- ---- 0517 0518 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0530 ---- ---- 0533 0534 ---- ---- ---- ---- 0539 
0540 ---- ---- 0543 0544 ---- ---- 0547 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0560 ---- ---- ---- ---- ---- 0566 0567 ---- ---- 
0570 0571 ---- ---- 0574 ---- 0576 0577 ---- ---- 
0580 0581 ---- ---- ---- ---- ---- ---- 0588 0589 
0590 ---- ---- 0593 ---- ---- ---- ---- 0598 0599 
0600 0601 0602 0603 ---- 0605 0606 0607 0608 0609 
0610 0611 ---- ---- ---- ---- 0616 0617 0618 ---- 
0620 ---- ---- 0623 ---- ---- ---- ---- ---- 0629 
0630 ---- 0632 0633 ---- ---- 0636 ---- ---- 0639 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0650 ---- ---- ---- ---- ---- 0656 0657 ---- ---- 
0660 0661 ---- 0663 ---- 0665 0666 0667 0668 ---- 
0670 0671 ---- ---- ---- 0675 0676 0677 0678 ---- 
0680 0681 ---- ---- ---- ---- 0686 0687 ---- 0689 
0690 ---- 0692 0693 ---- ---- ---- ---- 0698 0699 
0700 0701 0702 ---- 0704 0705 0706 0707 0708 0709 
0710 0711 ---- ---- ---- 0715 0716 0717 0718 ---- 
0720 ---- ---- ---- ---- ---- ---- 0727 ---- 0729 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0740 ---- ---- ---- 0744 0745 ---- ---- 0748 0749 
0750 0751 ---- ---- 0754 ---- 0756 0757 ---- ---- 
0760 0761 ---- ---- ---- 0765 0766 0767 0768 ---- 
0770 0771 0772 ---- ---- 0775 0776 0777 0778 ---- 
0780 0781 ---- ---- 0784 ---- 0786 0787 0788 ---- 
0790 ---- 0792 ---- 0794 ---- ---- ---- ---- 0799 
0800 0801 ---- 0803 0804 0805 0806 0807 0808 0809 
0810 ---- ---- ---- 0814 0815 0816 0817 0818 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0830 ---- ---- 0833 0834 ---- ---- ---- 0838 0839 
0840 0841 ---- 0843 0844 ---- ---- 0847 ---- 0849 
0850 0851 ---- ---- ---- ---- ---- ---- 0858 0859 
0860 0861 ---- ---- ---- ---- 0866 0867 ---- 0869 
0870 0871 ---- ---- 0874 ---- 0876 0877 0878 ---- 
0880 0881 ---- 0883 ---- 0885 ---- 0887 0888 ---- 
0890 ---- ---- 0893 0894 0895 0896 ---- ---- ---- 
0900 ---- 0902 0903 0904 0905 0906 0907 0908 0909 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
0920 ---- ---- ---- ---- ---- 0926 0927 ---- 0929 
0930 ---- ---- ---- ---- 0935 0936 ---- 0938 0939 
0940 ---- ---- ---- ---- ---- ---- 0947 0948 0949 
0950 ---- ---- 0953 ---- ---- ---- ---- 0958 0959 
0960 ---- 0962 0963 ---- ---- ---- ---- 0968 0969 
0970 ---- 0972 ---- 0974 ---- ---- ---- ---- 0979 
0980 ---- ---- 0983 0984 0985 0986 ---- ---- ---- 
0990 ---- 0992 0993 0994 0995 0996 0997 ---- ---- 
1000 1001 1002 1003 1004 1005 1006 1007 1008 ---- 
1010 1011 1012 1013 1014 ---- 1016 1017 ---- ---- 
1020 1021 1022 1023 ---- ---- ---- ---- ---- ---- 
1030 1031 1032 ---- 1034 ---- ---- ---- ---- ---- 
1040 1041 ---- 1043 1044 ---- ---- ---- 1048 ---- 
1050 ---- ---- ---- ---- ---- ---- 1057 1058 ---- 
1060 1061 ---- ---- ---- ---- 1066 1067 1068 ---- 
1070 1071 ---- ---- ---- 1075 1076 1077 1078 ---- 
1080 ---- ---- ---- 1084 1085 1086 1087 1088 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1100 1101 1102 1103 1104 ---- 1106 1107 ---- ---- 
1110 1111 1112 1113 ---- ---- ---- ---- ---- ---- 
1120 1121 1122 ---- ---- ---- ---- ---- ---- ---- 
1130 1131 ---- ---- ---- ---- ---- ---- ---- ---- 
1140 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1159 
1160 ---- ---- ---- ---- ---- ---- ---- ---- 1169 
1170 ---- ---- ---- ---- ---- ---- 1177 1178 1179 
---- ---- ---- ---- ---- ---- ---- 1187 1188 ---- 
---- ---- ---- ---- ---- 1195 1196 1197 ---- ---- 
1200 1201 1202 1203 ---- ---- ---- ---- ---- ---- 
1210 1211 1212 ---- ---- ---- ---- ---- ---- ---- 
1220 1221 ---- ---- ---- ---- ---- ---- ---- ---- 
1230 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1300 1301 1302 ---- 1304 ---- ---- ---- ---- ---- 
1310 1311 ---- ---- ---- ---- ---- ---- ---- ---- 
1320 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1340 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1399 
1400 1401 ---- 1403 1404 ---- ---- ---- 1408 ---- 
1410 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1430 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1440 ---- ---- ---- 1444 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1480 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1499 
1500 ---- ---- ---- ---- ---- ---- 1507 1508 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1519 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1570 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1580 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- 1591 ---- ---- ---- ---- ---- ---- ---- ---- 
1600 1601 ---- ---- ---- ---- 1606 1607 1608 ---- 
1610 ---- ---- ---- ---- ---- ---- ---- ---- 1619 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1660 ---- ---- ---- ---- ---- 1666 1667 ---- ---- 
1670 ---- ---- ---- ---- ---- 1676 1677 ---- ---- 
1680 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- 1691 ---- ---- ---- ---- ---- ---- ---- 1699 
1700 1701 ---- ---- ---- 1705 1706 1707 1708 ---- 
1710 ---- ---- ---- ---- ---- ---- 1717 1718 1719 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1750 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1760 ---- ---- ---- ---- ---- 1766 1767 ---- ---- 
1770 1771 ---- ---- ---- ---- 1776 1777 ---- ---- 
1780 1781 ---- ---- ---- ---- ---- ---- ---- ---- 
---- 1791 ---- ---- ---- ---- ---- ---- ---- ---- 
1800 ---- ---- ---- 1804 1805 1806 1807 1808 ---- 
---- ---- ---- ---- ---- ---- ---- 1817 1818 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1840 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1850 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1860 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
1870 1871 ---- ---- ---- ---- ---- ---- ---- ---- 
1880 1881 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 1915 1916 1917 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1939 
---- ---- ---- ---- ---- ---- ---- ---- ---- 1949 
---- 1951 ---- ---- ---- ---- ---- ---- ---- ---- 
---- 1961 ---- ---- ---- ---- ---- ---- ---- 1969 
---- 1971 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 1993 1994 ---- 1996 ---- ---- ---- 
2000 2001 2002 2003 2004 ---- 2006 2007 ---- 2009 
2010 2011 2012 2013 ---- ---- ---- ---- ---- ---- 
2020 2021 2022 ---- ---- ---- ---- ---- ---- ---- 
2030 2031 ---- 2033 ---- ---- 2036 ---- ---- ---- 
2040 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2060 ---- ---- 2063 ---- ---- ---- ---- ---- 2069 
2070 ---- ---- ---- ---- ---- ---- 2077 ---- 2079 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2090 ---- ---- ---- ---- ---- 2096 2097 ---- 2099 
2100 2101 2102 2103 ---- ---- ---- ---- ---- ---- 
2110 2111 2112 ---- ---- ---- ---- ---- ---- ---- 
2120 2121 ---- ---- ---- ---- ---- ---- ---- ---- 
2130 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2200 2201 2202 ---- ---- ---- ---- ---- ---- ---- 
2210 2211 ---- ---- ---- ---- ---- ---- ---- ---- 
2220 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 2257 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 2275 ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2300 2301 ---- 2303 ---- ---- 2306 ---- ---- ---- 
2310 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2330 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2360 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2400 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 2527 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 2572 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2600 ---- ---- 2603 ---- ---- ---- ---- ---- 2609 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2630 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2690 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2700 ---- ---- ---- ---- ---- ---- 2707 ---- 2709 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 2725 ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 2752 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2770 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2790 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2900 ---- ---- ---- ---- ---- 2906 2907 ---- 2909 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2960 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2970 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
2990 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3000 3001 3002 3003 3004 3005 3006 ---- 3008 3009 
3010 3011 3012 ---- 3014 ---- ---- ---- ---- ---- 
3020 3021 ---- 3023 ---- ---- 3026 ---- ---- ---- 
3030 ---- 3032 3033 ---- 3035 3036 ---- 3038 ---- 
3040 3041 ---- ---- 3044 3045 ---- ---- 3048 ---- 
3050 ---- ---- 3053 3054 ---- ---- ---- ---- 3059 
3060 ---- 3062 3063 ---- ---- 3066 ---- ---- 3069 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3080 ---- ---- 3083 3084 ---- ---- ---- 3088 3089 
3090 ---- ---- ---- ---- 3095 3096 ---- 3098 3099 
3100 3101 3102 ---- 3104 ---- ---- ---- ---- ---- 
3110 3111 ---- ---- ---- ---- ---- ---- ---- ---- 
3120 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3140 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 3199 
3200 3201 ---- 3203 ---- ---- 3206 ---- ---- ---- 
3210 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3230 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3260 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3300 ---- 3302 3303 ---- 3305 3306 ---- 3308 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3320 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3330 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3350 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3360 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3380 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3400 3401 ---- ---- 3404 3405 ---- ---- 3408 ---- 
3410 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3440 ---- ---- ---- 3444 ---- ---- ---- ---- ---- 
3450 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3480 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3500 ---- ---- 3503 3504 ---- ---- ---- ---- 3509 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3530 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3540 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3590 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3600 ---- 3602 3603 ---- ---- 3606 ---- ---- 3609 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3620 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3630 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3660 ---- ---- ---- ---- ---- ---- ---- ---- 3669 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3690 ---- ---- ---- ---- ---- 3696 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 3779 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 3797 ---- ---- 
3800 ---- ---- 3803 3804 ---- ---- ---- 3808 3809 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3830 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3840 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3880 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3890 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3900 ---- ---- ---- ---- 3905 3906 ---- 3908 3909 
---- ---- ---- ---- ---- ---- ---- ---- ---- 3919 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3950 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3960 ---- ---- ---- ---- ---- 3966 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 3977 ---- ---- 
3980 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
3990 3991 ---- ---- ---- ---- ---- ---- ---- 3999 
4000 4001 4002 4003 4004 4005 ---- 4007 4008 4009 
4010 4011 ---- 4013 4014 ---- ---- ---- 4018 ---- 
4020 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4030 4031 ---- ---- 4034 4035 ---- ---- 4038 ---- 
4040 4041 ---- 4043 4044 4045 ---- 4047 4048 ---- 
4050 ---- ---- 4053 4054 ---- ---- 4057 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4070 ---- ---- ---- 4074 4075 ---- ---- 4078 4079 
4080 4081 ---- 4083 4084 ---- ---- 4087 ---- 4089 
4090 ---- ---- ---- ---- ---- ---- 4097 4098 4099 
4100 4101 ---- 4103 4104 ---- ---- ---- 4108 ---- 
4110 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4130 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4140 ---- ---- ---- 4144 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4180 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 4199 
4200 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4300 4301 ---- ---- 4304 4305 ---- ---- 4308 ---- 
4310 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4340 ---- ---- ---- 4344 ---- ---- ---- ---- ---- 
4350 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4380 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4400 4401 ---- 4403 4404 4405 ---- 4407 4408 ---- 
4410 ---- ---- ---- 4414 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4430 ---- ---- ---- 4434 ---- ---- ---- ---- ---- 
4440 4441 ---- 4443 4444 ---- ---- ---- ---- ---- 
4450 ---- ---- ---- ---- ---- ---- ---- ---- 4459 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4470 ---- ---- ---- ---- ---- ---- 4477 ---- ---- 
4480 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 4495 ---- ---- ---- ---- 
4500 ---- ---- 4503 4504 ---- ---- 4507 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4530 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4540 ---- ---- ---- ---- ---- ---- ---- ---- 4549 
---- ---- ---- ---- ---- ---- ---- ---- 4558 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4570 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 4585 ---- ---- ---- ---- 
---- ---- ---- ---- 4594 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4700 ---- ---- ---- 4704 4705 ---- ---- 4708 4709 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4740 ---- ---- ---- ---- ---- ---- 4747 ---- ---- 
4750 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- 4774 ---- ---- ---- ---- ---- 
4780 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4790 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4800 4801 ---- 4803 4804 ---- ---- 4807 ---- 4809 
4810 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4830 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4840 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 4855 ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4870 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4890 ---- ---- ---- ---- ---- ---- ---- ---- 4899 
4900 ---- ---- ---- ---- ---- ---- 4907 4908 4909 
---- ---- ---- ---- ---- ---- ---- ---- ---- 4919 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 4945 ---- ---- ---- ---- 
---- ---- ---- ---- 4954 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4970 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
4980 ---- ---- ---- ---- ---- ---- ---- ---- 4989 
4990 4991 ---- ---- ---- ---- ---- ---- 4998 4999 
5000 5001 ---- 5003 5004 ---- 5006 5007 5008 5009 
5010 ---- ---- ---- ---- ---- ---- 5017 5018 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5030 ---- ---- 5033 5034 ---- ---- ---- ---- 5039 
5040 ---- ---- 5043 5044 ---- ---- 5047 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5060 ---- ---- ---- ---- ---- 5066 5067 ---- ---- 
5070 5071 ---- ---- 5074 ---- 5076 5077 ---- ---- 
5080 5081 ---- ---- ---- ---- ---- ---- 5088 5089 
5090 ---- ---- 5093 ---- ---- ---- ---- 5098 5099 
5100 ---- ---- ---- ---- ---- ---- 5107 5108 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 5119 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5170 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5180 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- 5191 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 5227 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 5272 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5300 ---- ---- 5303 5304 ---- ---- ---- ---- 5309 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5330 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5340 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5390 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5400 ---- ---- 5403 5404 ---- ---- 5407 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5430 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5440 ---- ---- ---- ---- ---- ---- ---- ---- 5449 
---- ---- ---- ---- ---- ---- ---- ---- 5458 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5470 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 5485 ---- ---- ---- ---- 
---- ---- ---- ---- 5494 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 5548 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- 5584 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5600 ---- ---- ---- ---- ---- 5606 5607 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5660 ---- ---- ---- ---- ---- ---- ---- 5668 ---- 
5670 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 5686 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5700 5701 ---- ---- 5704 ---- 5706 5707 ---- ---- 
5710 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 5722 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5740 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5760 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5770 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 5788 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 5799 
5800 5801 ---- ---- ---- ---- ---- ---- 5808 5809 
5810 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 5845 ---- ---- ---- ---- 
---- ---- ---- ---- 5854 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 5866 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 5878 ---- 
5880 ---- ---- ---- ---- ---- ---- 5887 ---- ---- 
5890 ---- ---- ---- ---- ---- ---- ---- ---- 5899 
5900 ---- ---- 5903 ---- ---- ---- ---- 5908 5909 
---- 5911 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
5930 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- 5944 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 5979 
5980 ---- ---- ---- ---- ---- ---- ---- ---- 5989 
5990 ---- ---- ---- ---- ---- ---- 5997 5998 ---- 
6000 6001 6002 6003 ---- 6005 6006 6007 6008 6009 
6010 6011 ---- ---- ---- ---- 6016 6017 6018 ---- 
6020 ---- ---- 6023 ---- ---- ---- ---- ---- 6029 
6030 ---- 6032 6033 ---- ---- 6036 ---- ---- 6039 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6050 ---- ---- ---- ---- ---- 6056 6057 ---- ---- 
6060 6061 ---- 6063 ---- 6065 6066 6067 6068 ---- 
6070 6071 ---- ---- ---- 6075 6076 6077 6078 ---- 
6080 6081 ---- ---- ---- ---- 6086 6087 ---- 6089 
6090 ---- 6092 6093 ---- ---- ---- ---- 6098 6099 
6100 6101 ---- ---- ---- ---- 6106 6107 6108 ---- 
6110 ---- ---- ---- ---- ---- ---- ---- ---- 6119 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6160 ---- ---- ---- ---- ---- 6166 6167 ---- ---- 
6170 ---- ---- ---- ---- ---- 6176 6177 ---- ---- 
6180 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- 6191 ---- ---- ---- ---- ---- ---- ---- 6199 
6200 ---- ---- 6203 ---- ---- ---- ---- ---- 6209 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6230 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6290 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6300 ---- 6302 6303 ---- ---- 6306 ---- ---- 6309 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6320 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6330 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6360 ---- ---- ---- ---- ---- ---- ---- ---- 6369 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6390 ---- ---- ---- ---- ---- 6396 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6500 ---- ---- ---- ---- ---- 6506 6507 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6560 ---- ---- ---- ---- ---- ---- ---- 6568 ---- 
6570 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 6586 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6600 6601 ---- 6603 ---- 6605 6606 6607 6608 ---- 
6610 ---- ---- ---- ---- ---- 6616 6617 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6630 ---- ---- ---- ---- ---- ---- ---- ---- 6639 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6650 ---- ---- ---- ---- ---- ---- ---- 6658 ---- 
6660 6661 ---- ---- ---- ---- 6666 6667 ---- ---- 
6670 6671 ---- ---- ---- ---- 6676 6677 ---- ---- 
6680 ---- ---- ---- ---- 6685 ---- ---- ---- ---- 
---- ---- ---- 6693 ---- ---- ---- ---- ---- ---- 
6700 6701 ---- ---- ---- 6705 6706 6707 6708 ---- 
6710 ---- ---- ---- ---- ---- 6716 6717 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6750 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6760 6761 ---- ---- ---- ---- 6766 6767 ---- ---- 
6770 6771 ---- ---- ---- ---- 6776 6777 6778 ---- 
6780 ---- ---- ---- ---- ---- ---- 6787 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6800 6801 ---- ---- ---- ---- 6806 6807 ---- 6809 
6810 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 6856 ---- ---- ---- 
6860 ---- ---- ---- ---- 6865 ---- ---- ---- ---- 
6870 ---- ---- ---- ---- ---- ---- 6877 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 6888 ---- 
6890 ---- ---- ---- ---- ---- ---- ---- ---- 6899 
6900 ---- 6902 6903 ---- ---- ---- ---- 6908 6909 
---- 6911 ---- ---- ---- ---- ---- ---- ---- 6919 
6920 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6930 ---- ---- ---- ---- ---- 6936 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 6963 ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
6980 ---- ---- ---- ---- ---- ---- ---- ---- 6989 
6990 6991 ---- ---- ---- ---- ---- ---- 6998 6999 
7000 7001 7002 ---- 7004 7005 7006 7007 7008 7009 
7010 7011 ---- ---- ---- 7015 7016 7017 7018 ---- 
7020 ---- ---- ---- ---- ---- ---- 7027 ---- 7029 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7040 ---- ---- ---- 7044 7045 ---- ---- 7048 7049 
7050 7051 ---- ---- 7054 ---- 7056 7057 ---- ---- 
7060 7061 ---- ---- ---- 7065 7066 7067 7068 ---- 
7070 7071 7072 ---- ---- 7075 7076 7077 7078 ---- 
7080 7081 ---- ---- 7084 ---- 7086 7087 7088 ---- 
7090 ---- 7092 ---- 7094 ---- ---- ---- ---- 7099 
7100 7101 ---- ---- ---- 7105 7106 7107 7108 ---- 
7110 ---- ---- ---- ---- ---- ---- 7117 7118 7119 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7150 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7160 ---- ---- ---- ---- ---- 7166 7167 ---- ---- 
7170 7171 ---- ---- ---- ---- 7176 7177 ---- ---- 
7180 7181 ---- ---- ---- ---- ---- ---- ---- ---- 
---- 7191 ---- ---- ---- ---- ---- ---- ---- ---- 
7200 ---- ---- ---- ---- ---- ---- 7207 ---- 7209 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 7225 ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 7252 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7270 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7290 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 7379 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 7397 ---- ---- 
7400 ---- ---- ---- 7404 7405 ---- ---- 7408 7409 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7440 ---- ---- ---- ---- ---- ---- 7447 ---- ---- 
7450 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- 7474 ---- ---- ---- ---- ---- 
7480 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7490 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7500 7501 ---- ---- 7504 ---- 7506 7507 ---- ---- 
7510 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- 7522 ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7540 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7560 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7570 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 7588 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 7599 
7600 7601 ---- ---- ---- 7605 7606 7607 7608 ---- 
7610 ---- ---- ---- ---- ---- 7616 7617 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7650 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7660 7661 ---- ---- ---- ---- 7666 7667 ---- ---- 
7670 7671 ---- ---- ---- ---- 7676 7677 7678 ---- 
7680 ---- ---- ---- ---- ---- ---- 7687 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7700 7701 7702 ---- ---- 7705 7706 7707 7708 ---- 
7710 7711 ---- ---- ---- ---- 7716 7717 ---- ---- 
7720 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 7739 
---- ---- ---- ---- 7744 ---- ---- ---- ---- ---- 
7750 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7760 7761 ---- ---- ---- ---- 7766 7767 7768 ---- 
7770 7771 ---- ---- ---- ---- 7776 7777 ---- ---- 
7780 ---- ---- ---- ---- ---- 7786 ---- 7788 7789 
---- ---- ---- 7793 ---- ---- ---- ---- 7798 7799 
7800 7801 ---- ---- 7804 ---- 7806 7807 7808 ---- 
7810 7811 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
7840 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 7858 ---- 
7860 ---- ---- ---- ---- ---- ---- 7867 ---- ---- 
7870 ---- ---- ---- ---- ---- 7876 ---- 7878 7879 
7880 ---- ---- ---- ---- 7885 ---- 7887 7888 ---- 
---- ---- ---- ---- ---- ---- ---- 7897 ---- ---- 
7900 ---- 7902 ---- 7904 ---- ---- ---- ---- 7909 
---- 7911 ---- ---- ---- ---- ---- ---- ---- ---- 
7920 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 7937 ---- ---- 
7940 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 7959 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 7973 ---- ---- ---- ---- 7978 7979 
---- ---- ---- ---- ---- ---- ---- 7987 ---- ---- 
7990 ---- ---- ---- ---- 7995 ---- 7997 ---- 7999 
8000 8001 ---- 8003 8004 8005 8006 8007 8008 8009 
8010 ---- ---- ---- 8014 8015 8016 8017 8018 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8030 ---- ---- 8033 8034 ---- ---- ---- 8038 8039 
8040 8041 ---- 8043 8044 ---- ---- 8047 ---- 8049 
8050 8051 ---- ---- ---- ---- ---- ---- 8058 8059 
8060 8061 ---- ---- ---- ---- 8066 8067 ---- 8069 
8070 8071 ---- ---- 8074 ---- 8076 8077 8078 ---- 
8080 8081 ---- 8083 ---- 8085 ---- 8087 8088 ---- 
8090 ---- ---- 8093 8094 8095 8096 ---- ---- ---- 
8100 ---- ---- ---- 8104 8105 8106 8107 8108 ---- 
---- ---- ---- ---- ---- ---- ---- 8117 8118 ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8140 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8150 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8160 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8170 8171 ---- ---- ---- ---- ---- ---- ---- ---- 
8180 8181 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8300 ---- ---- 8303 8304 ---- ---- ---- 8308 8309 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8330 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8340 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8380 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8390 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8400 8401 ---- 8403 8404 ---- ---- 8407 ---- 8409 
8410 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8430 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8440 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 8455 ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8470 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8490 ---- ---- ---- ---- ---- ---- ---- ---- 8499 
8500 8501 ---- ---- ---- ---- ---- ---- 8508 8509 
8510 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 8545 ---- ---- ---- ---- 
---- ---- ---- ---- 8554 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 8566 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 8578 ---- 
8580 ---- ---- ---- ---- ---- ---- 8587 ---- ---- 
8590 ---- ---- ---- ---- ---- ---- ---- ---- 8599 
8600 8601 ---- ---- ---- ---- 8606 8607 ---- 8609 
8610 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- 8656 ---- ---- ---- 
8660 ---- ---- ---- ---- 8665 ---- ---- ---- ---- 
8670 ---- ---- ---- ---- ---- ---- 8677 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 8688 ---- 
8690 ---- ---- ---- ---- ---- ---- ---- ---- 8699 
8700 8701 ---- ---- 8704 ---- 8706 8707 8708 ---- 
8710 8711 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8740 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 8758 ---- 
8760 ---- ---- ---- ---- ---- ---- 8767 ---- ---- 
8770 ---- ---- ---- ---- ---- 8776 ---- 8778 8779 
8780 ---- ---- ---- ---- 8785 ---- 8787 8788 ---- 
---- ---- ---- ---- ---- ---- ---- 8797 ---- ---- 
8800 8801 ---- 8803 ---- 8805 ---- 8807 8808 ---- 
8810 8811 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8830 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8850 ---- ---- ---- ---- ---- ---- 8857 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- 8868 ---- 
8870 ---- ---- ---- ---- 8875 ---- 8877 8878 ---- 
8880 ---- ---- ---- ---- ---- 8886 8887 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 8899 
8900 ---- ---- 8903 8904 8905 8906 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8930 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
8940 ---- ---- ---- ---- ---- ---- ---- ---- 8949 
8950 ---- ---- ---- ---- ---- ---- ---- ---- 8959 
8960 ---- ---- ---- ---- ---- ---- ---- ---- 8969 
---- ---- ---- ---- ---- ---- ---- 8977 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 8989 
---- ---- ---- ---- 8994 8995 8996 ---- 8998 ---- 
9000 ---- 9002 9003 9004 9005 9006 9007 9008 9009 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9020 ---- ---- ---- ---- ---- 9026 9027 ---- 9029 
9030 ---- ---- ---- ---- 9035 9036 ---- 9038 9039 
9040 ---- ---- ---- ---- ---- ---- 9047 9048 9049 
9050 ---- ---- 9053 ---- ---- ---- ---- 9058 9059 
9060 ---- 9062 9063 ---- ---- ---- ---- 9068 9069 
9070 ---- 9072 ---- 9074 ---- ---- ---- ---- 9079 
9080 ---- ---- 9083 9084 9085 9086 ---- ---- ---- 
9090 ---- 9092 9093 9094 9095 9096 9097 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 9115 9116 9117 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9139 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9149 
---- 9151 ---- ---- ---- ---- ---- ---- ---- ---- 
---- 9161 ---- ---- ---- ---- ---- ---- ---- 9169 
---- 9171 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 9193 9194 ---- 9196 ---- ---- ---- 
9200 ---- ---- ---- ---- ---- 9206 9207 ---- 9209 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9260 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9270 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9290 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9300 ---- ---- ---- ---- 9305 9306 ---- 9308 9309 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9319 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9350 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9360 ---- ---- ---- ---- ---- 9366 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 9377 ---- ---- 
9380 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9390 9391 ---- ---- ---- ---- ---- ---- ---- 9399 
9400 ---- ---- ---- ---- ---- ---- 9407 9408 9409 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9419 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- 9445 ---- ---- ---- ---- 
---- ---- ---- ---- 9454 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9470 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9480 ---- ---- ---- ---- ---- ---- ---- ---- 9489 
9490 9491 ---- ---- ---- ---- ---- ---- 9498 9499 
9500 ---- ---- 9503 ---- ---- ---- ---- 9508 9509 
---- 9511 ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9530 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- 9544 ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9579 
9580 ---- ---- ---- ---- ---- ---- ---- ---- 9589 
9590 ---- ---- ---- ---- ---- ---- 9597 9598 ---- 
9600 ---- 9602 9603 ---- ---- ---- ---- 9608 9609 
---- 9611 ---- ---- ---- ---- ---- ---- ---- 9619 
9620 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9630 ---- ---- ---- ---- ---- 9636 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 9663 ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9680 ---- ---- ---- ---- ---- ---- ---- ---- 9689 
9690 9691 ---- ---- ---- ---- ---- ---- 9698 9699 
9700 ---- 9702 ---- 9704 ---- ---- ---- ---- 9709 
---- 9711 ---- ---- ---- ---- ---- ---- ---- ---- 
9720 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 9737 ---- ---- 
9740 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9759 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- 9773 ---- ---- ---- ---- 9778 9779 
---- ---- ---- ---- ---- ---- ---- 9787 ---- ---- 
9790 ---- ---- ---- ---- 9795 ---- 9797 ---- 9799 
9800 ---- ---- 9803 9804 9805 9806 ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9830 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9840 ---- ---- ---- ---- ---- ---- ---- ---- 9849 
9850 ---- ---- ---- ---- ---- ---- ---- ---- 9859 
9860 ---- ---- ---- ---- ---- ---- ---- ---- 9869 
---- ---- ---- ---- ---- ---- ---- 9877 ---- ---- 
---- ---- ---- ---- ---- ---- ---- ---- ---- 9889 
---- ---- ---- ---- 9894 9895 9896 ---- 9898 ---- 
9900 ---- 9902 9903 9904 9905 9906 9907 ---- ---- 
---- ---- ---- 9913 9914 ---- 9916 ---- ---- ---- 
9920 ---- ---- ---- ---- ---- ---- ---- ---- ---- 
9930 9931 ---- ---- ---- ---- ---- ---- ---- 9939 
9940 9941 ---- ---- ---- ---- ---- ---- 9948 9949 
9950 ---- ---- ---- ---- ---- ---- 9957 9958 ---- 
9960 9961 ---- ---- ---- ---- ---- ---- 9968 9969 
9970 ---- ---- ---- ---- 9975 ---- 9977 ---- 9979 
---- ---- ---- ---- 9984 9985 9986 ---- 9988 ---- 
---- ---- ---- 9993 9994 ---- 9996 9997 ---- ---- 
0.8147
answerable_rate: Total time used is 757.3125 seconds.
Code language: CSS (css)
  1. Make 10(メイクテン)は、テンパズルや10パズルとも呼ばれる数学パズルです。4つの数字と四則演算(+, -, ×, ÷)と括弧を使って10を作る遊びで、切符の番号や車のナンバープレートなどを使った短時間の遊びとして親しまれています。一般的に、0を含まない4つの異なる数字であれば必ず解けるという法則が知られています。 – テンパズル – Wikipedia
  2. 逆ポーランド記法(Reverse Polish Notation, RPN)は、演算子を被演算子の後に記述する後置記法です。中置記法「3 + 4」は逆ポーランド記法では「3 4 +」となります。スタック構造を利用して単純な操作で計算できるため、初期のプログラミング言語ForthやPostScriptで採用されました。 – 逆ポーランド記法 – Wikipedia
  3. Shunting-yard アルゴリズムは、オランダの計算機科学者エドガー・ダイクストラが1961年に発表した、中置記法の数式を逆ポーランド記法(後置記法)に変換するアルゴリズムです。鉄道の操車場(shunting yard)の動作に似ていることからこの名前が付けられました。演算子の優先順位と結合規則を考慮しながら、スタックを使って変換を行います。 – Shunting yard algorithm – Wikipedia
  4. スタック(Stack)は、最後に追加したデータを最初に取り出す「後入れ先出し(LIFO: Last In First Out)」のデータ構造です。逆ポーランド記法の評価では、数値をスタックに積み、演算子が来たらスタックから2つの値を取り出して演算し、結果を再びスタックに積むという単純な操作で計算が完了します。 – 逆ポーランド記法 – Wikipedia
  5. 0〜9の数字から重複を許して4個を取る全10,000パターン(10^4)を調査した結果、約81.47%のパターンで10を作成できることが確認されました。数字の並び順が異なる同じ組み合わせ(例:1234と4321)は同一とみなし、キャッシュを使って計算を高速化しています。 – 10パズル解答ジェネレーター – instant tools