	import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
 
public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	}
} import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	}
} Main public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	} Main {
		// TODO 自動生成されたコンストラクター・スタブ
	} public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	} main {
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	} Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> (); mapD new TreeMap<Integer,Integer> () Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n n result result d d dnum dnum sum; sum int index index flag flag key0; key0 n = sc.nextInt() n sc.nextInt() sc.nextInt sc for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			} index=0; index=0 index 0 index<n index n index++ index++ index {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			} {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			} d = sc.nextInt() d sc.nextInt() sc.nextInt sc if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				} mapD.containsKey(d) mapD.containsKey mapD d {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				} dnum=mapD.get(d) dnum mapD.get(d) mapD.get mapD d mapD.put(d,dnum+1) mapD.put mapD d dnum+1 dnum 1 {
					mapD.put(d,1);
				} mapD.put(d,1) mapD.put mapD d 1 sc.close() sc.close sc result=0 result 0 sum=0 sum 0 flag=0 flag 0 key0=0 key0 0 for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			} Integer key mapD.keySet() mapD.keySet mapD {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			} {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			} dnum=mapD.get(key) dnum mapD.get(key) mapD.get mapD key if(flag==1) {
					result=key-key0;
					break;
				} flag==1 flag 1 {
					result=key-key0;
					break;
				} result=key-key0 result key-key0 key key0 break; sum=sum+dnum sum sum+dnum sum dnum if(sum*2==n ) {
					flag=1; 
				} sum*2==n sum*2 sum 2 n {
					flag=1; 
				} flag=1 flag 1 if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				} sum*2>n sum*2 sum 2 n {
					flag=1; 
					result=0;
					break;
				} flag=1 flag 1 result=0 result 0 break; key0=key key0 key System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	}
} public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	}
} Main
	import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
 
public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapD = new TreeMap<Integer,Integer> ();
 
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			int n,result,d,dnum,sum;
			int index,flag,key0;
			
			n = sc.nextInt();
			for(index=0;index<n;index++) {
				d = sc.nextInt();
				if(mapD.containsKey(d)) {
					dnum=mapD.get(d);
					mapD.put(d,dnum+1);
				}
				else {
					mapD.put(d,1);
				}
			}
			sc.close();
			result=0;
			sum=0;
			flag=0;
			key0=0;
			for(Integer key:mapD.keySet()) {
				dnum=mapD.get(key);
				if(flag==1) {
					result=key-key0;
					break;
				}
				sum=sum+dnum;
				if(sum*2==n ) {
					flag=1; 
				}
				if(sum*2>n ) {
					flag=1; 
					result=0;
					break;
				}
				key0=key;
			}

			System.out.println(result);
			
 
			// 出力
 
	}
}