يتم منحك قائمة مرتبطة بشكل فردي حيث تحتوي كل عقدة على قيمة عددية ومرجع إلى العقدة التالية في القائمة. مهمتك هي تنفيذ دالة تأخذ مؤشرين إلى العقدتين، "head" و"other_head"، وإلحاق القائمة المرتبطة بدءًا من "other_head" إلى نهاية القائمة المرتبطة بدءًا من "head". يجب أن تحتوي القائمة المرتبطة النهائية على جميع العقد من "head" متبوعة بجميع العقد من "other_head".

تحتاج إلى تنفيذ الوظيفة التالية:

```بيثون
def append_lists(head: اختياري[عقدة],other_head: اختياري[عقدة]) -> اختياري[عقدة]:
    يمر
```

**مدخل**
- يمثل `head` (1 <= N <= 100) العقدة الرئيسية للقائمة المرتبطة الأولى.
- يمثل `other_head` (0 <= M <= 100) العقدة الرئيسية للقائمة المرتبطة الثانية.

يتم تمثيل كل عقدة في القوائم المرتبطة بالفئة التالية:

```بيثون
عقدة الفئة:
    تعريف __init__(الذات، القيمة: int):
        القيمة الذاتية = القيمة
        self.next = لا شيء
```

**انتاج**
- يجب أن تقوم الوظيفة بإرجاع العقدة الرئيسية للقائمة المرتبطة المعدلة.

**ملحوظة**
- تحتاج إلى تعديل القائمة المرتبطة الأصلية وإرجاع رأس القائمة المعدلة.
- إذا كانت قيمة `head` أو `other_head` هي `None`، فيجب أن تقوم الدالة بإرجاع القائمة المرتبطة الأخرى كما هي.
- يجب أن تحافظ القائمة المرتبطة المعدلة على ترتيب العقد.

**مثال**
```بيثون
الرأس = العقدة (1)
الرأس التالي = العقدة (2)
head.next.next = العقدة(3)

رأس_آخر = العقدة(4)
other_head.next = العقدة (5)
other_head.next.next = العقدة (6)

النتيجة = append_lists(head،other_head)
# يجب أن تحتوي القائمة المرتبطة الآن على العقد التالية: 1 -> 2 -> 3 -> 4 -> 5 -> 6
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}