パターンマッチ変更
ただし見ての通り予期せぬ入力に対してのエラー処理をしてません