Relating organizations and author have No liability for any loss of profits
whatever arising from the use of this product. Permission to use and copy this
software and its documentation is hereby granted.
This software is free to be modified only for academic purpose and personal use.
However, We do Not assume responsibility for any personally customized versions.

                  Copyright (c) 2010 Olivia Developer Team, Hokkaido University.

