public static int longestConsecutive(int[] num) {
		int[]A=num;
		Map<Integer,Integer>seqs=new HashMap<>();
		Set<Integer>s=new HashSet<>();
		int maxl=0;
		for (int a:A) {
			if (s.contains(a))
				continue;
			s.add(a);
			Integer lower=seqs.get(a-1);
			Integer upper=seqs.get(a+1);
			if (lower!=null) {
				seqs.remove(a-1);
			} else 
				lower=a;
			if (upper!=null) {
				seqs.remove(a+1);
			} else 
				upper=a;
			seqs.put(lower,upper);
			seqs.put(upper,lower);
			maxl=Math.max(maxl, upper-lower+1);
		}
		return maxl;
	}