shを汎用性が高いようにした