add operation and GCD