input: from typing import List
  
  def largest_set_size_after_removal(nums1: List[int], nums2: List[int]) -> int:
      """
      You are provided with two integer arrays, nums1 and nums2, each having an even length n.
  
      The task is to remove n / 2 elements from nums1 and n / 2 elements from nums2. After performing the removals, combine the remaining elements of both nums1 and nums2 into a set s.
  
      Return the maximum size that the set s can achieve.
  
      Examples:
      >>> nums1 = [1,2,1,2], nums2 = [1,1,1,1]
      2
      >>> nums1 = [1,2,3,4,5,6], nums2 = [2,3,2,3,2,3]
      5
      >>> nums1 = [1,1,2,2,3,3], nums2 = [4,4,5,5,6,6]
      6
  
      Constraints:
      n == nums1.length == nums2.length
      1 <= n <= 2 * 10^4
      n is even.
      1 <= nums1[i], nums2[i] <= 10^9
      """
output:     
      n = len(nums1)
      half_n = n // 2
      
      remaining_nums1 = set(nums1[:half_n])
      remaining_nums2 = set(nums2[:half_n])
      
      final_set = remaining_nums1.union(remaining_nums2)
      
      return len(final_set)
  