Самый красивый все же матричный способ.