Interview Experience | ZOHO | Software Developer
Software DeveloperZoho | Off-Campus | August 3rd, 2024 | On-Site | 2024 Batch
fresherZoho Interview experience 2024 | Fresher | Off-campus | Role- Software developer
Software developerZoho Test and Interview experience 2024 | Role- Software developer
software developerZoho L3 Coding Round June 15 2024 || Design Snake Game
2 more experiences below
Summary
I recently interviewed at Zoho for a Software Developer role, which involved several technical rounds including aptitude, coding, and a final technical interview. Unfortunately, I was rejected after the last round.
Full Experience
I went through several rounds for a Software Developer position at Zoho.
Round 1: Aptitude & Programming
This round had 10 aptitude and 10 programming questions. The difficulty was generally easy to intermediate, and I found them solvable within the one-hour time limit.Round 2: Coding Questions
This was an intensive coding round lasting 3-4 hours, featuring 5-7 questions. I recall being asked about Chocolate Distribution, Diagonal Traversal, Group Anagrams, Meeting Room Allocation, and Word Pattern. Typically, solving 4 or 5 problems is sufficient to progress. The difficulty ranged from intermediate to hard.Round 3: Low-Level Design / Coding
Zoho usually focuses on Low-Level Design here, but in my case, they presented two hard-level matrix-based coding problems. I managed to solve both and successfully advanced to the next stage. This round took me about 2-3 hours.Round 4: Technical Interview
The final technical interview started with my self-introduction. I was then asked about the 3Sum problem, including its time complexity, how to traverse a 2D array without recursion (requiring logic implementation), and how to check if a Linked List is circular (again, writing the logic). We also discussed BFS vs DFS, both with and without recursion. Finally, there were several questions related to my projects, mainly focusing on code aspects. I felt I wasn't fully prepared for this round.Interview Questions (9)
Given N number of chocolates, where each chocolate has a different price/value, and M number of students, distribute M chocolates to M students such that the difference between the maximum and minimum price/value of chocolates given to students is minimum. Each student gets only one chocolate.
Given a matrix or a binary tree, traverse its elements in a diagonal order.
Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Given an array of meeting time intervals intervals where intervals[i] = [start_i, end_i], return the minimum number of conference rooms required.
Given a pattern and a string s, find if s follows the same pattern. Here 'follows' means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s.
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. The solution also requires discussion of its time complexity.
Explain and write logic for traversing a 2D array without using recursion. This usually implies an iterative approach like row-major or column-major order.
Explain and write logic to determine if a given singly linked list contains a cycle (is circular).
Compare Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms. Discuss their implementation details, including approaches with and without recursion, and their respective use cases and complexities.
Summary
I interviewed at Zoho for a fresher role in Tenkasi, which involved multiple challenging rounds including MCQs, coding, and a machine coding assignment. Despite implementing significant parts, I was ultimately rejected after the machine coding round due to an error in the tax calculation logic.
Full Experience
I recently interviewed at Zoho for a fresher position in Tenkasi, Tamil Nadu, India. The application form was circulated among college students, and the eligibility included batches from 2020 to 2024, which meant a diverse group of applicants, including many experienced professionals from service-based companies, leading to tough competition.
Over 2000 people appeared for the interview, waiting in the parking lot. I learned from security that the passing mark for the first round was based on the overall scores of all applicants, specifically 10.5 marks and above.
Round 1: MCQs
This round, lasting 75 minutes, consisted of 10 Aptitude questions and 10 C Program Output questions. The aptitude section ranged from medium to difficult, with only one easy question. There was a slight issue with timing, as the timer started for the people in front, causing those at the back to receive papers 5-10 minutes late. Fortunately, the test was conducted in batches, with around 300 people per floor, across two floors and three batches (9:00 AM, 12:30 PM, 3:30 PM).
After a good and tasty lunch, which was only provided for those who passed the first round, we proceeded to Round 2.
Round 2: Coding
This round, conducted in batches, had different questions for each batch: either two medium questions or four easy questions. The official time allocated was 1 hour, though some people received extra time. This round started around 4 PM and ended by 6 PM, leaving me mentally drained.
Batch 1 Questions:
- Question 1: Write a program to find the second largest element in an array.
- Question 2: (Details from image unclear, but part of the batch).
Batch 2 Questions:
- Question 1: Best Time to Buy and Sell Stock
- Question 2: Write a program to find the union of two sorted arrays.
- Question 3: Find the sum of all elements in an array.
- Question 4: Write a program to check if a string is a palindrome.
To qualify for the next round, candidates needed to complete more than one question in Batch 1 or all questions in Batch 2. By the time this round finished, it was dark, and many parents were waiting for their children. It was disheartening to see the failed students and their parents comforting them.
Round 3 (Renamed L2 Advanced): Coding
This round was held the next day and was about 2+ hours long. It involved two challenging problems:
- Sudoku: I was given an N x N grid and all necessary values to solve a Sudoku puzzle. Feeding the input for a 9x9 test case alone could take hours.
- MaximumFinder: Given an integer list and an integer N, I had to find N elements in the list that yielded the maximum sum, with specific constraints:
- If an even element (other than 2) was included in the sum, the immediate next element also had to be included.
- If a prime number (other than 1) was included, the immediate next element had to be skipped.
- The combination forming the maximum sum had to be printed while maintaining insertion order.
Completing either one of these problems would qualify me for the next round. Invigilators were serious; they checked code implementation, and performed undo operations to verify against plagiarism. Getting caught cheating meant being blacklisted for life. They tested my code rigorously with 10+ test cases.
Actual Round 3 (Renamed L3): Machine Coding - Tax Calculator Console App
By this stage, there were only 2-3 other freshers and 4-5 experienced candidates left. I spoke with some of the veterans who had attended many Zoho interviews, even in other states, aiming to transition from service-based to product-based companies.
This round was difficult. Initially, the invigilators were unclear on tax calculation rules, which caused some confusion. After some time, they clarified the requirements and extended the round, which lasted from 2:15 PM to 5:30 PM. Part 1 involved implementing an Admin dashboard, a Tax Payer dashboard, and storing tax slabs for different income brackets. The required functionalities included:
- Admin functionalities
- Tax Payer functionalities
- A Main Menu
- Registering new users/admins
- Creating/updating existing tax slabs
- Checking tax calculation for users
- All details (credentials, tax slabs) had to be stored in non-volatile storage to persist between program runs.
The system was tested rigorously with various invalid inputs (e.g., string instead of income amount), which all needed to be handled gracefully. They didn't check for programming practices or design patterns, only for correct output.
I implemented major features like password encryption using the hashcode of the TaxPayer object and a singleton pattern for Tax Slabs to maintain a single instance for both tax payer and admin. However, I got nervous and messed up the tax calculation part with unwanted calculations. An invigilator reviewed my code, pointed out the missing tax calculation, and asked me to leave.
I later learned that there were two more parts to implement, possibly involving insurance-related features.
Rounds 4 & 5: Technical and HR
I did not proceed to these rounds and do not have information about them.
I would suggest that there should be an even playground, by calling anyone batch. It seems they were hiring for Zoho Books product, and rounds will be very tough based on the teams. And finally came to know that they selected 1 person, don't know who is that "Chosen One". Many parents were waiting for their children to come with good news, but it was hard to see their face filled with regrets. They should have at least filtered people based on Online Assessment, which they won't because they hate to use third party products.
That's all I can remember. It took me two weeks to recover from the depression. I hope this helps others. I will definitely give it another try; I am not even close to giving up. The quote that helped me get back to normal life is: "People’s lives don’t end when they die, it ends when they lose faith."
Interview Questions (8)
Write a program to find the second largest element in a given array.
You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.
Write a program to find the union of two sorted arrays.
Find the sum of all elements in a given array.
Write a program to check if a given string is a palindrome.
Implement a program to solve an N x N Sudoku puzzle. The program will be provided with the size N and all necessary initial values for the grid.
Given an integer list input and an integer N, find N elements in the list that make the maximum sum, with the following constraints:
- If you consider an even element in the sum (other than 2), you should include the immediate next element in the sum.
- If you consider a prime number (other than 1), you should skip the next element.
- You should print the combination that makes the maximum sum while maintaining insertion order.
Implement a console application with an Admin dashboard and a Tax Payer dashboard. Functionalities required include: Admin (register new user/admin, create/update tax slabs), Tax Payer (check tax calculation for user), Main Menu. All details (credentials, tax slabs) must be stored in non-volatile storage to persist between program runs. The application should handle various invalid inputs robustly. Part 1 involved implementing the Admin dashboard, Tax Payer dashboard, and tax slab storage.
Summary
I participated in an off-campus interview drive for a Software Developer role at Zoho in 2024. The process included a written test, two coding rounds, and a system design round, but I was unfortunately rejected after the third round.
Full Experience
My interview process for the Software Developer role at Zoho began with Level 1, a Written Test focusing on Aptitude & Programming. This round consisted of basic Java code output MCQs and general aptitude one-word answers.
After about 20 days, I received a call for the interview rounds.
Round 1 (Coding round): This round featured three coding questions. The first was on generating Pascal's Triangle given a number of rows. The second involved compressing a string like 'aabbbcdddd' to 'a2b3cd4'. The final question was about finding the shortest path between two points in a 2D matrix, restricted to up, down, left, and right movements, and returning -1 if no path was found.
Round 2 (Coding round): This round also had two coding problems. The first was to find the missing number in an array, which was considered Medium difficulty due to some underlying relation between the numbers in the array. The second question was the classic Merge Intervals problem, where I had to merge all overlapping intervals in a given array.
Round 3 (System Design): In this round, I was tasked with designing an asset management system for an organization's system administrator team. The system needed to manage software licenses purchased from vendors, track installations on employee devices (allowing multiple devices per employee), and handle license expiry dates. Key requirements included generating various reports for a given date range, such as the number of installations of specific software, software installed per device/employee, amount spent per software/employee/vendor, installations from a vendor, and identifying devices with expired software.
Unfortunately, I was eliminated after Round 3 and did not proceed to the subsequent F2F Interview (Round 4).
Interview Questions (6)
Find the missing number in an array. Difficulty - Medium, because there was some relation between numbers of array.
Develop an asset management system for system administrator team of an organization. The system administrator team will purchase software licenses and install the software in their employee devices. The software will be purchased from a vendor, licensed per device installed and it will have a license expiry date. The organization provides the option for employees to hold multiple devices.
The developed system should be able to generate the below reports for a given date range:
- No.of installations of a particular software
- No.of software installed in a device
- No.of software installed for an employee
- Amount spent for a software
- Amount spent for an employee
- Amount spent on a vendor
- No.of installations of software from a vendor
- Devices that have an expired software
Summary
I interviewed for a Software Developer role at Zoho in 2024. The process involved a written test, two coding rounds, and a system design round, after which my application was rejected.
Full Experience
My interview journey for the Software Developer role at Zoho in 2024 started with a Level 1 Written Test. This round consisted of basic Java code output MCQs and aptitude questions requiring one-word answers. After about 20 days, I received a call for the interview rounds.
Round 1 (Coding Round): This round included three programming questions:
1. Pascal's Triangle: I was asked to return the first numRows of Pascal's triangle.
2. Compress String: Given an input string like 'aabbbcdddd', I had to produce an output like 'a2b3cd4'.
3. Shortest Path in 2D Matrix: The problem involved finding the shortest distance between two points in a 2D matrix, traversing through limited cells and only allowing movement up, down, left, and right. If a path was found, I needed to output the distance; otherwise, -1.
Round 2 (Coding Round): This round also had two coding problems:
1. Find Missing Number in an Array: This was described as a medium-difficulty problem because there was a specific relation between the numbers in the array that needed to be leveraged.
2. Merge Intervals: I needed to merge all overlapping intervals in a given array of intervals intervals[i] = [starti, endi] and return an array of non-overlapping intervals.
Round 3 (System Design): This was the final round for me. I was tasked with designing an asset management system for an organization's system administrator team. The system needed to manage software licenses, installations on employee devices (which could hold multiple devices), and track purchases from vendors with expiry dates. The core requirement was to generate several reports for a given date range, such as the number of installations of particular software, software installed per device/employee, amount spent per software/employee/vendor, installations from a vendor, and devices with expired software.
Unfortunately, I was rejected after Round 3 and did not proceed to Round 4 (F2F Interview), so I have no information about it.
Interview Questions (6)
Find the missing number in an array. Difficulty - Medium, because there was some relation between numbers of array.
Develop an asset management system for a system administrator team of an organization. The system administrator team will purchase software licenses and install the software in their employee devices. The software will be purchased from a vendor, licensed per device installed and it will have a license expiry date. The organization provides the option for employees to hold multiple devices.
The developed system should be able to generate the below reports for a given date range:
- No.of installations of a particular software
- No.of software installed in a device
- No.of software installed for an employee
- Amount spent for a software
- Amount spent for an employee
- Amount spent on a vendor
- No.of installations of software from a vendor
- Devices that have an expired software
Summary
I recently had my third round coding interview with Zoho, where I was tasked with designing a Snake Game.
Full Experience
Hi everyone, I recently had my third round interview with Zoho, and I wanted to share my experience and the question I encountered. I believe this could be helpful for those preparing for similar interviews. It was a challenging but fun problem that tested my understanding of data structures and algorithms.
Interview Questions (1)
You are tasked with designing a Snake game for a device with a screen size specified by the user (height x width). Here are the specifics: The snake starts at the top left corner (0, 0) with a length of 1 unit. You are given an array called food where food[i] = (ri, ci) represents the row and column position of a piece of food. The snake eats the food to grow and increase the score by 1. Food pieces appear sequentially on the screen, meaning the next piece of food will only appear after the current piece has been eaten. It is guaranteed that food will not appear on a block currently occupied by the snake. The game ends if the snake goes out of bounds (hits a wall) or if the snake's head collides with any part of its body. You need to implement the Snake Game based on these rules. Additional Details: Time to complete: 3 hours.
Preparation Tips
For future candidates, I'd recommend practicing implementing various game simulations. Focus on edge cases like boundary conditions and self-collision detection. Optimizing for efficiency, especially in updating the snake’s position and checking collisions, is also key.
Summary
I underwent a comprehensive four-round interview process for the Software Development Engineer (Full Time) role at Zoho Corporation, which included aptitude, multiple coding rounds, system design, and a final technical interview. Despite reaching the last round, I was ultimately rejected.
Full Experience
Round 1: Aptitude & C Programming (90 mins)
Approximately 3000 candidates appeared for the recruitment process. The first round had a duration of 90 minutes and consisted of 25 fill-in-the-blank questions (not MCQs). This included 10 C programming snippets where I had to predict the output, and 15 quantitative and logical aptitude questions.
Round 2: Programming Questions (2.5 hrs)
Only 60 members were shortlisted for this round. There were 5 programming questions, and we were allowed to use only C, C++, or Java (Python and JS were not permitted). The questions were evaluated one by one, and we were not allowed to solve them in our own preferred order.
Round 3: Advanced Coding Round (1.5 hrs)
Only 9 candidates were shortlisted for this advanced coding round. I was asked to design a Call Taxi Application using an Object-Oriented Programming approach with appropriate Data Structures. The problem involved several constraints and requirements.
Round 4: Technical Interview (45 mins)
Only 4 candidates were shortlisted for the final technical interview. I was given two puzzles to test my logical thinking. Questions from my resume were asked, and I also had to explain my approach to some of the problems from Round 2. Additionally, I was asked to hand-write a small program.
Unfortunately, I was rejected in this round. Only 2 candidates were selected and proceeded with the HR interview. While I was disappointed, I consoled myself that I made it to the top 4 out of 3000 initial applicants.
Interview Questions (6)
Design an M x N matrix and fill the matrix using the Fibonacci sequence in spiral order.
INPUT:
M=3, N=4
OUTPUT:
0 1 1 2
34 55 89 3
21 13 8 5
Different Hidden Test cases were given and tested.
Find if the given 2 Strings are Anagram of each other
1) INPUT:
tests
esstt
OUTPUT:
true
2)INPUT:
skyblue
kysllueb
OUTPUT:
false
You are given a postive integer N and a 1-indexed Array intercity.
There are N number of cities from 1 to N having Bus Terminus in each cities.
You have intercity bus terminus in the cities which are in the array intercity.
Find the Maximum distance a person has to travel to other city without intercity terminus.
Input:
N=5
intercity={1,5}
Output:
2
Explanation:
The nearest intercity distance from City 1 is intercity 1. So distance is 0
The nearest intercity distance from City 2 is intercity 1. So distance is 1
The nearest intercity distance from City 3 is intercity 1 or intercity 5. So distance is 2
The nearest intercity distance from City 4 is intercity 5. So distance is 1
The nearest intercity distance from City 5 is intercity 5. So distance is 0.
Among these 5 values 2 holds the maximum distance. Hence 2 is output
Map the Leadership according to Hierarchy
Indirect reports should come under hierarchy
(eg: If B is reporting to A and C is reporting to B then C is indirectly reporting to A)
1) Input:
A->A
B->A
C->B
D->B
E->D
F->E
OUTPUT:
A->BCDEF
B->CDEF
C->
D->EF
E->F
F->
2) INPUT:
A->B
B->C
C->D
D->E
E->F
OUTPUT:
A->
B->A
C->BA
D->CBA
E->DCBA
F->EDCBA
Find the index of the Largest sub array which has equal amount of 0's and 1's and if there is no such array return -1
Input format: The size of input array,array elements
1)Input:
6
0 1 1 0 1 0
Output:
0 to 5
2)INPUT:
7
0 0 1 0 1 0 1
OUTPUT:
1 to 6
3) INPUT:
3
1 1 1
OUTPUT:
-1
You are a developer at a company that is planning to provide doorstep drop for the employees after work. Write a program for this bearing in the mind following:
1) You can assume the home addresses of the employees as A,B,C,D etc. The office location can be stored as X. You are free to use any distance to each of these locations from office.
2) Assume there are sufficient cabs to service all the employees at any given time.
3) Cabs can be of different types (normal,AC,luxury) and they are allocated based on the designation of the employees. Their charges also vary depending on the type of cab.
4)Your software should be able to generate reports for any time period (total cost per month, total cost per employee, total cost for a given employee in a given period, trips done by a given employee etc...)
Many additional constraints were also given such as locations when we solved the problem.
Summary
I interviewed for the SDE Intern role at Zoho in June 2021. The interview process consisted of three rounds: an initial assessment with aptitude and C output questions, a comprehensive coding round including a hard LeetCode problem, and a final round focused on an OOPs-based problem.
Full Experience
Round 1
This round had 10 aptitude questions and 10 questions related to C outputs. A proctor was present on a video call to ensure no cheating.
Aptitude Questions:
I was presented with 10 quantitative aptitude problems covering various topics such as elections, probability, time and distance, ages, mixtures, partnerships, work and time, mensuration, boats and streams, and profit and loss.
C Output Questions:
I then had to predict the exact output for 10 C/C++ code snippets, or identify if there was a compilation error as specified.
Round 2 (2 hours)
After four days, I received a call for the second round. This was a complete coding round, featuring algorithmic questions. There were 5 questions, ranging from easy to medium to hard. I distinctly remember the fifth question was taken directly from LeetCode, specifically the "Max Points on a Line" problem.
Round 3 (2 hours)
On the same day as Round 2, I was called for Round 3. This round involved a single, long OOPs-based problem that I had to solve.
Interview Questions (21)
In an election between two candidates, one got 55% of total valid votes and 20% of the total votes casted were invalid. If total votes were 7500, then what is the number of valid votes that the other person got?
Answer format : "x"
A bag contains 3 white, 4 red and 5 blue balls. Three balls are drawn at random from the bag. The probability that all of them are blue, is
Answer format : "x/y"
Two stations A and B are 150 km apart from each other. One train starts from A at 6 AM at speed of 30 km/hr and travels towards B. Another train starts from station B at 7 AM at speed 20 km/hr towards A. At what time they will meet?
Answer format : "hh:mm am/pm"
Ramesh was 5 times older than Sourav 10 years ago. 5 years from now, Ramesh will be twice older than Sourav. What was the ratio of the age of Ramesh and Sourav 5 years ago?
Answer format : "x:y"
A vessel contains 120 liters mixture of milk and water and water is 25% of milk in the vessel. If 12 liters of water added in the vessel, then find the ratio of water to milk in the resulting mixture?
Answer format : "x:y"
Kapil and Pooja started a business. Kapil invested Rs. 80,000 and after 8 month he invests Rs. 40,000 more. Pooja invested Rs. 1,00,000 and withdraws Rs. 20,000 after 4 months. Pooja is an active partner, so she receives Rs. 2700 per month as salary. If profit share of Kapil after 1 year is Rs. 1,40,000. Then find profit share of Pooja (excluding salary) at the end of the year?
Answer format : "32,50,000"
3 men & 4 women finish 25% of work in 4 days while 8 men & 15 women can finish the whole work in 5 days. In how many days will 13 women finish it?
Answer format : "x"
If ratio of length, breadth and height of a cuboid is 1:2:3 and its area is 88 sq.cm then find the volume of a cube having edge length equal to the breadth of the cuboid.
Answer format : "x"
Speed of a boat is 5 km per hour in still water and the speed of the stream is 3 km per hour. If the boat takes 3 hours to go to a place and come back, the distance of the place is?
Answer format : "x.y"
If an article is sold at a gain of 6% instead of a loss of 6%, the seller gets Rs. 6 more. What is the cost price of the article?
Answer format : "x"
What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
int i, j, var = 'A';
for (i = 5; i >= 1; i--) {
for (j = 0; j < i; j++)
printf("%c ", (var + j));
printf("\n");
}
return 0;
}
Output of the program
#include <stdio.h>
void f(char**);
int main()
{
char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" };
f(argv);
return 0;
}
void f(char **p)
{
char *t;
t = (p += sizeof(int))[-1];
printf("%sn", t);
}
Output of following program?
#include<stdio.h>
void dynamic(int s, ...)
{
printf("%d ", s);
}
int main()
{
dynamic(2, 4, 6, 8);
dynamic(3, 6, 9);
return 0;
}
Predict the output?
#include <stdio.h>
int main()
{
void demo();
void (*fun)();
fun = demo;
(*fun)();
fun();
return 0;
}
void demo()
{
printf("program ");
}
What is the output of following program?
# include <stdio.h>
int main()
{
char str1[] = "ZohoInterview";
char str2[] = {'t', 'e', 's', 't', 't', 'e', 's', 't', '1'};
int n1 = sizeof(str1)/sizeof(str1[0]);
int n2 = sizeof(str2)/sizeof(str2[0]);
printf("n1 = %d, n2 = %d", n1, n2);
return 0;
}
Predict the Output
#include<stdio.h>
int main()
{
char str[] = "Aptitude";
printf("%s %s %sn", &str[5], &5[str], str+5);
printf("%c %c %cn", *(str+6), str[6], 6[str]);
return 0;
}
Predict the output of the below program:
#include <stdio.h>
#define SIZE(arr) sizeof(arr) / sizeof(*arr);
void fun(int* arr, int n)
{
int i;
*arr += *(arr + n - 1) += 10;
}
void printArr(int* arr, int n)
{
int i;
for(i = 0; i < n; ++i)
printf("%d ", arr[i]);
}
int main()
{
int arr[] = {10, 20, 30};
int size = SIZE(arr);
fun(arr, size);
printArr(arr, size);
return 0;
}
Print the output
#include<stdio.h>
struct st
{
int x;
struct st next;
};
int main()
{
struct st temp;
temp.x = 10;
temp.next = temp;
printf("%d", temp.next.x);
return 0;
}
Note: This code defines a struct where one of its members is an instance of the struct itself, leading to an infinitely recursive type definition. This typically results in a compiler error.
Identify the output of the following
union test
{
int x;
char arr[8];
int y;
};
int main()
{
printf("%d", sizeof(union test));
return 0;
}
Output of the program
#include <stdio.h>
char *c[] = {"GeksQuiz", "MCQ", "TEST", "QUIZ"};
char **cp[] = {c+3, c+2, c+1, c};
char ***cpp = cp;
int main()
{
printf("%s ", **++cpp);
printf("%s ", *--*++cpp+3);
printf("%s ", *cpp[-2]+3);
printf("%s ", cpp[-1][-1]+1);
return 0;
}