import std.stdio;
import std.algorithm;
import std.string;
import std.range;
import std.array;
import std.conv;
import std.complex;
import std.math;
import std.ascii;
import std.bigint;
import std.container;
import std.typecons;

auto readInts() {
	return array(map!(to!int)(readln().strip().split()));
}
auto readInt() {
	return readInts()[0];
}
auto readLongs() {
	return array(map!(to!long)(readln().strip().split()));
}
auto readLong() {
	return readLongs()[0];
}

const real eps = 1e-10;


void main(){
	auto msp = (){
		auto np = new bool[](400000);
		np[0] = true;
		np[1] = true;
		for(int i; i < np.length; ++i) {
			if((i%7 == 1 || i%7 == 6) && !np[i]) {
				for(int j = 2; j*i < np.length; ++j) {
					np[j*i] = true;
				}
			} else {
				np[i] = true;
			}
		}
		return zip(iota(np.length), np).filter!(a => !a[1]).map!(a => a[0]).array;
	}();
	while(true) {
		auto n = readInt();
		if(n == 1) return;

		writeln(n, ": ", msp.filter!(a => a <= n && n%a == 0).map!(to!string).join(" "));
	}
}