using long cmp()