compare()が1回足りてない気がする
しかし、それを追加したところで結果が変わらないから別なところに原因があるのか