public static RandomListNode copyRandomList(RandomListNode head) {
		// write your code here
		RandomListNode c=head;
		while (c!=null) {
			RandomListNode t=c.next;
			c.next=new RandomListNode(c.label);
			c.next.next=t;
			c=t;
		}
		c=head;
		while (c!=null) {
			RandomListNode t=c.random;
			if (t!=null) {
				c.next.random=t.next;
			}
			c=c.next.next;
		}
		c=head;
		RandomListNode ch=null;
		while (c!=null) {
			if (ch==null) {
				ch=c.next;
			}
			RandomListNode cn=c.next.next;
			RandomListNode cpy=c.next;
			c.next=cn;
			cpy.next=cn==null?null:cn.next;
			c=cn;
		}
		return ch;
	}