Answer:
Explanation:
Using Python as our programming language
code:
def partitionArray(A,k):
flag=0
if not A and k == 1:
return "Yes"
if k > len(A) or len(A)%len(A):
return "No"
flag+=1
cnt = {i:A.count(i) for i in A}
if len(A)//k < max(cnt.values()):
return "No"
flag+=1
if(flag==0):
return "Yes"
k=int(input("k= "))
n=int(input("n= "))
print("A= ")
A=list(map(int,input().split()))[:n]
print(partitionArray(A,k))
Code Screenshot:-
While interoperability and unrestricted connectivity is an important trend in networking, the reality is that many diverse systems with different hardware and software exist. Programming that serves to "glue together" or mediate between two separate and usually already existing programs is known as:
Answer:
Middleware
Explanation:
In today's technology like networking, software development, web development, etc, there is a need for connectivity. The problem at hand is the variation of the tech brands which results in the difference in operating systems, applications, and connectivity protocols. This problem is solved with the introduction of Middleware.
Middleware is the solution to conflicting software applications, interconnectivity between various tech platforms. It promotes cross-platform interactions.
what are the 21St century competencies or skills required in the information society?
Answer:
Communication
Collaboration
ICT literacy
Explanation:
These are some of the skills that are needed in the 21st century to compete and thrive in the information society.
To remain progressive, one needs to have good communication skills. These communication skills can include Active Listening and Passive Listening.
Collaboration is important because you'll have to work with other people as no man is an island, we need someone else so the skill of collaboration is necessary to compete and stay relevant in the information society in the 21st century.
IT literacy is also very important because one needs to have basic computer knowledge such as programming, computer essentials and applications, etc.
Write an interactive program to calculate the volume and surface area of a three-dimensional object.
Answer:
I am writing a Python program:
pi=3.14 #the value of pi is set to 3.14
radius = float(input("Enter the radius of sphere: ")) #prompts user to enter the radius of sphere
surface_area = 4 * pi * radius **2 #computes surface area of sphere
volume = (4.0/3.0) * (pi * radius ** 3) #computes volume of sphere
print("Surface Area of sphere is: ", surface_area) #prints the surface area
print("Volume of sphere is: {:.2f}".format(volume)) #prints the volume
Explanation:
Please see the attachment for the complete interactive code.
The first three lines of print statement in the attached image give a brief description of the program.
Next the program assigns 3.14 as the value of π (pi). Then the program prompts the user to enter the radius. Then it computes the surface area and volume of sphere using the formulas. Then it prints the resultant values of surface area and volume on output screen.
The psuedocode for this program is given below:
PROGRAM SphereVolume
pi=3.14
NUMBER radius, surface_area, volume
INPUT radius
COMPUTE volume = (4/3) * pi* radius ^3
COMPUTE surface_area = 4 * pi * radius ^ 2
OUTPUT volume , surface_area
END
Hello, I am having trouble adding a txt file into a array, so I can pop it off for a postfix problem I have uploaded what I have so far. I need help please
Answer:
#include <stack>
#include<iostream>
#include<fstream> // to read imformation from files
#include<string>
using namespace std;
int main() {
stack<string> data;
ifstream inFile("postfix.txt");
string content;
if (!inFile) {
cout << "Unable to open file" << endl;
exit(1); // terminate with error
}
while (getline(inFile, content)) {
data.push(content);
}
inFile.close();
return 0;
}
Explanation:
You were very close. Use the standard <stack> STL library, and make sure the stack elements are of the same type as what you're trying to add, i.e., std::string.
Determine the median paycheck from the following set:
{$100, $250, $300, $400, $600, $650}
$300
$350
$450
$600
Answer:
My answer to the question is $350.
The middle numbers are $300&$400.
300+400=700/2=350.
Answer:
$350
Explanation:
Which octet of the subnet mask 255.255.255.0 will tell the router the corresponding host ID?The last octetThe first octetThe first and last octetThe middle two octets
Answer:
The last octet
Explanation:
Here in the question, given the sub net mask, we want to know which octet of the subnet mask will tell the router the corresponding host ID.
The correct answer to this is the last octet. It is the last octet that will tell the router the corresponding host ID
Define a function pyramid_volume with parameters base_length, base_width, and pyramid_height, that returns the volume of a pyramid with a rectangular base. Sample output with inputs: 4.5 2.1 3.0
Answer:
def pyramid_volume(base_length,base_width,pyramid_height):
return base_length * base_width * pyramid_height/3
length = float(input("Length: "))
width = float(input("Width: "))
height = float(input("Height: "))
print("{:.2f}".format(pyramid_volume(length,width,height)))
Explanation:
This line declares the function along with the three parameters
def pyramid_volume(base_length,base_width,pyramid_height):
This line returns the volume of the pyramid
return base_length * base_width * pyramid_height/3
The main starts here
The next three lines gets user inputs for length, width and height
length = float(input("Length: "))
width = float(input("Width: "))
height = float(input("Height: "))
This line returns the volume of the pyramid in 2 decimal places
print("{:.2f}".format(pyramid_volume(length,width,height)))
Define a function print_total_inches, with parameters num_feet and num_inches, that prints the total number of inches. Note: There are 12 inches in a foot. Sample output with inputs: 58 Total inches: 68 def print_total_inches (num_feet, hum_inches): 2 str1=12 str2=num_inches 4 print("Total inches:',(num_feet*strl+str2)) 5 print_total_inches (5,8) 6 feet = int(input) 7 inches = int(input) 8 print_total_inches (feet, inches)
I'll pick up your question from here:
Define a function print_total_inches, with parameters num_feet and num_inches, that prints the total number of inches. Note: There are 12 inches in a foot.
Sample output with inputs: 5 8
Total inches: 68
Answer:
The program is as follows:
def print_total_inches(num_feet,num_inches):
print("Total Inches: "+str(12 * num_feet + num_inches))
print_total_inches(5,8)
inches = int(input("Inches: "))
feet = int(input("Feet: "))
print_total_inches(feet,inches)
Explanation:
This line defines the function along with the two parameters
def print_total_inches(num_feet,num_inches):
This line calculates and prints the equivalent number of inches
print("Total Inches: "+str(12 * num_feet + num_inches))
The main starts here:
This line tests with the original arguments from the question
print_total_inches(5,8)
The next two lines prompts user for input (inches and feet)
inches = int(input("Inches: "))
feet = int(input("Feet: "))
This line prints the equivalent number of inches depending on the user input
print_total_inches(feet,inches)
Answer:
Written in Python:
def print_total_inches(num_feet,num_inches):
print("Total inches: "+str(12 * num_feet + num_inches))
feet = int(input())
inches = int(input())
print_total_inches(feet, inches)
Explanation:
Speeding is one of the most prevalent factors contributing to traffic crashes.
A. TRUE
B. FALSE
Answer:
A true
Explanation:
Speeding leads to an increase in the degree of crash severity, possibly resulting in more fatalities or injuries. More damage is caused to the vehicles involved at higher speeds, increasing likelihood vehicle will not be drivable after a crash.
The statement "Speeding is one of the most prevalent factors contributing to traffic crashes" is true.
What is speeding?Speeding causes crashes to be more severe, which could lead to more fatalities or injuries. Higher speeds result in more damage to the involved vehicles, increasing the risk that the vehicle won't be drivable following a collision. There are many accidents increasing because of high speed.
The term "speeding" refers to moving or traveling swiftly. He paid a penalty for speeding. For many American drivers, speeding has become the standard, whether it is going over the posted speed limit, driving too quickly for the road conditions, or racing. Nationwide, speeding contributes to road fatalities.
Therefore, the statement is true.
To learn more about speeding, refer to the link:
https://brainly.com/question/15297960
#SPJ2
Define Proportional spacing fornt.
Answer:
Alphabetic character spacing based on the width of each letter in a font. ... Proportional spacing is commonly used for almost all text. In this encyclopedia, the default text is a proportional typeface, and tables are "monospaced," in which all characters have the same fixed width.
hope this answer helps u
pls mark me as brainlitest .-.
If the data rate is 10 Mbps and the token is 64 bytes long (the 10-Mbps Ethernet minimum packet size), what is the average wait to receive the token on an idle network with 40 stations? (The average number of stations the token must pass through is 40/2 = 20.) Ignore the propagation delay and the gap Ethernet requires between packets.
Answer:
1.024x10^-5
Explanation:
To calculate the transmission delay bytes for the token,
we have the token to be = 64bytes and 10mbps rate.
The transmission delay = 64bytes/10mbps
= 51.2 microseconds
A microsecond is a millionth of a second.
= 5.12 x 10^-5
The question says the average number of stations that the token will pass through is 20. Remember this value is gotten from 40/2
20 x 5.12 x 10^-5
= 0.001024
= 1.024x10^-5
Therefore on an idle network with 40 stations, the average wait is
= 1.024x10^-5
What is resource management in Wireless Communication? Explain its advantages
Answer:
This is a management system in wireless communication that oversees radio resources and crosstalks between two radio transmitters which make use of the same channel.
Explanation:
Radio Resource Management is a management system in wireless communication that oversees radio resources and crosstalks between two radio transmitters which make use of the same channel. Its aim is to effectively manage the radio network infrastructure. Its advantages include;
1. It allows for multi-users communication instead of point-to-point channel capacity.
2. it increases the system spectral efficiency by a high order of magnitude. The introduction of advanced coding and source coding makes this possible.
3. It helps systems that are affected by co-channel interference. An example of such a system is the wireless network used in computers which are characterized by different access points that make use of the same channel frequencies.
Each time we add another bit, what happens to the amount of numbers we can make?
Answer:
When we add another bit, the amount of numbers we can make multiplies by 2. So a two-bit number can make 4 numbers, but a three-bit number can make 8.
The amount of numbers that can be made is multiplied by two for each bit to be added.
The bit is the most basic unit for storing information. Bits can either be represented as either 0 or 1. Data is represented by using this multiple bits.
The amount of numbers that can be gotten from n bits is given as 2ⁿ.
Therefore we can conclude that for each bit added the amount of numbers is multiplied by two (2).
Find more about bit at: https://brainly.com/question/20802846
You are in the process of building a computer for a user in your organization. You have installed the following components into the computer in Support:AMD Phenom II X4 quad core processor8 GB DDR3 memoryOne SATA hard drive with Windows 7 installedYou need to make sure the new components are installed correctly and functioning properly. You also need to install a new SATA CD/DVD drive and make sure the computer boots successfully.Perform tasks in the following order:Identify and connect any components that are not properly connected.Use the PC tools on the shelf to test for components that are not functioning. Replace any bad components with the known good parts on the shelf.Install the required CD/DVD drive in one of the drive bays and connect the power cable from the power supply.
Answer:
i would check all connections from the hard drive and power supply and check your motherboard for any missing sauters and or loose no contact connections
Explanation:
Write a Bash script that searches all .c files in the current directory (and its subdirectories, recursively) for occurrences of the word "foobar". Your search should be case-sensitive (that applies both to filenames and the word "foobar"). Note that an occurrence of "foobar" only counts as a word if it is either at the beginning of the line or preceded by a non-word-constituent character, or, similarly, if it is either at the end of the line or followed by a non-word- constituent character. Word-constituent characters are letters, digits and underscores.
Answer:
grep -R '^foobar'.c > variable && grep -R 'foobar$'.c >> variable
echo $variable | ls -n .
Explanation:
Bash scripting is a language used in unix and linux operating systems to interact and automate processes and manage files and packages in the system. It is an open source scripting language that has locations for several commands like echo, ls, man etc, and globbing characters.
The above statement stores and appends data of a search pattern to an already existing local variable and list them numerically as standard out 'STDOUT'.
Add each element in origList with the corresponding value in offsetAmount. Print each sum followed by a space. Ex: If origList = {40, 50, 60, 70} and offsetAmount = {5, 7, 3, 0}, print:45 57 63 70 #include using namespace std;int main() {const int NUM_VALS = 4;int origList[NUM_VALS];int offsetAmount[NUM_VALS];int i = 0;origList[0] = 40;origList[1] = 50;origList[2] = 60;origList[3] = 70;offsetAmount[0] = 5;offsetAmount[1] = 7;offsetAmount[2] = 3;offsetAmount[3] = 0;// your solution goes here
Answer:
Complete the program with the following code segment
for(int i =0;i<=3;i++)
{
cout<<offsetAmount[i]+origList[i]<<" ";
}
return 0;
}
Explanation:
The following line is an iteration of variable i from 1 to 3; It iterates through elements of origList and offsetAmount
for(int i =0;i<=3;i++){
This adds and prints the corresponding elements of origList and offsetAmount
cout<<offsetAmount[i]+origList[i]<<" ";
} The iteration ends here
Write a CashRegister class that can be used with the RetailItem class that you wrote in Chapter 6's Programming Challenge 4. The CashRegister class should simulate the sale of a retail item. It should have a constructor that accepts a RetailItem object as an argument. The constructor should also accept an integer that represents the quantity of items being purchased. In addition, the class should have the following methods:
• The getSubtotal method should return the subtotal of the sale, which is the quantity multiplied by the price. This method must get the price from the RetailItem object that was passed as an argument to the constructor.
• The getTax method should return the amount of sales tax on the purchase. The sales tax rate is 6 percent of a retail sale.
• The getTotal method should return the total of the sale, which is the subtotal plus the sales tax.
Demonstrate the class in a program that asks the user for the quantity of items being purchased and then displays the sale’s subtotal, amount of sales tax and total.
Answer:
Following are the code to this question:
import java.util.*; //import package for user input
class RetailItem//defining class RetailItem
{
private String desc;//defining String variable
private int unit;//defining integer variable
private double prices;//defining double variable
RetailItem()//defining default Constructor
{
//Constructor body
}
Output:
The Sub Total value: 199.75
The Sales Tax value: 11.985
The Total value: $211.735
Explanation:
In the above code three class "RetailItem, CashRegister, and Main" is defined, in the class "RetailItem", it defines three variable that is "desc, unit, and prices", inside the class "get and set" method and the constructor is defined, that calculates its value.
In the next step, class "CashRegister" is defined, and inside the class parameterized constructor is defined, which uses the get and set method to return its value.
In the next step, the main class is declared, in the main method two-class object is created and calls its method that are "getSubtotal, getTax, and getTotal".
There is some technical error that's why full code can't be added so, please find the attached file of code.
Briefly describe the importance of thoroughly testing a macro before deployment. What precautions might you take to ensure consistency across platforms for end users?
Answer:
Answered below
Explanation:
A macro or macroinstruction is a programmable pattern which translates a sequence of inputs into output. It is a rule that specifies how a certain input sequence is mapped to a replacement output sequence. Macros makes tasks less repetitive by representing complicated keystrokes, mouse clicks and commands.
By thoroughly testing a macro before deployment, you are able to observe the flow of the macro and also see the result of each action that occurs. This helps to isolate any action that causes an error or produces unwanted results and enable it to be consistent across end user platforms.
Which wireless device connects multiple laptops, tablets, phones, and other mobile devices in a corporate environment?
Answer:
Bluetooth or a wifi router or a gateway
Explanation:
Write a program that asks the user to enter a series of numbers separated by commas. Here is an example of valid input: 7,9,10,2,18,6 The program should calculate and display the sum of all the numbers.
Answer:
Here is the JAVA program. Let me know if you need the program in some other programming language.
import java.util.Scanner; // used for taking input from user
public class Main{ //Main class
public static void main(String[] args) {//start of main() function body
Scanner scan = new Scanner(System.in); // creates a Scanner type object
String input; // stores input series
int sum = 0; //stores the sum of the series
System.out.println("Enter a series of numbers separated by commas: "); //prompts user to enter a series of numbers separated by comma
input = scan.nextLine(); //reads entire input series
String[] numbers = input.split("[, ]"); //breaks the input series based on delimiter i.e. comma and stores the split sub strings (numbers) into the numbers array
for (int i = 0; i < numbers.length; i++) { //loops through each element of numbers array until the length of the numbers reaches
sum += Integer.parseInt(numbers[i]); } // parses the each String element of numbers array as a signed decimal integer object and takes the sum of all the integer objects
System.out.println("Sum of all the numbers: " + sum); } } //displays the sum of all the numbers
Explanation:
The program prompts the user to enter a series separated by commas.
Then split() method is used to split or break the series of numbers which are in String form, into sub strings based on comma (,) . This means the series is split into separate numbers. These are stored in numbers[] array.
Next the for loop iterate through each sub string i.e. each number of the series, converts each String type decimal number to integer using Integer.parseInt and computes the sum of all these integers. The last print statement displays the sum of all numbers in series.
If the input is 7,9,10,2,18,6
Then the output is: 7+9+10+2+18+6
sum = 52
The program and its output is attached.
The intention of this problem is to analyze a user input word, and display the letter that it starts with (book → B).
a. Create a function prototype for a function that accepts a word less than 25 characters long, and return a character.
b. Write the function definition for this function that evaluates the input word and returns the letter that the word starts with in capital letter (if it’s in small letters).
c. Create a function call in the main function, and use the function output to print the following message based on the input from the user. (Remember to have a command prompt in the main function requesting the user to enter any word.)
Computer starts with the letter C.
Summer starts with the letter S.
d. Make sure to consider the case where a naughty user enters characters other than the alphabet to form a word and display a relevant message.
%sb$ is not a word.
$500 is not a word.
e. Have the program process words until it encounters a word beginning with the character
Answer:
Here is the C++ program:
#include<iostream> // to use input output functions
using namespace std; //to identify objects like cin cout
void StartChar(string str) { // function that takes a word string as parameter and returns the first letter of that word in capital
int i;
char c;
do //start of do while loop
{
for (int i = 0; i < str.length(); i++) { //iterates through each character of the word str
if(str.length()>25){ //checks if the length of input word is greater than 25
cout<<"limit exceeded"; } //displays this message if a word is more than 25 characters long
c = str.at(i); // returns the character at position i
if (! ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) ) ) { //checks if the input word is contains characters other than the alphabet
cout<<str<<" is not a word!"<<endl; break;} //displays this message if user enters characters other than the alphabet
if (i == 0) { //check the first character of the input word
str[i]=toupper(str[i]); //converts the first character of the input word to uppercase
cout<<str<<" starts with letter "<<str[i]<<endl; } // prints the letter that the word starts with in capital letter
} cout<<"Enter a word: "; //prompts user to enter a word
cin>>str; //reads input word from user
}while(str!="#"); } //keeps prompting user to enter a word until the user enters #
int main() //start of the main() function body
{ string str; //declares a variable to hold a word
cout<<"Enter a word: "; //prompts user to enter a word
cin>>str; //reads input word from user
StartChar(str); } //calls function passing the word to it
Explanation:
The program prompts the user to enter a word and then calls StartChar(str) method by passing the word to the function.
The function StartChar() takes that word string as argument.
do while loop starts. The for loop inside do while loop iterates through each character of the word string.
First if condition checks if the length of the input word is greater than 25 using length() method which returns the length of the str. For example user inputs "aaaaaaaaaaaaaaaaaaaaaaaaaaa". Then the message limit exceeded is printed on the screen if this if condition evaluates to true.
second if condition checks if the user enters anything except the alphabet character to form a word. For example user $500. If this condition evaluates to true then the message $500 is not a word! is printed on the screen.
Third if condition checks if the first character of input word, convert that character to capital using toupper() method and prints the first letter of the str word in capital. For example if input word is "Computer" then this prints the message: Computer starts with the letter C in the output screen.
The program keeps prompting the user to enter the word until the user enters a hash # to end the program.
The output of the program is attached.
The program to check the highEst of n numbercan be done by ......,..
Answer: Given an array of numbers, arrange them in a way that yields the largest value. For example, if the given numbers are {54, 546, 548, 60}, the arrangement 6054854654 gives the largest value. And if the given numbers are {1, 34, 3, 98, 9, 76, 45, 4}, then the arrangement 998764543431 gives the largest value.
Explanation: If you need more help follow me on istagram at dr.darrien
-thank you
EAPOL operates at the network layers and makes use of an IEEE 802 LAN, such as Ethernet or Wi-Fi, at the link level.
A. True
B. False
Write a method that accepts a String object as an argument and returns a copy of the string with the first character of each sentence capitalized. For instance, if the argument is "hello. my name is Joe. what is your name?" the method should return the string "Hello. My name is Joe. What is your name?" Demonstrate the method in a program that asks the user to input a string and then passes it to the method. The modified string should be displayed on the screen.
Answer:
The programming language is not stated; However, the program written in C++ is as follows: (See Attachment)
#include<iostream>
using namespace std;
string capt(string result)
{
result[0] = toupper(result[0]);
for(int i =0;i<result.length();i++){
if(result[i]=='.' || result[i]=='?' ||result[i]=='!') {
if(result[i+1]==' ') {
result[i+2] = toupper(result[i+2]);
}
if(result[i+2]==' ') {
result[i+3] = toupper(result[i+3]);
}
} }
return result;
}
int main(){
string sentence;
getline(cin,sentence);
cout<<capt(sentence);
return 0;
}
Explanation:
The method to capitalize first letters of string starts here
string capt(string result){
This line capitalizes the first letter of the sentence
result[0] = toupper(result[0]);
This iteration iterates through each letter of the input sentence
for(int i =0;i<result.length();i++){
This checks if the current character is a period (.), a question mark (?) or an exclamation mark (!)
if(result[i]=='.' || result[i]=='?' ||result[i]=='!') {
if(result[i+1]==' '){ ->This condition checks if the sentence is single spaced
result[i+2] = toupper(result[i+2]);
-> If both conditions are satisfied, a sentence is detected and the first letter is capitalized
}
if(result[i+2]==' '){ ->This condition checks if the sentence is double spaced
result[i+3] = toupper(result[i+3]);
-> If both conditions are satisfied, a sentence is detected and the first letter is capitalized
}
}
} The iteration ends here
return result; ->The new string is returned here.
}
The main method starts here
int main(){
This declares a string variable named sentence
string sentence;
This gets the user input
getline(cin,sentence);
This passes the input string to the method defined above
cout<<capt(sentence);
return 0;
}
Where can you find detailed information about your registration, classes, finances, and other personal details? This is also the portal where you can check your class schedule, pay your bill, view available courses, check your final grades, easily order books, etc. A. UC ONE Self-Service Center B. Webmail C. UC Box Account D. ILearn
Answer:
A. UC ONE Self-Service Center
Explanation:
The UC ONE Self-Service Center is an online platform where one can get detailed information about registration, classes, finances, and other personal details. This is also the portal where one can check class schedule, bill payment, viewing available courses, checking final grades, book ordering, etc.
it gives students all the convenience required for effective learning experience.
The UC ONE platform is a platform found in the portal of University of the Cumberland.
In the three As of security, which part pertains to describing what the user account does or doesn't have access to
Answer:
Authorization
Explanation:
list three components of a computer system
How does the teacher know you have completed your assignment in Google Classroom?
Answer:
When students have completed the assignment, they simply click the Mark As Done button to let the teacher know they have finished.
Explanation: Note: The teacher does NOT receive an alert or email notification when work has been turned in, or marked as done.
g Write a method that accepts a String object as an argument and displays its contents backward. For instance, if the string argument is "gravity" the method should display -"ytivarg". Demonstrate the method in a program that asks the user to input a string and then passes it to the method.
Answer:
The program written in C++ is as follows; (See Explanation Section for explanation)
#include <iostream>
using namespace std;
void revstring(string word)
{
string stringreverse = "";
for(int i = word.length() - 1; i>=0; i--)
{
stringreverse+=word[i];
}
cout<<stringreverse;
}
int main()
{
string user_input;
cout << "Enter a string: ";
getline (std::cin, user_input);
getstring(user_input);
return 0;
}
Explanation:
The method starts here
void getstring(string word)
{
This line initializes a string variable to an empty string
string stringreverse = "";
This iteration iterates through the character of the user input from the last to the first
for(int i = word.length() - 1; i>=0; i--) {
stringreverse+=word[i];
}
This line prints the reversed string
cout<<stringreverse;
}
The main method starts here
int main()
{
This line declares a string variable for user input
string user_input;
This line prompts the user for input
cout << "Enter a string: ";
This line gets user input
getline (std::cin, user_input);
This line passes the input string to the method
revstring(user_input);
return 0;
}
Agile Software Development is based on Select one: a. Iterative Development b. Both Incremental and Iterative Development c. Incremental Development d. Linear Development
Answer:
b. Both incremental and iterative development.
Explanation:
Agile software development is based on both incremental and iterative development. It is an iterative method to software delivery in which at the start of a project, software are built incrementally rather than completing and delivering them at once as they near completion.
Incremental development means that various components of the system are developed at different rates and are joined together upon confirmation of completion, while Iterative development means that the team intends to check again components that makes the system with a view to revising and improving on them for optimal performance.
Agile as an approach to software development lay emphasis on incremental delivery(developing system parts at different time), team work, continuous planning and learning, hence encourages rapid and flexible response to change.