import bisect

def find_target_position(nums, target):
    """تحديد موقع الرقم الهدف أو موقع إدراجه للحفاظ على الترتيب"""
    return bisect.bisect_left(nums, target)

# إدخال القائمة من المستخدم
while True:
    try:
        user_input = input("أدخل قائمة مرتبة من الأعداد الصحيحة الفريدة مفصولة بمسافات: ").strip()
        nums = list(map(int, user_input.split()))
        
        if nums != sorted(nums) or len(nums) != len(set(nums)):
            raise ValueError("يجب إدخال أعداد صحيحة مرتبة وفريدة!")
        
        break
    except ValueError as e:
        print("خطأ:", e)
        print("يرجى إدخال قائمة صالحة.")

# إدخال القيم المستهدفة بشكل متكرر
while True:
    try:
        user_input = input("أدخل رقمًا للبحث عن موقعه (أو اكتب 'خروج' لإنهاء البرنامج): ").strip()
        
        if user_input.lower() == "خروج":
            print("تم إنهاء البرنامج.")
            break
        
        target = int(user_input)
        position = find_target_position(nums, target)
        print(f"الموضع المناسب لـ {target}: {position}")
        
    except ValueError:
        print("خطأ: يجب إدخال رقم صحيح!")
