public static String nameForLong(long name) {
		try {
			if (name <= 0L || name >= 0x5b5b57f8a98a5dd1L) {
				return "invalid_name";
			}
			if (name % 37L == 0L) {
				return "invalid_name";
			}
			int index = 0;
			char characters[] = new char[12];
			while (name != 0L) {
				long l = name;
				name /= 37L;
				characters[11 - index++] = validChars[(int) (l - name * 37L)];
			}
			return new String(characters, 12 - index, index);
		} catch (RuntimeException e) {
			System.out.println("81570, " + name + ", " + (byte) -99 + ", " + e.toString());
		}
		throw new RuntimeException();
	}