少し変わった感じで実装してみました