Copyright (C) Yutaro Arai. All Rights Reserved.@@