private static String[] getGrayCode(int n, int bits) {
		String[] names = new String[n];
		for (int i = 0; i < n; i++) {
			names[i] = addLeadingZeros(Integer.toBinaryString((i >> 1) ^ i),bits);

		}
		return names;
	}