public List<String> getWords(String s, Set<String> dict)
	{
		if(s==null||s.equals("")) return null;
		List<String> rt = new ArrayList<String>();
		Iterator<String> it  = dict.iterator();
		while(it.hasNext())
		{
			String d = it.next();
			if(isStart(s, d))
			{
				List<String> after = getWords(s.substring(d.length()), dict);
				if(after==null) {
					rt.add(d);
				}
				else if(after.size()>0){
					for( int j = 0;j<after.size();j++)
					{
						rt.add( d+" "+ after.get(j));
					}
				}
			
			}
		}
		
		return rt;
	}