Copyright (c) 2016 by Vasiliy Shishkin. All rights reserved.