int numberOfDivisors(HashMap<Long,HashSet<Long>> map,long number){
		HashSet<Long> newSet=new HashSet<Long>();
		
		for(long i=2;i<=number/2;i++){
			if(number%i==0){
				if(!map.containsKey(i)){
					numberOfDivisors(map,i);
				}
				if(!map.containsKey(number/i)){
					numberOfDivisors(map,number/i);
				}
				HashSet<Long> set1=map.get(i);
				HashSet<Long> set2=map.get(number/i);
				
				for(Long i1:set1){
					for(Long i2:set2){
						newSet.add(i1*i2);
					}
				}
				newSet.addAll(set1);
				newSet.addAll(set2);
				break;
			}
		}
		
		newSet.add((long)1);
		newSet.add((long)number);
		map.put(number,newSet);
		return newSet.size();
	}