يتم منحك سلسلة من استدعاءات دالة رد الاتصال، يحتوي كل منها على نوعين من الأوامر: ADD وREMOVE، جنبًا إلى جنب مع المعلمات التي تحدد المستطيلات، وQUERY، جنبًا إلى جنب مع المعلمات التي تحدد المستطيل ورقم الفاصلة العائمة.

يأخذ أمر ADD أربعة أعداد صحيحة محاطة بين قوسين، تمثل إحداثيات الزوايا العلوية اليسرى والسفلى اليمنى للمستطيل. يجب أن تضيف وظيفة رد الاتصال هذا المستطيل إلى مجموعة من المستطيلات.

يأخذ الأمر REMOVE نفس تنسيق الأمر ADD ويزيل المستطيل المحدد من المجموعة.

يأخذ الأمر QUERY أربعة أعداد صحيحة تمثل مستطيلاً ورقم الفاصلة العائمة. يجب أن تحسب وظيفة رد الاتصال مجموع مساحات كافة المستطيلات في المجموعة التي تتداخل مع المستطيل المحدد. وينبغي بعد ذلك ضرب هذا المجموع برقم الفاصلة العائمة المقدم.

أنت مكلف بتنفيذ وظيفة رد الاتصال لتنفيذ هذه العمليات وإرجاع النتيجة النهائية.

اكتب دالة `compute_area(rectangles: List[str], querys: List[str]) -> int` التي تأخذ معلمتين:
- قائمة السلاسل `المستطيلات` (1 <= len(rectangles) <= 1000) التي تمثل أوامر ADD وREMOVE ومعلماتها
- قائمة السلاسل `الاستعلامات` (1 <= len(queries) <= 1000) التي تمثل أوامر QUERY ومعلماتها

يجب أن تتعامل وظيفة رد الاتصال مع الأوامر بالترتيب الذي تظهر به في قائمة "المستطيلات" وترجع النتيجة النهائية بعد معالجة جميع "الاستعلامات".

ملحوظة:
- الإحداثيات في معلمات المستطيل هي أعداد صحيحة موجبة تتراوح من 1 إلى 100.
- يتم تمثيل المستطيل بأربعة أعداد صحيحة محاطة بين قوسين مفصولة بفواصل. تمثل الأعداد الصحيحة إحداثيات الزاويتين العلوية اليسرى والسفلية اليمنى بالترتيب (x1، y1، x2، y2)، حيث (x1، y1) هي إحداثيات الزاوية العلوية اليسرى و (x2، y2) هي إحداثيات الزاوية العلوية اليسرى إحداثيات الزاوية اليمنى السفلى.
- قد تكون المساحة المحسوبة رقمًا بفاصلة عائمة، ولكن يجب اقتطاع النتيجة النهائية إلى عدد صحيح.

مثال:
```بيثون
مستطيلات = [
    "إضافة ((14، 48، 98، 26))"،
    "QUERY ((57، 27، 58، 39)، 63.33140377696694، 9)"،
    "إضافة ((99، 72، 71، 27))"،
    "QUERY((23، 45، 44، 100)، 73.42898604393157، 14)"،
    "إضافة ((99، 71، 30، 67))"،
    "QUERY ((83، 16، 41، 83)، 17.71043842471812، 8)"،
    "إضافة ((83، 17، 15، 67))"،
    "QUERY ((26، 40، 75، 20)، 63.40651543806896، 12)"،
    "إزالة ((45، 37، 47، 43))"،
    "QUERY ((100، 88، 1، 5)، 33.904351925689305، 8)"،
    "إزالة ((50، 28، 1، 72))"،
    "QUERY ((100، 34، 36، 34)، 10.242668328439963، 13)"،
    "إزالة ((21، 7، 20، 64))"،
    "استعلام ((18، 82، 61، 54)، 20.616666250047288، 3)"
]

الاستعلامات = [
    "QUERY ((57، 27، 58، 39)، 63.33140377696694، 9)"،
    "QUERY((23، 45، 44، 100)، 73.42898604393157، 14)"،
    "QUERY ((83، 16، 41، 83)، 17.71043842471812، 8)"،
    "QUERY ((26، 40، 75، 20)، 63.40651543806896، 12)"،
    "QUERY ((100، 88، 1، 5)، 33.904351925689305، 8)"،
    "QUERY ((100، 34، 36، 34)، 10.242668328439963، 13)"،
    "استعلام ((18، 82، 61، 54)، 20.616666250047288، 3)"
]

تأكيد منطقة الحساب (المستطيلات، الاستعلامات) == 363
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}