#include \n#include \n\nusing namespace std;\n\nstring add(string num1, string num2) {\n int carry = 0;\n string result = "";\n int i = num1.length() - 1, j = num2.length() - 1;\n\n while (i >= 0 || j >= 0 || carry != 0) {\n int digit1 = (i >= 0) ? num1[i] - '0' : 0;\n int digit2 = (j >= 0) ? num2[j] - '0' : 0;\n int sum = digit1 + digit2 + carry;\n result = to_string(sum % 10) + result;\n carry = sum / 10;\n i--;\n j--;\n }\n\n return result;\n}\n\nstring subtract(string num1, string num2) {\n int borrow = 0;\n string result = "";\n int i = num1.length() - 1, j = num2.length() - 1;\n\n while (i >= 0 || j >= 0) {\n int digit1 = (i >= 0) ? num1[i] - '0' : 0;\n int digit2 = (j >= 0) ? num2[j] - '0' : 0;\n int diff = digit1 - digit2 - borrow;\n\n if (diff < 0) {\n diff += 10;\n borrow = 1;\n } else {\n borrow = 0;\n }\n\n result = to_string(diff) + result;\n i--;\n j--;\n }\n\n return result;\n}\n\nstring multiply(string num1, string num2) {\n int n1 = num1.length();\n int n2 = num2.length();\n string result(n1 + n2, '0');\n\n for (int i = n1 - 1; i >= 0; i--) {\n for (int j = n2 - 1; j >= 0; j--) {\n int prod = (num1[i] - '0') * (num2[j] - '0');\n int sum = prod + (result[i + j + 1] - '0');\n result[i + j + 1] = sum % 10 + '0';\n result[i + j] += sum / 10;\n }\n }\n\n size_t startpos = result.find_first_not_of("0");\n if (startpos != string::npos) {\n return result.substr(startpos);\n }\n\n return "0";\n}\n\npair<string, string> divide(string num1, string num2) {\n string quotient = "";\n string remainder = num1;\n int divisor = stoi(num2);\n\n int i = 0;\n while (i < num1.length()) {\n int dividend = stoi(remainder.substr(0, i + 1));\n int quotientDigit = dividend / divisor;\n int remainderDigit = dividend % divisor;\n quotient += to_string(quotientDigit);\n\n if (remainderDigit == 0 && i == num1.length() - 1) {\n remainder = "";\n } else {\n remainder = to_string(remainderDigit) + remainder.substr(i + 1);\n }\n\n i++;\n }\n\n return make_pair(quotient, remainder);\n}\n\nint main() {\n string num1 = "12345678901234567890";\n string num2 = "98765432109876543210";\n\n string sum = add(num1, num2);\n string difference = subtract(num1, num2);\n string product = multiply(num1, num2);\n pair<string, string> quotientAndRemainder = divide(num1, num2);\n\n cout << "Sum: " << sum << endl;\n cout << "Difference: " << difference << endl;\n cout << "Product: " << product << endl;\n cout << "Quotient: " << quotientAndRemainder.first << ", Remainder: " << quotientAndRemainder.second << endl;\n\n return 0;\n}