Change to labeled CHECK
Change to use negative value of BASE as an index of data container
Fix an issue that incorrect value is returned caused by collision of BASE
Optimize for memory usage
Remove unneeded condition for `if'
Modified to allocate memory by the amount required for the BASE/CHECK array