long arithmetic