polynomial remainder