- import java.util.*; 
-   
- class node { 
- 	int data; 
- 	node next; 
- 	node prev; 
-   
- 	static void insert(node start, int data) 
- 	{ 
-     	node newNode = new node(); 
-     	newNode.data = data; 
-   
-     	if(start==null) { 
-       		newNode.next=newNode.prev=null; 
-       		start = newNode; 
-     	} else { 
-     		node t = start; 
-     		while(t.next!=null) 
-         	t = t.next; 
-     		newNode.prev = t; 
-     		t.next = newNode; 
-     		newNode.next=null; 
-     	} 
- 	} 
-   
- 	static void delete(node start, int data) { 
-     	node t = start; 
-     	try { 
-     		while(t.data!=data) 
-       			t = t.next; 
-     	t.prev.next = t.next; 
-     	t.next.prev = t.prev; 
- 			System- . out- . println("Data NOT found!");
 
-     	} 
- 	} 
-   
- 	static void traverse(node start) { 
-   		node t = start; 
-     	while(t!=null) { 
-     		t=t.next; 
-     	} 
- 	} 
- } 
-   
- public class Main { 
-   
- 	public static void-  main (String[]-  args ) {
 
-   		Scanner sc  = new-  Scanner (System- . in);
-   
- 		node start=null; 
-   
-     	int ch=0; 
-     	while(ch!=4) 
-     	{ 
-     		System- . out- . println("\n1. Insert Node");
 
-     		System- . out- . println("2. Delete Node");
 
-     		System- . out- . println("3. Print nodes");
 
-     		System- . out- . println("4. Exit!");
 
-     		System- . out- . print("Enter Your Choice: ");
 
-   
-     		ch = sc.nextInt(); 
-   
-     		switch(ch) 
-     		{ 
-       			case 1:	System- . out- . print("\nEnter the value of the node to insert: ");
 
-         				int val = sc.nextInt(); 
-                 	   	node.insert(start, val); 
-                 	   	System- . out- . println("DEBUG	:	Start val: "+- start. data);
 
-         				break; 
-         		case 2:	System- . out- . print("\nEnter the value of the node you want to delete: ");
 
-         				node.delete(start, sc.nextInt()); 
-     	    			break; 
- 	       		case 3: node.traverse(start); 
-        					break; 
-        			case 4:	System- . out- . println("\nBye!!");
 
-        					break; 
-         		default:	System- . out- . println("\nWrong value: Please try again!");
 
-     		} 
-     	}     
- 	}  
- } 
				aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3Mgbm9kZSB7CglpbnQgZGF0YTsKCW5vZGUgbmV4dDsKCW5vZGUgcHJldjsKICAKCXN0YXRpYyB2b2lkIGluc2VydChub2RlIHN0YXJ0LCBpbnQgZGF0YSkKCXsKICAgIAlub2RlIG5ld05vZGUgPSBuZXcgbm9kZSgpOwogICAgCW5ld05vZGUuZGF0YSA9IGRhdGE7CiAgICAKICAgIAlpZihzdGFydD09bnVsbCkgewogICAgICAJCW5ld05vZGUubmV4dD1uZXdOb2RlLnByZXY9bnVsbDsKICAgICAgCQlzdGFydCA9IG5ld05vZGU7CiAgICAJfSBlbHNlIHsKICAgIAkJbm9kZSB0ID0gc3RhcnQ7CiAgICAJCXdoaWxlKHQubmV4dCE9bnVsbCkKICAgICAgICAJdCA9IHQubmV4dDsKICAgIAkJbmV3Tm9kZS5wcmV2ID0gdDsKICAgIAkJdC5uZXh0ID0gbmV3Tm9kZTsKICAgIAkJbmV3Tm9kZS5uZXh0PW51bGw7CiAgICAJfQoJfQogIAoJc3RhdGljIHZvaWQgZGVsZXRlKG5vZGUgc3RhcnQsIGludCBkYXRhKSB7CiAgICAJbm9kZSB0ID0gc3RhcnQ7CiAgICAJdHJ5IHsKICAgIAkJd2hpbGUodC5kYXRhIT1kYXRhKQogICAgICAJCQl0ID0gdC5uZXh0OwogICAgCXQucHJldi5uZXh0ID0gdC5uZXh0OwogICAgCXQubmV4dC5wcmV2ID0gdC5wcmV2OwogICAgCX0gY2F0Y2ggKE51bGxQb2ludGVyRXhjZXB0aW9uIGUpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJEYXRhIE5PVCBmb3VuZCEiKTsgICAgCiAgICAJfQoJfQogIAoJc3RhdGljIHZvaWQgdHJhdmVyc2Uobm9kZSBzdGFydCkgewogIAkJbm9kZSB0ID0gc3RhcnQ7CiAgICAJd2hpbGUodCE9bnVsbCkgewogICAgCQlTeXN0ZW0ub3V0LnByaW50bG4odC5kYXRhKTsKICAgIAkJdD10Lm5leHQ7CiAgICAJfQoJfQp9CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgCQlTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAJCgkJbm9kZSBzdGFydD1udWxsOwogICAgCiAgICAJaW50IGNoPTA7CiAgICAJd2hpbGUoY2ghPTQpCiAgICAJewogICAgCQlTeXN0ZW0ub3V0LnByaW50bG4oIlxuMS4gSW5zZXJ0IE5vZGUiKTsKICAgIAkJU3lzdGVtLm91dC5wcmludGxuKCIyLiBEZWxldGUgTm9kZSIpOwogICAgCQlTeXN0ZW0ub3V0LnByaW50bG4oIjMuIFByaW50IG5vZGVzIik7CiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbigiNC4gRXhpdCEiKTsKICAgIAkJU3lzdGVtLm91dC5wcmludCgiRW50ZXIgWW91ciBDaG9pY2U6ICIpOwogICAgICAKICAgIAkJY2ggPSBzYy5uZXh0SW50KCk7CiAgICAgIAogICAgCQlzd2l0Y2goY2gpCiAgICAJCXsKICAgICAgCQkJY2FzZSAxOglTeXN0ZW0ub3V0LnByaW50KCJcbkVudGVyIHRoZSB2YWx1ZSBvZiB0aGUgbm9kZSB0byBpbnNlcnQ6ICIpOwogICAgICAgIAkJCQlpbnQgdmFsID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAgICAgCSAgIAlub2RlLmluc2VydChzdGFydCwgdmFsKTsKICAgICAgICAgICAgICAgIAkgICAJU3lzdGVtLm91dC5wcmludGxuKCJERUJVRwk6CVN0YXJ0IHZhbDogIitzdGFydC5kYXRhKTsKICAgICAgICAJCQkJYnJlYWs7CiAgICAgICAgCQljYXNlIDI6CVN5c3RlbS5vdXQucHJpbnQoIlxuRW50ZXIgdGhlIHZhbHVlIG9mIHRoZSBub2RlIHlvdSB3YW50IHRvIGRlbGV0ZTogIik7CiAgICAgICAgCQkJCW5vZGUuZGVsZXRlKHN0YXJ0LCBzYy5uZXh0SW50KCkpOwogICAgCSAgICAJCQlicmVhazsKCSAgICAgICAJCWNhc2UgMzogbm9kZS50cmF2ZXJzZShzdGFydCk7CiAgICAgICAJCQkJCWJyZWFrOwogICAgICAgCQkJY2FzZSA0OglTeXN0ZW0ub3V0LnByaW50bG4oIlxuQnllISEiKTsKICAgICAgIAkJCQkJYnJlYWs7CiAgICAgICAgCQlkZWZhdWx0OglTeXN0ZW0ub3V0LnByaW50bG4oIlxuV3JvbmcgdmFsdWU6IFBsZWFzZSB0cnkgYWdhaW4hIik7CiAgICAJCX0KICAgIAl9ICAgIAoJfSAKfQ==